diff --git a/annotated.html b/annotated.html index f0f48f9e..790dfa84 100644 --- a/annotated.html +++ b/annotated.html @@ -39,9 +39,10 @@
  1. Namespaces
  2. Classes
  3. +
  4. Version: HEAD
    1. HEAD
    2. v3.4.0
    3. v3.3.0
    4. v3.2.0
    5. v3.1.0
    6. v3.0.1
    7. v3.0.0
    8. v2.5.0
    9. v2.4.0
-
    +
    1. diff --git a/classtoml_1_1array.html b/classtoml_1_1array.html index 66e75839..428b38c3 100644 --- a/classtoml_1_1array.html +++ b/classtoml_1_1array.html @@ -39,9 +39,10 @@
      1. Namespaces
      2. Classes
      3. +
      4. Version: HEAD
        1. HEAD
        2. v3.4.0
        3. v3.3.0
        4. v3.2.0
        5. v3.1.0
        6. v3.0.1
        7. v3.0.0
        8. v2.5.0
        9. v2.4.0
      -
        +
        1. diff --git a/classtoml_1_1json__formatter.html b/classtoml_1_1json__formatter.html index e2313e71..8798c6ff 100644 --- a/classtoml_1_1json__formatter.html +++ b/classtoml_1_1json__formatter.html @@ -39,9 +39,10 @@
          1. Namespaces
          2. Classes
          3. +
          4. Version: HEAD
            1. HEAD
            2. v3.4.0
            3. v3.3.0
            4. v3.2.0
            5. v3.1.0
            6. v3.0.1
            7. v3.0.0
            8. v2.5.0
            9. v2.4.0
          -
            +
            1. diff --git a/classtoml_1_1key.html b/classtoml_1_1key.html index c2af4c0c..2e394eaf 100644 --- a/classtoml_1_1key.html +++ b/classtoml_1_1key.html @@ -39,9 +39,10 @@
              1. Namespaces
              2. Classes
              3. +
              4. Version: HEAD
                1. HEAD
                2. v3.4.0
                3. v3.3.0
                4. v3.2.0
                5. v3.1.0
                6. v3.0.1
                7. v3.0.0
                8. v2.5.0
                9. v2.4.0
              -
                +
                1. diff --git a/classtoml_1_1node.html b/classtoml_1_1node.html index 4a7dd958..e7be0642 100644 --- a/classtoml_1_1node.html +++ b/classtoml_1_1node.html @@ -39,9 +39,10 @@
                  1. Namespaces
                  2. Classes
                  3. +
                  4. Version: HEAD
                    1. HEAD
                    2. v3.4.0
                    3. v3.3.0
                    4. v3.2.0
                    5. v3.1.0
                    6. v3.0.1
                    7. v3.0.0
                    8. v2.5.0
                    9. v2.4.0
                  -
                    +
                    1. diff --git a/classtoml_1_1node__view.html b/classtoml_1_1node__view.html index a595a994..2a8879c3 100644 --- a/classtoml_1_1node__view.html +++ b/classtoml_1_1node__view.html @@ -39,9 +39,10 @@
                      1. Namespaces
                      2. Classes
                      3. +
                      4. Version: HEAD
                        1. HEAD
                        2. v3.4.0
                        3. v3.3.0
                        4. v3.2.0
                        5. v3.1.0
                        6. v3.0.1
                        7. v3.0.0
                        8. v2.5.0
                        9. v2.4.0
                      -
                        +
                        1. diff --git a/classtoml_1_1parse__error.html b/classtoml_1_1parse__error.html index 21b58525..1eab2d6b 100644 --- a/classtoml_1_1parse__error.html +++ b/classtoml_1_1parse__error.html @@ -39,9 +39,10 @@
                          1. Namespaces
                          2. Classes
                          3. +
                          4. Version: HEAD
                            1. HEAD
                            2. v3.4.0
                            3. v3.3.0
                            4. v3.2.0
                            5. v3.1.0
                            6. v3.0.1
                            7. v3.0.0
                            8. v2.5.0
                            9. v2.4.0
                          -
                            +
                            1. diff --git a/classtoml_1_1parse__result.html b/classtoml_1_1parse__result.html index 73426985..0c2d3c0e 100644 --- a/classtoml_1_1parse__result.html +++ b/classtoml_1_1parse__result.html @@ -39,9 +39,10 @@
                              1. Namespaces
                              2. Classes
                              3. +
                              4. Version: HEAD
                                1. HEAD
                                2. v3.4.0
                                3. v3.3.0
                                4. v3.2.0
                                5. v3.1.0
                                6. v3.0.1
                                7. v3.0.0
                                8. v2.5.0
                                9. v2.4.0
                              -
                                +
                                1. diff --git a/classtoml_1_1path.html b/classtoml_1_1path.html index 4b0d8701..2a3b6a57 100644 --- a/classtoml_1_1path.html +++ b/classtoml_1_1path.html @@ -39,9 +39,10 @@
                                  1. Namespaces
                                  2. Classes
                                  3. +
                                  4. Version: HEAD
                                    1. HEAD
                                    2. v3.4.0
                                    3. v3.3.0
                                    4. v3.2.0
                                    5. v3.1.0
                                    6. v3.0.1
                                    7. v3.0.0
                                    8. v2.5.0
                                    9. v2.4.0
                                  -
                                    +
                                    1. diff --git a/classtoml_1_1path__component.html b/classtoml_1_1path__component.html index 1b04a209..510ae2b2 100644 --- a/classtoml_1_1path__component.html +++ b/classtoml_1_1path__component.html @@ -39,9 +39,10 @@
                                      1. Namespaces
                                      2. Classes
                                      3. +
                                      4. Version: HEAD
                                        1. HEAD
                                        2. v3.4.0
                                        3. v3.3.0
                                        4. v3.2.0
                                        5. v3.1.0
                                        6. v3.0.1
                                        7. v3.0.0
                                        8. v2.5.0
                                        9. v2.4.0
                                      -
                                        +
                                        1. diff --git a/classtoml_1_1table.html b/classtoml_1_1table.html index fe012ac5..f9c57dc2 100644 --- a/classtoml_1_1table.html +++ b/classtoml_1_1table.html @@ -39,9 +39,10 @@
                                          1. Namespaces
                                          2. Classes
                                          3. +
                                          4. Version: HEAD
                                            1. HEAD
                                            2. v3.4.0
                                            3. v3.3.0
                                            4. v3.2.0
                                            5. v3.1.0
                                            6. v3.0.1
                                            7. v3.0.0
                                            8. v2.5.0
                                            9. v2.4.0
                                          -
                                            +
                                            1. diff --git a/classtoml_1_1toml__formatter.html b/classtoml_1_1toml__formatter.html index 6fc24700..35abc112 100644 --- a/classtoml_1_1toml__formatter.html +++ b/classtoml_1_1toml__formatter.html @@ -39,9 +39,10 @@
                                              1. Namespaces
                                              2. Classes
                                              3. +
                                              4. Version: HEAD
                                                1. HEAD
                                                2. v3.4.0
                                                3. v3.3.0
                                                4. v3.2.0
                                                5. v3.1.0
                                                6. v3.0.1
                                                7. v3.0.0
                                                8. v2.5.0
                                                9. v2.4.0
                                              -
                                                +
                                                1. diff --git a/classtoml_1_1value.html b/classtoml_1_1value.html index 7425fbb1..257a9d16 100644 --- a/classtoml_1_1value.html +++ b/classtoml_1_1value.html @@ -39,9 +39,10 @@
                                                  1. Namespaces
                                                  2. Classes
                                                  3. +
                                                  4. Version: HEAD
                                                    1. HEAD
                                                    2. v3.4.0
                                                    3. v3.3.0
                                                    4. v3.2.0
                                                    5. v3.1.0
                                                    6. v3.0.1
                                                    7. v3.0.0
                                                    8. v2.5.0
                                                    9. v2.4.0
                                                  -
                                                    +
                                                    1. diff --git a/classtoml_1_1yaml__formatter.html b/classtoml_1_1yaml__formatter.html index 4e6f386d..2fa04c93 100644 --- a/classtoml_1_1yaml__formatter.html +++ b/classtoml_1_1yaml__formatter.html @@ -39,9 +39,10 @@
                                                      1. Namespaces
                                                      2. Classes
                                                      3. +
                                                      4. Version: HEAD
                                                        1. HEAD
                                                        2. v3.4.0
                                                        3. v3.3.0
                                                        4. v3.2.0
                                                        5. v3.1.0
                                                        6. v3.0.1
                                                        7. v3.0.0
                                                        8. v2.5.0
                                                        9. v2.4.0
                                                      -
                                                        +
                                                        1. diff --git a/concepts.html b/concepts.html index f283eb68..5d6b4422 100644 --- a/concepts.html +++ b/concepts.html @@ -39,9 +39,10 @@
                                                          1. Namespaces
                                                          2. Classes
                                                          3. +
                                                          4. Version: HEAD
                                                            1. HEAD
                                                            2. v3.4.0
                                                            3. v3.3.0
                                                            4. v3.2.0
                                                            5. v3.1.0
                                                            6. v3.0.1
                                                            7. v3.0.0
                                                            8. v2.5.0
                                                            9. v2.4.0
                                                          -
                                                            +
                                                            1. diff --git a/files.html b/files.html index 1eb4bc66..8754e44e 100644 --- a/files.html +++ b/files.html @@ -39,9 +39,10 @@
                                                              1. Namespaces
                                                              2. Classes
                                                              3. +
                                                              4. Version: HEAD
                                                                1. HEAD
                                                                2. v3.4.0
                                                                3. v3.3.0
                                                                4. v3.2.0
                                                                5. v3.1.0
                                                                6. v3.0.1
                                                                7. v3.0.0
                                                                8. v2.5.0
                                                                9. v2.4.0
                                                              -
                                                                +
                                                                1. diff --git a/group__configuration.html b/group__configuration.html index 53ade860..c035fc8e 100644 --- a/group__configuration.html +++ b/group__configuration.html @@ -39,9 +39,10 @@
                                                                  1. Namespaces
                                                                  2. Classes
                                                                  3. +
                                                                  4. Version: HEAD
                                                                    1. HEAD
                                                                    2. v3.4.0
                                                                    3. v3.3.0
                                                                    4. v3.2.0
                                                                    5. v3.1.0
                                                                    6. v3.0.1
                                                                    7. v3.0.0
                                                                    8. v2.5.0
                                                                    9. v2.4.0
                                                                  -
                                                                    +
                                                                    1. diff --git a/index.html b/index.html index c2fc1678..ce618d89 100644 --- a/index.html +++ b/index.html @@ -39,9 +39,10 @@
                                                                      1. Namespaces
                                                                      2. Classes
                                                                      3. +
                                                                      4. Version: HEAD
                                                                        1. HEAD
                                                                        2. v3.4.0
                                                                        3. v3.3.0
                                                                        4. v3.2.0
                                                                        5. v3.1.0
                                                                        6. v3.0.1
                                                                        7. v3.0.0
                                                                        8. v2.5.0
                                                                        9. v2.4.0
                                                                      -
                                                                        +
                                                                        1. diff --git a/modules.html b/modules.html index 0c799475..c0361116 100644 --- a/modules.html +++ b/modules.html @@ -39,9 +39,10 @@
                                                                          1. Namespaces
                                                                          2. Classes
                                                                          3. +
                                                                          4. Version: HEAD
                                                                            1. HEAD
                                                                            2. v3.4.0
                                                                            3. v3.3.0
                                                                            4. v3.2.0
                                                                            5. v3.1.0
                                                                            6. v3.0.1
                                                                            7. v3.0.0
                                                                            8. v2.5.0
                                                                            9. v2.4.0
                                                                          -
                                                                            +
                                                                            1. diff --git a/namespaces.html b/namespaces.html index bee66fed..81338d8d 100644 --- a/namespaces.html +++ b/namespaces.html @@ -39,9 +39,10 @@
                                                                              1. Namespaces
                                                                              2. Classes
                                                                              3. +
                                                                              4. Version: HEAD
                                                                                1. HEAD
                                                                                2. v3.4.0
                                                                                3. v3.3.0
                                                                                4. v3.2.0
                                                                                5. v3.1.0
                                                                                6. v3.0.1
                                                                                7. v3.0.0
                                                                                8. v2.5.0
                                                                                9. v2.4.0
                                                                              -
                                                                                +
                                                                                1. diff --git a/namespacetoml.html b/namespacetoml.html index af4995b0..fe13e791 100644 --- a/namespacetoml.html +++ b/namespacetoml.html @@ -39,9 +39,10 @@
                                                                                  1. Namespaces
                                                                                  2. Classes
                                                                                  3. +
                                                                                  4. Version: HEAD
                                                                                    1. HEAD
                                                                                    2. v3.4.0
                                                                                    3. v3.3.0
                                                                                    4. v3.2.0
                                                                                    5. v3.1.0
                                                                                    6. v3.0.1
                                                                                    7. v3.0.0
                                                                                    8. v2.5.0
                                                                                    9. v2.4.0
                                                                                  -
                                                                                    +
                                                                                    1. diff --git a/namespacetoml_1_1literals.html b/namespacetoml_1_1literals.html index 16c99049..25127804 100644 --- a/namespacetoml_1_1literals.html +++ b/namespacetoml_1_1literals.html @@ -39,9 +39,10 @@
                                                                                      1. Namespaces
                                                                                      2. Classes
                                                                                      3. +
                                                                                      4. Version: HEAD
                                                                                        1. HEAD
                                                                                        2. v3.4.0
                                                                                        3. v3.3.0
                                                                                        4. v3.2.0
                                                                                        5. v3.1.0
                                                                                        6. v3.0.1
                                                                                        7. v3.0.0
                                                                                        8. v2.5.0
                                                                                        9. v2.4.0
                                                                                      -
                                                                                        +
                                                                                        1. diff --git a/pages.html b/pages.html index e999d379..f5280fcd 100644 --- a/pages.html +++ b/pages.html @@ -39,9 +39,10 @@
                                                                                          1. Namespaces
                                                                                          2. Classes
                                                                                          3. +
                                                                                          4. Version: HEAD
                                                                                            1. HEAD
                                                                                            2. v3.4.0
                                                                                            3. v3.3.0
                                                                                            4. v3.2.0
                                                                                            5. v3.1.0
                                                                                            6. v3.0.1
                                                                                            7. v3.0.0
                                                                                            8. v2.5.0
                                                                                            9. v2.4.0
                                                                                          -
                                                                                            +
                                                                                            1. diff --git a/poxy_changelog.html b/poxy_changelog.html index 3033db4f..1e446b13 100644 --- a/poxy_changelog.html +++ b/poxy_changelog.html @@ -39,9 +39,10 @@
                                                                                              1. Namespaces
                                                                                              2. Classes
                                                                                              3. +
                                                                                              4. Version: HEAD
                                                                                                1. HEAD
                                                                                                2. v3.4.0
                                                                                                3. v3.3.0
                                                                                                4. v3.2.0
                                                                                                5. v3.1.0
                                                                                                6. v3.0.1
                                                                                                7. v3.0.0
                                                                                                8. v2.5.0
                                                                                                9. v2.4.0
                                                                                              -
                                                                                                +
                                                                                                1. diff --git a/structtoml_1_1date.html b/structtoml_1_1date.html index 12b73795..ed296dfb 100644 --- a/structtoml_1_1date.html +++ b/structtoml_1_1date.html @@ -39,9 +39,10 @@
                                                                                                  1. Namespaces
                                                                                                  2. Classes
                                                                                                  3. +
                                                                                                  4. Version: HEAD
                                                                                                    1. HEAD
                                                                                                    2. v3.4.0
                                                                                                    3. v3.3.0
                                                                                                    4. v3.2.0
                                                                                                    5. v3.1.0
                                                                                                    6. v3.0.1
                                                                                                    7. v3.0.0
                                                                                                    8. v2.5.0
                                                                                                    9. v2.4.0
                                                                                                  -
                                                                                                    +
                                                                                                    1. diff --git a/structtoml_1_1date__time.html b/structtoml_1_1date__time.html index 29ec2e64..05077541 100644 --- a/structtoml_1_1date__time.html +++ b/structtoml_1_1date__time.html @@ -39,9 +39,10 @@
                                                                                                      1. Namespaces
                                                                                                      2. Classes
                                                                                                      3. +
                                                                                                      4. Version: HEAD
                                                                                                        1. HEAD
                                                                                                        2. v3.4.0
                                                                                                        3. v3.3.0
                                                                                                        4. v3.2.0
                                                                                                        5. v3.1.0
                                                                                                        6. v3.0.1
                                                                                                        7. v3.0.0
                                                                                                        8. v2.5.0
                                                                                                        9. v2.4.0
                                                                                                      -
                                                                                                        +
                                                                                                        1. diff --git a/structtoml_1_1inserter.html b/structtoml_1_1inserter.html index 0ec61114..c6430f4a 100644 --- a/structtoml_1_1inserter.html +++ b/structtoml_1_1inserter.html @@ -39,9 +39,10 @@
                                                                                                          1. Namespaces
                                                                                                          2. Classes
                                                                                                          3. +
                                                                                                          4. Version: HEAD
                                                                                                            1. HEAD
                                                                                                            2. v3.4.0
                                                                                                            3. v3.3.0
                                                                                                            4. v3.2.0
                                                                                                            5. v3.1.0
                                                                                                            6. v3.0.1
                                                                                                            7. v3.0.0
                                                                                                            8. v2.5.0
                                                                                                            9. v2.4.0
                                                                                                          -
                                                                                                            +
                                                                                                            1. diff --git a/structtoml_1_1source__position.html b/structtoml_1_1source__position.html index f942968c..50d12806 100644 --- a/structtoml_1_1source__position.html +++ b/structtoml_1_1source__position.html @@ -39,9 +39,10 @@
                                                                                                              1. Namespaces
                                                                                                              2. Classes
                                                                                                              3. +
                                                                                                              4. Version: HEAD
                                                                                                                1. HEAD
                                                                                                                2. v3.4.0
                                                                                                                3. v3.3.0
                                                                                                                4. v3.2.0
                                                                                                                5. v3.1.0
                                                                                                                6. v3.0.1
                                                                                                                7. v3.0.0
                                                                                                                8. v2.5.0
                                                                                                                9. v2.4.0
                                                                                                              -
                                                                                                                +
                                                                                                                1. diff --git a/structtoml_1_1source__region.html b/structtoml_1_1source__region.html index e7a10d0f..76eecb67 100644 --- a/structtoml_1_1source__region.html +++ b/structtoml_1_1source__region.html @@ -39,9 +39,10 @@
                                                                                                                  1. Namespaces
                                                                                                                  2. Classes
                                                                                                                  3. +
                                                                                                                  4. Version: HEAD
                                                                                                                    1. HEAD
                                                                                                                    2. v3.4.0
                                                                                                                    3. v3.3.0
                                                                                                                    4. v3.2.0
                                                                                                                    5. v3.1.0
                                                                                                                    6. v3.0.1
                                                                                                                    7. v3.0.0
                                                                                                                    8. v2.5.0
                                                                                                                    9. v2.4.0
                                                                                                                  -
                                                                                                                    +
                                                                                                                    1. diff --git a/structtoml_1_1time.html b/structtoml_1_1time.html index f7e059f2..2fdac022 100644 --- a/structtoml_1_1time.html +++ b/structtoml_1_1time.html @@ -39,9 +39,10 @@
                                                                                                                      1. Namespaces
                                                                                                                      2. Classes
                                                                                                                      3. +
                                                                                                                      4. Version: HEAD
                                                                                                                        1. HEAD
                                                                                                                        2. v3.4.0
                                                                                                                        3. v3.3.0
                                                                                                                        4. v3.2.0
                                                                                                                        5. v3.1.0
                                                                                                                        6. v3.0.1
                                                                                                                        7. v3.0.0
                                                                                                                        8. v2.5.0
                                                                                                                        9. v2.4.0
                                                                                                                      -
                                                                                                                        +
                                                                                                                        1. diff --git a/structtoml_1_1time__offset.html b/structtoml_1_1time__offset.html index 2d6172a0..5111ab81 100644 --- a/structtoml_1_1time__offset.html +++ b/structtoml_1_1time__offset.html @@ -39,9 +39,10 @@
                                                                                                                          1. Namespaces
                                                                                                                          2. Classes
                                                                                                                          3. +
                                                                                                                          4. Version: HEAD
                                                                                                                            1. HEAD
                                                                                                                            2. v3.4.0
                                                                                                                            3. v3.3.0
                                                                                                                            4. v3.2.0
                                                                                                                            5. v3.1.0
                                                                                                                            6. v3.0.1
                                                                                                                            7. v3.0.0
                                                                                                                            8. v2.5.0
                                                                                                                            9. v2.4.0
                                                                                                                          -
                                                                                                                            +
                                                                                                                            1. diff --git a/v2.4.0/annotated.html b/v2.4.0/annotated.html new file mode 100644 index 00000000..b365d60e --- /dev/null +++ b/v2.4.0/annotated.html @@ -0,0 +1,158 @@ + + + + toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Classes

                                                                                                                              +
                                                                                                                                +
                                                                                                                              • + namespace toml The root namespace for all toml++ functions and types. +
                                                                                                                                  +
                                                                                                                                • class array final A TOML array.
                                                                                                                                • +
                                                                                                                                • struct date A local date.
                                                                                                                                • +
                                                                                                                                • struct date_time A date-time.
                                                                                                                                • +
                                                                                                                                • class default_formatter final A wrapper for printing TOML objects out to a stream as formatted TOML.
                                                                                                                                • +
                                                                                                                                • struct inserter Helper class for suppressing move-construction in single-argument array constructors.
                                                                                                                                • +
                                                                                                                                • class json_formatter final A wrapper for printing TOML objects out to a stream as formatted JSON.
                                                                                                                                • +
                                                                                                                                • class node A TOML node.
                                                                                                                                • +
                                                                                                                                • class node_view A view of a node.
                                                                                                                                • +
                                                                                                                                • class parse_error final An error generated when parsing fails.
                                                                                                                                • +
                                                                                                                                • class parse_result The result of a parsing operation.
                                                                                                                                • +
                                                                                                                                • struct source_position A source document line-and-column pair.
                                                                                                                                • +
                                                                                                                                • struct source_region A source document region.
                                                                                                                                • +
                                                                                                                                • class table final A TOML table.
                                                                                                                                • +
                                                                                                                                • struct time A local time-of-day.
                                                                                                                                • +
                                                                                                                                • struct time_offset A timezone offset.
                                                                                                                                • +
                                                                                                                                • class value final A TOML value.
                                                                                                                                • +
                                                                                                                                +
                                                                                                                              • +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.4.0/badge-C++20.svg b/v2.4.0/badge-C++20.svg new file mode 100644 index 00000000..92e9684c --- /dev/null +++ b/v2.4.0/badge-C++20.svg @@ -0,0 +1 @@ + standardC++20 \ No newline at end of file diff --git a/v2.4.0/badge-TOML.svg b/v2.4.0/badge-TOML.svg new file mode 100644 index 00000000..01db3c41 --- /dev/null +++ b/v2.4.0/badge-TOML.svg @@ -0,0 +1 @@ +TOML: v1.0.0TOMLv1.0.0 \ No newline at end of file diff --git a/v2.4.0/badge-awesome.svg b/v2.4.0/badge-awesome.svg new file mode 100644 index 00000000..5d9da969 --- /dev/null +++ b/v2.4.0/badge-awesome.svg @@ -0,0 +1 @@ +Mentioned in an Awesome list diff --git a/v2.4.0/banner_small.png b/v2.4.0/banner_small.png new file mode 100644 index 00000000..78640f65 Binary files /dev/null and b/v2.4.0/banner_small.png differ diff --git a/v2.4.0/classtoml_1_1array.html b/v2.4.0/classtoml_1_1array.html new file mode 100644 index 00000000..158b7bc7 --- /dev/null +++ b/v2.4.0/classtoml_1_1array.html @@ -0,0 +1,1427 @@ + + + + toml::array class | toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::array class final +

                                                                                                                              +

                                                                                                                              A TOML array.

                                                                                                                              + +

                                                                                                                              The interface of this type is modeled after std::vector, with some additional considerations made for the heterogeneous nature of a TOML array.

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              toml::table tbl = toml::parse(R"( + arr = [1, 2, 3, 4, 'five'] +)"sv); + +// get the element as an array +toml::array& arr = *tbl.get_as<toml::array>("arr"); +std::cout << arr << "\n"; + +// increment each element with visit() +for (auto&& elem : arr) +{ + elem.visit([](auto&& el) noexcept + { + if constexpr (toml::is_number<decltype(el)>) + (*el)++; + else if constexpr (toml::is_string<decltype(el)>) + el = "six"sv; + }); +} +std::cout << arr << "\n"; + +// add and remove elements +arr.push_back(7); +arr.push_back(8.0f); +arr.push_back("nine"sv); +arr.erase(arr.cbegin()); +std::cout << arr << "\n"; + +// emplace elements +arr.emplace_back<std::string>("ten"); +arr.emplace_back<toml::array>(11, 12.0); +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3, 4, 'five' ]
                                                                                                                              +[ 2, 3, 4, 5, 'six' ]
                                                                                                                              +[ 3, 4, 5, 'six', 7, 8.0, 'nine' ]
                                                                                                                              +[ 3, 4, 5, 'six', 7, 8.0, 'nine', 'ten', [ 11, 12.0 ] ]
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Base classes

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + class node +
                                                                                                                              +
                                                                                                                              A TOML node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public types

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using const_iterator = const_array_iterator +
                                                                                                                              +
                                                                                                                              A RandomAccessIterator for iterating over const elements in a toml::array.
                                                                                                                              +
                                                                                                                              + using iterator = array_iterator +
                                                                                                                              +
                                                                                                                              A RandomAccessIterator for iterating over elements in a toml::array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + array() noexcept +
                                                                                                                              +
                                                                                                                              Default constructor.
                                                                                                                              +
                                                                                                                              + array(const array&) noexcept +
                                                                                                                              +
                                                                                                                              Copy constructor.
                                                                                                                              +
                                                                                                                              + array(array&& other) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType, typename... ElemTypes, typename = std::enable_if_t< (sizeof...(ElemTypes)> 0_sz) || !std::is_same_v<impl::remove_cvref_t<ElemType>, array> >>
                                                                                                                              + array(ElemType&& val, + ElemTypes && ... vals) explicit +
                                                                                                                              +
                                                                                                                              Constructs an array with one or more initial elements.
                                                                                                                              +
                                                                                                                              + ~array() override noexcept +
                                                                                                                              +
                                                                                                                              Destructor.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator=(const array&) -> array& noexcept +
                                                                                                                              +
                                                                                                                              Copy-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(array&& rhs) -> array& noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Array operations

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto back() -> node& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the last element in the array.
                                                                                                                              +
                                                                                                                              + auto back() const -> const node& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the last element in the array.
                                                                                                                              +
                                                                                                                              + auto begin() -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first element.
                                                                                                                              +
                                                                                                                              + auto begin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first element.
                                                                                                                              +
                                                                                                                              + auto capacity() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the current max number of elements that may be held in the array's internal storage.
                                                                                                                              +
                                                                                                                              + auto cbegin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first element.
                                                                                                                              +
                                                                                                                              + auto cend() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last element.
                                                                                                                              +
                                                                                                                              + void clear() noexcept +
                                                                                                                              +
                                                                                                                              Removes all elements from the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType, typename... Args>
                                                                                                                              + auto emplace(const_iterator pos, + Args && ... args) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Emplaces a new element at a specific position in the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType, typename... Args>
                                                                                                                              + auto emplace_back(Args && ... args) -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Emplaces a new element at the end of the array.
                                                                                                                              +
                                                                                                                              + auto empty() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the array is empty.
                                                                                                                              +
                                                                                                                              + auto end() -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last element.
                                                                                                                              +
                                                                                                                              + auto end() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last element.
                                                                                                                              +
                                                                                                                              + auto erase(const_iterator pos) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Removes the specified element from the array.
                                                                                                                              +
                                                                                                                              + auto erase(const_iterator first, + const_iterator last) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Removes the elements in the range [first, last) from the array.
                                                                                                                              +
                                                                                                                              + auto flatten() & -> array& +
                                                                                                                              +
                                                                                                                              Flattens this array, recursively hoisting the contents of child arrays up into itself.
                                                                                                                              +
                                                                                                                              + auto flatten() && -> array&& +
                                                                                                                              +
                                                                                                                              Flattens this array, recursively hoisting the contents of child arrays up into itself (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto front() -> node& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the first element in the array.
                                                                                                                              +
                                                                                                                              + auto front() const -> const node& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the first element in the array.
                                                                                                                              +
                                                                                                                              + auto get(size_t index) -> node* noexcept +
                                                                                                                              +
                                                                                                                              Gets the element at a specific index.
                                                                                                                              +
                                                                                                                              + auto get(size_t index) const -> const node* noexcept +
                                                                                                                              +
                                                                                                                              Gets the element at a specific index (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto get_as(size_t index) -> impl::wrap_node<ElemType>* noexcept +
                                                                                                                              +
                                                                                                                              Gets the element at a specific index if it is a particular type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto get_as(size_t index) const -> const impl::wrap_node<ElemType>* noexcept +
                                                                                                                              +
                                                                                                                              Gets the element at a specific index if it is a particular type (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto insert(const_iterator pos, + ElemType&& val) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Inserts a new element at a specific position in the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto insert(const_iterator pos, + size_t count, + ElemType&& val) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Repeatedly inserts a new element starting at a specific position in the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Iter>
                                                                                                                              + auto insert(const_iterator pos, + Iter first, + Iter last) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Inserts a range of elements into the array at a specific position.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto insert(const_iterator pos, + std::initializer_list<ElemType> ilist) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Inserts a range of elements into the array at a specific position.
                                                                                                                              +
                                                                                                                              + auto max_size() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the maximum number of elements that can be stored in an array on the current platform.
                                                                                                                              +
                                                                                                                              + auto operator[](size_t index) -> node& noexcept +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific index.
                                                                                                                              +
                                                                                                                              + auto operator[](size_t index) const -> const node& noexcept +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific index.
                                                                                                                              +
                                                                                                                              + void pop_back() noexcept +
                                                                                                                              +
                                                                                                                              Removes the last element from the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + void push_back(ElemType&& val) noexcept +
                                                                                                                              +
                                                                                                                              Appends a new element to the end of the array.
                                                                                                                              +
                                                                                                                              + void reserve(size_t new_capacity) +
                                                                                                                              +
                                                                                                                              Reserves internal storage capacity up to a pre-determined number of elements.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + void resize(size_t new_size, + ElemType&& default_init_val) noexcept +
                                                                                                                              +
                                                                                                                              Resizes the array.
                                                                                                                              +
                                                                                                                              + void shrink_to_fit() +
                                                                                                                              +
                                                                                                                              Requests the removal of any unused internal storage capacity.
                                                                                                                              +
                                                                                                                              + auto size() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the number of elements in the array.
                                                                                                                              +
                                                                                                                              + void truncate(size_t new_size) +
                                                                                                                              +
                                                                                                                              Shrinks the array to the given size.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const array& lhs, + const array& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const array& lhs, + const array& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const array& lhs, + const std::initializer_list<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Initializer list equality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const array& lhs, + const std::vector<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Vector equality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Metadata

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the source region responsible for generating this node during parsing.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Node views

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + operator node_view<const node>() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node (const overload).
                                                                                                                              +
                                                                                                                              + operator node_view<node>() explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type casts

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() -> impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() const -> const impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type (const overload).
                                                                                                                              +
                                                                                                                              + auto as_boolean() -> toml::value<bool>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<bool>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date() -> toml::value<date>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<date>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date_time() -> toml::value<date_time>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<date_time>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() -> toml::value<double>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<double>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_integer() -> toml::value<int64_t>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<int64_t>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_string() -> toml::value<std::string>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<string>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_table() -> table* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::table, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_time() -> toml::value<time>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<time>, if it is one.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type checks

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto as_array() -> array* override noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::array, if it is one.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto is() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node is a specific type.
                                                                                                                              +
                                                                                                                              + auto is_array() const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an array.
                                                                                                                              +
                                                                                                                              + auto is_array_of_tables() const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an array containing only tables.
                                                                                                                              +
                                                                                                                              + auto is_boolean() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a boolean value.
                                                                                                                              +
                                                                                                                              + auto is_date() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a local date value.
                                                                                                                              +
                                                                                                                              + auto is_date_time() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a date-time value.
                                                                                                                              +
                                                                                                                              + auto is_floating_point() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an floating-point value.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype) const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + node*& first_nonmatch) -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + const node*& first_nonmatch) const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type (const overload).
                                                                                                                              +
                                                                                                                              + auto is_integer() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an integer value.
                                                                                                                              +
                                                                                                                              + auto is_number() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an integer or floating-point value.
                                                                                                                              +
                                                                                                                              + auto is_string() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a string value.
                                                                                                                              +
                                                                                                                              + auto is_table() const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a table.
                                                                                                                              +
                                                                                                                              + auto is_time() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a local time value.
                                                                                                                              +
                                                                                                                              + auto is_value() const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a value.
                                                                                                                              +
                                                                                                                              + auto type() const -> node_type override noexcept +
                                                                                                                              +
                                                                                                                              Returns the node's type identifier.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Value retrieval

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() & -> impl::unwrap_node<T>& noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a value node's underlying data.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() && -> impl::unwrap_node<T>&& noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a value node's underlying data (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const & -> const impl::unwrap_node<T>& noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a value node's underlying data (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value() const -> optional<T> noexcept +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_exact() const -> optional<T> noexcept +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_or(T&& default_value) const -> auto noexcept +
                                                                                                                              +
                                                                                                                              Gets the raw value contained by this node, or a default.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Visitation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char>
                                                                                                                              + auto operator<<(std::basic_ostream<Char>&, + const array&) -> std::basic_ostream<Char>& +
                                                                                                                              +
                                                                                                                              Prints the array out to a stream as formatted TOML.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType, typename... ElemTypes, typename = std::enable_if_t< (sizeof...(ElemTypes)> 0_sz) || !std::is_same_v<impl::remove_cvref_t<ElemType>, array> >> +
                                                                                                                              + toml::array::array(ElemType&& val, + ElemTypes && ... vals) explicit +

                                                                                                                              +

                                                                                                                              Constructs an array with one or more initial elements.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypeOne of the TOML node or value types (or a type promotable to one).
                                                                                                                              ElemTypesOne of the TOML node or value types (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              valThe node or value used to initialize element 0.
                                                                                                                              valsThe nodes or values used to initialize elements 1...N.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2.0, "three"sv, toml::array{ 4, 5 } };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2.0, 'three', [ 4, 5 ] ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType, typename... Args> +
                                                                                                                              + iterator toml::array::emplace(const_iterator pos, + Args && ... args) noexcept +

                                                                                                                              +

                                                                                                                              Emplaces a new element at a specific position in the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::table, toml::array, or any native TOML value type.
                                                                                                                              ArgsValue constructor argument types.
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              argsArguments to forward to the value's constructor.
                                                                                                                              ReturnsAn iterator to the inserted element.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2 };
                                                                                                                              +
                                                                                                                              +//add a string using std::string's substring constructor
                                                                                                                              +arr.emplace<std::string>(arr.cbegin() + 1, "this is not a drill"sv, 14, 5);
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 'drill', 2 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType, typename... Args> +
                                                                                                                              + decltype(auto) toml::array::emplace_back(Args && ... args) noexcept +

                                                                                                                              +

                                                                                                                              Emplaces a new element at the end of the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::table, toml::array, or a native TOML value type
                                                                                                                              ArgsValue constructor argument types.
                                                                                                                              Parameters
                                                                                                                              argsArguments to forward to the value's constructor.
                                                                                                                              ReturnsA reference to the newly-constructed element.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2 };
                                                                                                                              +arr.emplace_back<toml::array>(3, "four"sv);
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, [ 3, 'four' ] ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::array::erase(const_iterator pos) noexcept +

                                                                                                                              +

                                                                                                                              Removes the specified element from the array.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              posIterator to the element being erased.
                                                                                                                              ReturnsIterator to the first element immediately following the removed element.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +
                                                                                                                              +arr.erase(arr.cbegin() + 1);
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3 ]
                                                                                                                              +[ 1, 3 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::array::erase(const_iterator first, + const_iterator last) noexcept +

                                                                                                                              +

                                                                                                                              Removes the elements in the range [first, last) from the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              firstIterator to the first element being erased.
                                                                                                                              lastIterator to the one-past-the-last element being erased.
                                                                                                                              ReturnsIterator to the first element immediately following the last removed element.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, "bad", "karma" 2 };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +
                                                                                                                              +arr.erase(arr.cbegin() + 1, arr.cbegin() + 3);
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 'bad', 'karma', 3 ]
                                                                                                                              +[ 1, 3 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + array& toml::array::flatten() & +

                                                                                                                              +

                                                                                                                              Flattens this array, recursively hoisting the contents of child arrays up into itself.

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsA reference to the array.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, toml::array{ 3, 4, toml::array{ 5 } }, 6, toml::array{} };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +
                                                                                                                              +arr.flatten();
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, [ 3, 4, [ 5 ] ], 6, [] ]
                                                                                                                              +[ 1, 2, 3, 4, 5, 6 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + array&& toml::array::flatten() && +

                                                                                                                              +

                                                                                                                              Flattens this array, recursively hoisting the contents of child arrays up into itself (rvalue overload).

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsAn rvalue reference to the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node* toml::array::get(size_t index) noexcept +

                                                                                                                              +

                                                                                                                              Gets the element at a specific index.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              indexThe element's index.
                                                                                                                              ReturnsA pointer to the element at the specified index if one existed, or nullptr.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 99, "bottles of beer on the wall" };
                                                                                                                              +std::cout << "element [0] exists: "sv << !!arr.get(0) << "\n";
                                                                                                                              +std::cout << "element [1] exists: "sv << !!arr.get(1) << "\n";
                                                                                                                              +std::cout << "element [2] exists: "sv << !!arr.get(2) << "\n";
                                                                                                                              +if (toml::node* val = arr.get(0))
                                                                                                                              +    std::cout << "element [0] is an "sv << val->type() << "\n";
                                                                                                                              element [0] exists: true
                                                                                                                              +element [1] exists: true
                                                                                                                              +element [2] exists: false
                                                                                                                              +element [0] is an integer
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const node* toml::array::get(size_t index) const noexcept +

                                                                                                                              +

                                                                                                                              Gets the element at a specific index (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              indexThe element's index.
                                                                                                                              ReturnsA pointer to the element at the specified index if one existed, or nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + impl::wrap_node<ElemType>* toml::array::get_as(size_t index) noexcept +

                                                                                                                              +

                                                                                                                              Gets the element at a specific index if it is a particular type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::table, toml::array, or a native TOML value type
                                                                                                                              Parameters
                                                                                                                              indexThe element's index.
                                                                                                                              ReturnsA pointer to the selected element if it existed and was of the specified type, or nullptr.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 42, "is the meaning of life, apparently."sv };
                                                                                                                              +if (toml::value<int64_t>* val = arr.get_as<int64_t>(0))
                                                                                                                              +    std::cout << "element [0] is an integer with value "sv << *val << "\n";
                                                                                                                              element [0] is an integer with value 42
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + const impl::wrap_node<ElemType>* toml::array::get_as(size_t index) const noexcept +

                                                                                                                              +

                                                                                                                              Gets the element at a specific index if it is a particular type (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::table, toml::array, or a native TOML value type
                                                                                                                              Parameters
                                                                                                                              indexThe element's index.
                                                                                                                              ReturnsA pointer to the selected element if it existed and was of the specified type, or nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + iterator toml::array::insert(const_iterator pos, + ElemType&& val) noexcept +

                                                                                                                              +

                                                                                                                              Inserts a new element at a specific position in the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              valThe node or value being inserted.
                                                                                                                              ReturnsValid input: An iterator to the newly-inserted element. Input is an empty toml::node_view: + end()
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 3 };
                                                                                                                              +arr.insert(arr.cbegin() + 1, "two");
                                                                                                                              +arr.insert(arr.cend(), toml::array{ 4, 5 });
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 'two', 3, [ 4, 5 ] ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + iterator toml::array::insert(const_iterator pos, + size_t count, + ElemType&& val) noexcept +

                                                                                                                              +

                                                                                                                              Repeatedly inserts a new element starting at a specific position in the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              countThe number of times the node or value should be inserted.
                                                                                                                              valThe node or value being inserted.
                                                                                                                              ReturnsValid input: An iterator to the newly-inserted element. count == 0: A copy of pos Input is an empty toml::node_view: + end()
                                                                                                                              +
                                                                                                                              auto arr = toml::array{
                                                                                                                              +    "with an evil twinkle in its eye the goose said",
                                                                                                                              +    "and immediately we knew peace was never an option."
                                                                                                                              +};
                                                                                                                              +arr.insert(arr.cbegin() + 1, 3, "honk");
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [
                                                                                                                              +    'with an evil twinkle in its eye the goose said',
                                                                                                                              +    'honk',
                                                                                                                              +    'honk',
                                                                                                                              +    'honk',
                                                                                                                              +    'and immediately we knew peace was never an option.'
                                                                                                                              +]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Iter> +
                                                                                                                              + iterator toml::array::insert(const_iterator pos, + Iter first, + Iter last) noexcept +

                                                                                                                              +

                                                                                                                              Inserts a range of elements into the array at a specific position.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              IterAn iterator type. Must satisfy ForwardIterator.
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              firstIterator to the first node or value being inserted.
                                                                                                                              lastIterator to the one-past-the-last node or value being inserted.
                                                                                                                              ReturnsValid input: An iterator to the first newly-inserted element. first >= last: A copy of pos All objects in the range were empty toml::node_views: A copy of pos
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + iterator toml::array::insert(const_iterator pos, + std::initializer_list<ElemType> ilist) noexcept +

                                                                                                                              +

                                                                                                                              Inserts a range of elements into the array at a specific position.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              ilistAn initializer list containing the values to be inserted.
                                                                                                                              ReturnsValid input: An iterator to the first newly-inserted element. Input list is empty: A copy of pos All objects in the list were empty toml::node_views: A copy of pos
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + void toml::array::push_back(ElemType&& val) noexcept +

                                                                                                                              +

                                                                                                                              Appends a new element to the end of the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type
                                                                                                                              Parameters
                                                                                                                              valThe node or value being added.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2 };
                                                                                                                              +arr.push_back(3);
                                                                                                                              +arr.push_back(4.0);
                                                                                                                              +arr.push_back(toml::array{ 5, "six"sv });
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3, 4.0, [ 5, 'six' ] ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + void toml::array::resize(size_t new_size, + ElemType&& default_init_val) noexcept +

                                                                                                                              +

                                                                                                                              Resizes the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              new_sizeThe number of elements the array will have after resizing.
                                                                                                                              default_init_valThe node or value used to initialize new elements if the array needs to grow.
                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto arr = toml::array{ 1, 2, 3 }; +std::cout << arr << "\n"; + +arr.resize(6, 42); +std::cout << arr << "\n"; + +arr.resize(2, 0); +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3 ]
                                                                                                                              +[ 1, 2, 3, 42, 42, 42 ]
                                                                                                                              +[ 1, 2 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + void toml::array::truncate(size_t new_size) +

                                                                                                                              +

                                                                                                                              Shrinks the array to the given size.

                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto arr = toml::array{ 1, 2, 3 }; +std::cout << arr << "\n"; + +arr.truncate(5); // no-op +std::cout << arr << "\n"; + +arr.truncate(1); +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3 ]
                                                                                                                              +[ 1, 2, 3 ]
                                                                                                                              +[ 1]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::array::operator!=(const array& lhs, + const array& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Inequality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS array.
                                                                                                                              rhsThe RHS array.
                                                                                                                              ReturnsTrue if the arrays did not contain the same elements.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::array::operator==(const array& lhs, + const array& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Equality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS array.
                                                                                                                              rhsThe RHS array.
                                                                                                                              ReturnsTrue if the arrays contained the same elements.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::array::is_homogeneous(node_type ntype) const override noexcept +

                                                                                                                              +

                                                                                                                              Checks if the node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << "homogenous: "sv << arr.is_homogeneous(toml::node_type::none) << "\n";
                                                                                                                              +std::cout << "all floats: "sv << arr.is_homogeneous(toml::node_type::floating_point) << "\n";
                                                                                                                              +std::cout << "all arrays: "sv << arr.is_homogeneous(toml::node_type::array) << "\n";
                                                                                                                              +std::cout << "all ints:   "sv << arr.is_homogeneous(toml::node_type::integer) << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::array::is_homogeneous(node_type ntype, + node*& first_nonmatch) override noexcept +

                                                                                                                              +

                                                                                                                              Checks if a node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              first_nonmatchReference to a pointer in which the address of the first non-matching element will be stored if the return value is false.
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]");
                                                                                                                              +toml::array& arr = *cfg["arr"].as_array();
                                                                                                                              +
                                                                                                                              +toml::node* nonmatch{};
                                                                                                                              +if (arr.is_homogeneous(toml::node_type::integer, nonmatch))
                                                                                                                              +    std::cout << "array was homogeneous"sv << "\n";
                                                                                                                              +else
                                                                                                                              +    std::cout << "array was not homogeneous!\n"
                                                                                                                              +    << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
                                                                                                                              array was not homogeneous!
                                                                                                                              +first non-match was a floating-point at line 1, column 18
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.4.0/classtoml_1_1default__formatter.html b/v2.4.0/classtoml_1_1default__formatter.html new file mode 100644 index 00000000..834b3d81 --- /dev/null +++ b/v2.4.0/classtoml_1_1default__formatter.html @@ -0,0 +1,263 @@ + + + + toml::default_formatter class | toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              template <typename Char = char>
                                                                                                                              + toml::default_formatter class final +

                                                                                                                              +

                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted TOML.

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              CharThe underlying character type of the output stream. Must be 1 byte in size.
                                                                                                                              + +
                                                                                                                              auto tbl = toml::table{{
                                                                                                                              +    { "description", "This is some TOML, yo." },
                                                                                                                              +    { "fruit", toml::array{ "apple", "orange", "pear" } },
                                                                                                                              +    { "numbers", toml::array{ 1, 2, 3, 4, 5 } },
                                                                                                                              +    { "table", toml::table{{ { "foo", "bar" } }} }
                                                                                                                              +}};
                                                                                                                              +
                                                                                                                              +// these two lines are equivalent:
                                                                                                                              +std::cout << toml::default_formatter{ tbl } << "\n";
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              description = "This is some TOML, yo."
                                                                                                                              +fruit = ["apple", "orange", "pear"]
                                                                                                                              +numbers = [1, 2, 3, 4, 5]
                                                                                                                              +
                                                                                                                              +[table]
                                                                                                                              +foo = "bar"
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public static variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + static format_flags default_flags constexpr +
                                                                                                                              +
                                                                                                                              The default flags for a default_formatter.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + default_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a default formatter and binds it to a TOML object.
                                                                                                                              +
                                                                                                                              + default_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a default TOML formatter and binds it to a toml::parse_result.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T, typename U>
                                                                                                                              + auto operator<<(std::basic_ostream<T>&, + default_formatter<U>&) -> std::basic_ostream<T>& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as formatted TOML.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T, typename U>
                                                                                                                              + auto operator<<(std::basic_ostream<T>&, + default_formatter<U>&&) -> std::basic_ostream<T>& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as formatted TOML (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Char> +
                                                                                                                              + toml::default_formatter::default_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a default formatter and binds it to a TOML object.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              sourceThe source TOML object.
                                                                                                                              flagsFormat option flags.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Char> +
                                                                                                                              + toml::default_formatter::default_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a default TOML formatter and binds it to a toml::parse_result.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              resultThe parse result.
                                                                                                                              flagsFormat option flags.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.4.0/classtoml_1_1json__formatter.html b/v2.4.0/classtoml_1_1json__formatter.html new file mode 100644 index 00000000..078b4092 --- /dev/null +++ b/v2.4.0/classtoml_1_1json__formatter.html @@ -0,0 +1,271 @@ + + + + toml::json_formatter class | toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              template <typename Char = char>
                                                                                                                              + toml::json_formatter class final +

                                                                                                                              +

                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted JSON.

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              CharThe underlying character type of the output stream. Must be 1 byte in size.
                                                                                                                              + +
                                                                                                                              auto some_toml = toml::parse(R"(
                                                                                                                              +    [fruit]
                                                                                                                              +    apple.color = "red"
                                                                                                                              +    apple.taste.sweet = true
                                                                                                                              +
                                                                                                                              +    [fruit.apple.texture]
                                                                                                                              +    smooth = true
                                                                                                                              +)"sv);
                                                                                                                              +std::cout << toml::json_formatter{ some_toml } << "\n";
                                                                                                                              {
                                                                                                                              +    "fruit" : {
                                                                                                                              +        "apple" : {
                                                                                                                              +            "color" : "red",
                                                                                                                              +            "taste" : {
                                                                                                                              +                "sweet" : true
                                                                                                                              +            },
                                                                                                                              +            "texture" : {
                                                                                                                              +                "smooth" : true
                                                                                                                              +            }
                                                                                                                              +        }
                                                                                                                              +    }
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public static variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + static format_flags default_flags constexpr +
                                                                                                                              +
                                                                                                                              The default flags for a json_formatter.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + json_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a JSON formatter and binds it to a TOML object.
                                                                                                                              +
                                                                                                                              + json_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a JSON formatter and binds it to a toml::parse_result.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T, typename U>
                                                                                                                              + auto operator<<(std::basic_ostream<T>&, + json_formatter<U>&) -> std::basic_ostream<T>& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as JSON.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T, typename U>
                                                                                                                              + auto operator<<(std::basic_ostream<T>&, + json_formatter<U>&&) -> std::basic_ostream<T>& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as JSON (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Char> +
                                                                                                                              + toml::json_formatter::json_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a JSON formatter and binds it to a TOML object.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              sourceThe source TOML object.
                                                                                                                              flagsFormat option flags.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Char> +
                                                                                                                              + toml::json_formatter::json_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a JSON formatter and binds it to a toml::parse_result.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              resultThe parse result.
                                                                                                                              flagsFormat option flags.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.4.0/classtoml_1_1node.html b/v2.4.0/classtoml_1_1node.html new file mode 100644 index 00000000..62d35f7a --- /dev/null +++ b/v2.4.0/classtoml_1_1node.html @@ -0,0 +1,802 @@ + + + + toml::node class | toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::node class +

                                                                                                                              +

                                                                                                                              A TOML node.

                                                                                                                              + +

                                                                                                                              A parsed TOML document forms a tree made up of tables, arrays and values. This type is the base of each of those, providing a lot of the polymorphic plumbing.

                                                                                                                              +
                                                                                                                              +

                                                                                                                              Derived classes

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + class array final +
                                                                                                                              +
                                                                                                                              A TOML array.
                                                                                                                              +
                                                                                                                              + class table final +
                                                                                                                              +
                                                                                                                              A TOML table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ValueType>
                                                                                                                              + class value final +
                                                                                                                              +
                                                                                                                              A TOML value.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Metadata

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the source region responsible for generating this node during parsing.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Node views

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + operator node_view<const node>() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node (const overload).
                                                                                                                              +
                                                                                                                              + operator node_view<node>() explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type casts

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() -> impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() const -> const impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type (const overload).
                                                                                                                              +
                                                                                                                              + auto as_array() -> array* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::array, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_boolean() -> toml::value<bool>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<bool>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date() -> toml::value<date>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<date>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date_time() -> toml::value<date_time>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<date_time>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() -> toml::value<double>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<double>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_integer() -> toml::value<int64_t>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<int64_t>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_string() -> toml::value<std::string>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<string>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_table() -> table* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::table, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_time() -> toml::value<time>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<time>, if it is one.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type checks

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto is() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node is a specific type.
                                                                                                                              +
                                                                                                                              + auto is_array() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an array.
                                                                                                                              +
                                                                                                                              + auto is_array_of_tables() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an array containing only tables.
                                                                                                                              +
                                                                                                                              + auto is_boolean() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a boolean value.
                                                                                                                              +
                                                                                                                              + auto is_date() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a local date value.
                                                                                                                              +
                                                                                                                              + auto is_date_time() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a date-time value.
                                                                                                                              +
                                                                                                                              + auto is_floating_point() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an floating-point value.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + node*& first_nonmatch) -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + const node*& first_nonmatch) const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type (const overload).
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype) const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType = void>
                                                                                                                              + auto is_homogeneous() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_integer() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an integer value.
                                                                                                                              +
                                                                                                                              + auto is_number() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an integer or floating-point value.
                                                                                                                              +
                                                                                                                              + auto is_string() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a string value.
                                                                                                                              +
                                                                                                                              + auto is_table() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a table.
                                                                                                                              +
                                                                                                                              + auto is_time() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a local time value.
                                                                                                                              +
                                                                                                                              + auto is_value() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a value.
                                                                                                                              +
                                                                                                                              + auto type() const -> node_type pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns the node's type identifier.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Value retrieval

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() & -> impl::unwrap_node<T>& noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a value node's underlying data.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() && -> impl::unwrap_node<T>&& noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a value node's underlying data (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const & -> const impl::unwrap_node<T>& noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a value node's underlying data (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value() const -> optional<T> noexcept +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_exact() const -> optional<T> noexcept +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_or(T&& default_value) const -> auto noexcept +
                                                                                                                              +
                                                                                                                              Gets the raw value contained by this node, or a default.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Visitation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + impl::wrap_node<T>* toml::node::as() noexcept +

                                                                                                                              +

                                                                                                                              Gets a pointer to the node as a more specific node type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TThe node type or TOML value type to cast to.
                                                                                                                              ReturnsA pointer to the node as the given type, or nullptr if it was a different type.
                                                                                                                              +
                                                                                                                              toml::value<int64_t>* int_value = node->as<int64_t>();
                                                                                                                              +toml::table* tbl = node->as<toml::table>();
                                                                                                                              +if (int_value)
                                                                                                                              +    std::cout << "Node is a value<int64_t>\n";
                                                                                                                              +else if (tbl)
                                                                                                                              +    std::cout << "Node is a table\n";
                                                                                                                              +
                                                                                                                              +// fully-qualified value node types also work (useful for template code):
                                                                                                                              +toml::value<int64_t>* int_value2 = node->as<toml::value<int64_t>>();
                                                                                                                              +if (int_value2)
                                                                                                                              +    std::cout << "Node is a value<int64_t>\n";
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::node::is() const noexcept +

                                                                                                                              +

                                                                                                                              Checks if a node is a specific type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TA TOML node or value type.
                                                                                                                              ReturnsReturns true if this node is an instance of the specified type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::node::is_homogeneous(node_type ntype, + node*& first_nonmatch) pure virtual noexcept +

                                                                                                                              +

                                                                                                                              Checks if a node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              first_nonmatchReference to a pointer in which the address of the first non-matching element will be stored if the return value is false.
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]");
                                                                                                                              +toml::array& arr = *cfg["arr"].as_array();
                                                                                                                              +
                                                                                                                              +toml::node* nonmatch{};
                                                                                                                              +if (arr.is_homogeneous(toml::node_type::integer, nonmatch))
                                                                                                                              +    std::cout << "array was homogeneous"sv << "\n";
                                                                                                                              +else
                                                                                                                              +    std::cout << "array was not homogeneous!\n"
                                                                                                                              +    << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
                                                                                                                              array was not homogeneous!
                                                                                                                              +first non-match was a floating-point at line 1, column 18
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::node::is_homogeneous(node_type ntype) const pure virtual noexcept +

                                                                                                                              +

                                                                                                                              Checks if the node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << "homogenous: "sv << arr.is_homogeneous(toml::node_type::none) << "\n";
                                                                                                                              +std::cout << "all floats: "sv << arr.is_homogeneous(toml::node_type::floating_point) << "\n";
                                                                                                                              +std::cout << "all arrays: "sv << arr.is_homogeneous(toml::node_type::array) << "\n";
                                                                                                                              +std::cout << "all ints:   "sv << arr.is_homogeneous(toml::node_type::integer) << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType = void> +
                                                                                                                              + bool toml::node::is_homogeneous() const noexcept +

                                                                                                                              +

                                                                                                                              Checks if the node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypeA TOML node or value type.
                                                                                                                              Left as void: "is every element the same type?"
                                                                                                                              Explicitly specified: "is every element a T?"
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << "homogenous:   "sv << arr.is_homogeneous() << "\n";
                                                                                                                              +std::cout << "all doubles:  "sv << arr.is_homogeneous<double>() << "\n";
                                                                                                                              +std::cout << "all arrays:   "sv << arr.is_homogeneous<toml::array>() << "\n";
                                                                                                                              +std::cout << "all integers: "sv << arr.is_homogeneous<int64_t>() << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + impl::unwrap_node<T>& toml::node::ref() & noexcept +

                                                                                                                              +

                                                                                                                              Gets a raw reference to a value node's underlying data.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the TOML value types.
                                                                                                                              ReturnsA reference to the underlying data.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + optional<T> toml::node::value() const noexcept +

                                                                                                                              +

                                                                                                                              Gets the value contained by this node.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the native TOML value types, or a type capable of converting to one.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or convertible to it) and within the range of the output type, or an empty optional.
                                                                                                                              +

                                                                                                                              This function has 'permissive' retrieval semantics; some value types are allowed to convert to others (e.g. retrieving a boolean as an integer), and the specified return value type can be any type where a reasonable conversion from a native TOML value exists (e.g. std::wstring on Windows). If the source value cannot be represented by the destination type, an empty optional is returned.

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto tbl = toml::parse(R"( + int = -10 + flt = 25.0 + pi = 3.14159 + bool = false + huge = 9223372036854775807 + str = "foo" +)"sv); + +const auto print_value_with_typename = + [&](std::string_view key, std::string_view type_name, auto* dummy) + { + std::cout << "- " << std::setw(18) << std::left << type_name; + using type = std::remove_pointer_t<decltype(dummy)>; + if (std::optional<type> val = tbl.get(key)->value<type>()) + std::cout << *val << "\n"; + else + std::cout << "n/a\n"; + }; + +#define print_value(key, T) print_value_with_typename(key, #T, (T*)nullptr) + +for (auto key : { "int", "flt", "pi", "bool", "huge", "str" }) +{ + std::cout << tbl[key].type() << " value '" << key << "' as:\n"; + print_value(key, bool); + print_value(key, int); + print_value(key, unsigned int); + print_value(key, long long); + print_value(key, float); + print_value(key, double); + print_value(key, std::string); + print_value(key, std::string_view); + print_value(key, const char*); + std::cout << "\n"; +}
                                                                                                                              integer value 'int' as:
                                                                                                                              +- bool              true
                                                                                                                              +- int               -10
                                                                                                                              +- unsigned int      n/a
                                                                                                                              +- long long         -10
                                                                                                                              +- float             -10
                                                                                                                              +- double            -10
                                                                                                                              +- std::string       n/a
                                                                                                                              +- std::string_view  n/a
                                                                                                                              +- const char*       n/a
                                                                                                                              +
                                                                                                                              +floating-point value 'flt' as:
                                                                                                                              +- bool              n/a
                                                                                                                              +- int               25
                                                                                                                              +- unsigned int      25
                                                                                                                              +- long long         25
                                                                                                                              +- float             25
                                                                                                                              +- double            25
                                                                                                                              +- std::string       n/a
                                                                                                                              +- std::string_view  n/a
                                                                                                                              +- const char*       n/a
                                                                                                                              +
                                                                                                                              +floating-point value 'pi' as:
                                                                                                                              +- bool              n/a
                                                                                                                              +- int               n/a
                                                                                                                              +- unsigned int      n/a
                                                                                                                              +- long long         n/a
                                                                                                                              +- float             3.14159
                                                                                                                              +- double            3.14159
                                                                                                                              +- std::string       n/a
                                                                                                                              +- std::string_view  n/a
                                                                                                                              +- const char*       n/a
                                                                                                                              +
                                                                                                                              +boolean value 'bool' as:
                                                                                                                              +- bool              false
                                                                                                                              +- int               0
                                                                                                                              +- unsigned int      0
                                                                                                                              +- long long         0
                                                                                                                              +- float             n/a
                                                                                                                              +- double            n/a
                                                                                                                              +- std::string       n/a
                                                                                                                              +- std::string_view  n/a
                                                                                                                              +- const char*       n/a
                                                                                                                              +
                                                                                                                              +integer value 'huge' as:
                                                                                                                              +- bool              true
                                                                                                                              +- int               n/a
                                                                                                                              +- unsigned int      n/a
                                                                                                                              +- long long         9223372036854775807
                                                                                                                              +- float             n/a
                                                                                                                              +- double            n/a
                                                                                                                              +- std::string       n/a
                                                                                                                              +- std::string_view  n/a
                                                                                                                              +- const char*       n/a
                                                                                                                              +
                                                                                                                              +string value 'str' as:
                                                                                                                              +- bool              n/a
                                                                                                                              +- int               n/a
                                                                                                                              +- unsigned int      n/a
                                                                                                                              +- long long         n/a
                                                                                                                              +- float             n/a
                                                                                                                              +- double            n/a
                                                                                                                              +- std::string       foo
                                                                                                                              +- std::string_view  foo
                                                                                                                              +- const char*       foo
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + optional<T> toml::node::value_exact() const noexcept +

                                                                                                                              +

                                                                                                                              Gets the value contained by this node.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the native TOML value types, or a type capable of losslessly representing one.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or losslessly convertible to it), or an empty optional.
                                                                                                                              +

                                                                                                                              This function has 'exact' retrieval semantics; the only return value types allowed are the TOML native value types, or types that can losslessly represent a native value type (e.g. std::wstring on Windows).

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + auto toml::node::value_or(T&& default_value) const noexcept +

                                                                                                                              +

                                                                                                                              Gets the raw value contained by this node, or a default.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TDefault value type. Must be one of the native TOML value types, or convertible to it.
                                                                                                                              Parameters
                                                                                                                              default_valueThe default value to return if the node wasn't a value, wasn't the correct type, or no conversion was possible.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or convertible to it) and within the range of the output type, or the provided default.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Func> +
                                                                                                                              + decltype(auto) toml::node::visit(Func&& visitor) & noexcept(…) +

                                                                                                                              +

                                                                                                                              Invokes a visitor on the node based on the node's concrete type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              FuncA callable type invocable with one or more of the toml++ node types.
                                                                                                                              Parameters
                                                                                                                              visitorThe visitor object.
                                                                                                                              ReturnsThe return value of the visitor. Can be void. Non-exhaustive visitors must return a default-constructible type.
                                                                                                                              +

                                                                                                                              Visitation is useful when you expect a node to be one of a set number of types and need to handle these types differently. Using visit() allows you to eliminate some of the casting/conversion boilerplate:

                                                                                                                              node.visit([](auto&& n)
                                                                                                                              +{
                                                                                                                              +    if constexpr (toml::is_string<decltype(n)>)
                                                                                                                              +        do_something_with_a_string(*n)); //n is a toml::value<std::string>
                                                                                                                              +    else if constexpr (toml::is_integer<decltype(n)>)
                                                                                                                              +        do_something_with_an_int(*n); //n is a toml::value<int64_t>
                                                                                                                              +    else
                                                                                                                              +        throw std::exception{ "Expected string or integer" };
                                                                                                                              +});
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.4.0/classtoml_1_1node__view.html b/v2.4.0/classtoml_1_1node__view.html new file mode 100644 index 00000000..2aaf143c --- /dev/null +++ b/v2.4.0/classtoml_1_1node__view.html @@ -0,0 +1,821 @@ + + + + toml::node_view class | toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              template <typename ViewedType>
                                                                                                                              + toml::node_view class +

                                                                                                                              +

                                                                                                                              A view of a node.

                                                                                                                              + +

                                                                                                                              A node_view is like a std::optional<toml::node&> (if such a construct were legal), with lots of toml-specific stuff built-in. It may represent a node, and allows you to do many of the same operations that you'd do on nodes directly, as well as easily traversing the node tree by creating subviews (via node_view::operator[]).

                                                                                                                              auto tbl = toml::parse(R"(
                                                                                                                              +
                                                                                                                              +    title = "my hardware store"
                                                                                                                              +    
                                                                                                                              +    [[products]]
                                                                                                                              +    name = "Hammer"
                                                                                                                              +    sku = 738594937
                                                                                                                              +    keywords = [ "hammer", "construction", "build" ]
                                                                                                                              +
                                                                                                                              +    [[products]]
                                                                                                                              +    name = "Nail"
                                                                                                                              +    sku = 284758393
                                                                                                                              +    color = "gray"
                                                                                                                              +    
                                                                                                                              +)"sv);
                                                                                                                              +
                                                                                                                              +std::cout << tbl["title"] << "\n";
                                                                                                                              +std::cout << tbl["products"][0]["name"] << "\n";
                                                                                                                              +std::cout << tbl["products"][0]["keywords"] << "\n";
                                                                                                                              +std::cout << tbl["products"][0]["keywords"][2] << "\n";
                                                                                                                              +
                                                                                                                              +tbl["products"][0]["keywords"].as_array()->push_back("heavy");
                                                                                                                              +std::cout << tbl["products"][0]["keywords"] << "\n";
                                                                                                                              +std::cout << "has product[2]: "sv << !!tbl["products"][2] << "\n";
                                                                                                                              +std::cout << "product[2]: "sv << tbl["products"][2] << "\n";
                                                                                                                              "my hardware store"
                                                                                                                              +"Hammer"
                                                                                                                              +[ "hammer", "construction", "build" ]
                                                                                                                              +"build"
                                                                                                                              +[ "hammer", "construction", "build", "heavy" ]
                                                                                                                              +has product[2]: false
                                                                                                                              +product[2]:
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + node_view() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Constructs an empty node view.
                                                                                                                              +
                                                                                                                              + node_view(viewed_type* node) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs node_view of a specific node.
                                                                                                                              +
                                                                                                                              + node_view(viewed_type& node) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs node_view of a specific node.
                                                                                                                              +
                                                                                                                              + operator bool() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the view references a node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto node() const -> viewed_type* noexcept +
                                                                                                                              +
                                                                                                                              Returns the node that's being referenced by the view.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator==(const node_view& lhs, + const table& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a table with the same contents as RHS.
                                                                                                                              +
                                                                                                                              + auto operator==(const node_view& lhs, + const array& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is an array with the same contents as RHS.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const node_view& lhs, + const toml::value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a value with the same value as RHS.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T, typename = std::enable_if_t< impl::is_native<T> || impl::is_losslessly_convertible_to_native<T> >>
                                                                                                                              + auto operator==(const node_view& lhs, + const T& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a value with the same value as RHS.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const node_view& lhs, + const std::initializer_list<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is an array with the same contents as the RHS initializer list.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const node_view& lhs, + const std::vector<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is an array with the same contents as the RHS vector.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Subviews

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator[](std::string_view key) const -> node_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the selected subnode.
                                                                                                                              +
                                                                                                                              + auto operator[](std::wstring_view key) const -> node_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the selected subnode.
                                                                                                                              +
                                                                                                                              + auto operator[](size_t index) const -> node_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the selected subnode.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type casts

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() const -> auto noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the viewed node as a more specific node type.
                                                                                                                              +
                                                                                                                              + auto as_array() const -> auto noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::array, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_boolean() const -> auto noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<bool>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date() const -> auto noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<date>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date_time() const -> auto noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<date_time>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() const -> auto noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<double>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_integer() const -> auto noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<int64_t>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_string() const -> auto noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<string>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_table() const -> auto noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::table, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_time() const -> auto noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<time>, if it is one.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type checks

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto is() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if this view references a node of a specific type.
                                                                                                                              +
                                                                                                                              + auto is_array() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::array.
                                                                                                                              +
                                                                                                                              + auto is_array_of_tables() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::array that contains only tables.
                                                                                                                              +
                                                                                                                              + auto is_boolean() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<bool>.
                                                                                                                              +
                                                                                                                              + auto is_date() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<date>.
                                                                                                                              +
                                                                                                                              + auto is_date_time() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<date_time>.
                                                                                                                              +
                                                                                                                              + auto is_floating_point() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<double>.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + viewed_type*& first_nonmatch) const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the viewed node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype) const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the viewed node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType = void>
                                                                                                                              + auto is_homogeneous() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the viewed node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_integer() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<int64_t>.
                                                                                                                              +
                                                                                                                              + auto is_number() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<int64_t> or toml::value<double>.
                                                                                                                              +
                                                                                                                              + auto is_string() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<string>.
                                                                                                                              +
                                                                                                                              + auto is_table() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::table.
                                                                                                                              +
                                                                                                                              + auto is_time() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<time>.
                                                                                                                              +
                                                                                                                              + auto is_value() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<>.
                                                                                                                              +
                                                                                                                              + auto type() const -> node_type noexcept +
                                                                                                                              +
                                                                                                                              Returns the type identifier for the viewed node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Value retrieval

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to the viewed node's underlying data.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value() const -> optional<T> noexcept +
                                                                                                                              +
                                                                                                                              Gets the value contained by the referenced node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_exact() const -> optional<T> noexcept +
                                                                                                                              +
                                                                                                                              Gets the value contained by the referenced node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_or(T&& default_value) const -> auto noexcept +
                                                                                                                              +
                                                                                                                              Gets the raw value contained by the referenced node, or a default.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Visitation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the viewed node based on its concrete type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char, typename T>
                                                                                                                              + auto operator<<(std::basic_ostream<Char>&, + const node_view<T>&) -> std::basic_ostream<Char>& +
                                                                                                                              +
                                                                                                                              Prints the viewed node out to a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::operator[](std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the selected subnode.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key of the node to retrieve
                                                                                                                              ReturnsA view of the selected node if this node represented a table and it contained a value at the given key, or an empty view.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::operator[](std::wstring_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the selected subnode.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key of the node to retrieve
                                                                                                                              ReturnsA view of the selected node if this node represented a table and it contained a value at the given key, or an empty view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::operator[](size_t index) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the selected subnode.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              indexThe index of the node to retrieve
                                                                                                                              ReturnsA view of the selected node if this node represented an array and it contained a value at the given index, or an empty view.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + auto toml::node_view::as() const noexcept +

                                                                                                                              +

                                                                                                                              Gets a pointer to the viewed node as a more specific node type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TThe node type or TOML value type to cast to.
                                                                                                                              ReturnsA pointer to the node as the given type, or nullptr if it was a different type.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::node_view::is() const noexcept +

                                                                                                                              +

                                                                                                                              Checks if this view references a node of a specific type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TA TOML node or value type.
                                                                                                                              ReturnsReturns true if the viewed node is an instance of the specified type.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + bool toml::node_view::is_homogeneous(node_type ntype, + viewed_type*& first_nonmatch) const noexcept +

                                                                                                                              +

                                                                                                                              Checks if the viewed node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              first_nonmatchReference to a pointer in which the address of the first non-matching element will be stored if the return value is false.
                                                                                                                              ReturnsTrue if the viewed node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]");
                                                                                                                              +
                                                                                                                              +toml::node* nonmatch{};
                                                                                                                              +if (cfg["arr"].is_homogeneous(toml::node_type::integer, nonmatch))
                                                                                                                              +    std::cout << "array was homogeneous"sv << "\n";
                                                                                                                              +else
                                                                                                                              +    std::cout << "array was not homogeneous!\n"
                                                                                                                              +    << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
                                                                                                                              array was not homogeneous!
                                                                                                                              +first non-match was a floating-point at line 1, column 18
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + bool toml::node_view::is_homogeneous(node_type ntype) const noexcept +

                                                                                                                              +

                                                                                                                              Checks if the viewed node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              ReturnsTrue if the viewed node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3 ]");
                                                                                                                              +std::cout << "homogenous: "sv << cfg["arr"].is_homogeneous(toml::node_type::none) << "\n";
                                                                                                                              +std::cout << "all floats: "sv << cfg["arr"].is_homogeneous(toml::node_type::floating_point) << "\n";
                                                                                                                              +std::cout << "all arrays: "sv << cfg["arr"].is_homogeneous(toml::node_type::array) << "\n";
                                                                                                                              +std::cout << "all ints:   "sv << cfg["arr"].is_homogeneous(toml::node_type::integer) << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename ElemType = void> +
                                                                                                                              + bool toml::node_view::is_homogeneous() const noexcept +

                                                                                                                              +

                                                                                                                              Checks if the viewed node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypeA TOML node or value type.
                                                                                                                              Left as void: "is every element the same type?"
                                                                                                                              Explicitly specified: "is every element a T?"
                                                                                                                              ReturnsTrue if the viewed node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3 ]");
                                                                                                                              +std::cout << "homogenous:   "sv << cfg["arr"].is_homogeneous() << "\n";
                                                                                                                              +std::cout << "all doubles:  "sv << cfg["arr"].is_homogeneous<double>() << "\n";
                                                                                                                              +std::cout << "all arrays:   "sv << cfg["arr"].is_homogeneous<toml::array>() << "\n";
                                                                                                                              +std::cout << "all integers: "sv << cfg["arr"].is_homogeneous<int64_t>() << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + decltype(auto) toml::node_view::ref() const noexcept +

                                                                                                                              +

                                                                                                                              Gets a raw reference to the viewed node's underlying data.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the TOML value types.
                                                                                                                              ReturnsA reference to the underlying data.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + optional<T> toml::node_view::value() const noexcept +

                                                                                                                              +

                                                                                                                              Gets the value contained by the referenced node.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the native TOML value types, or a type capable of convertible to one.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or convertible to it) and within the range of the output type, or an empty optional.
                                                                                                                              +

                                                                                                                              This function has 'permissive' retrieval semantics; some value types are allowed to convert to others (e.g. retrieving a boolean as an integer), and the specified return value type can be any type where a reasonable conversion from a native TOML value exists (e.g. std::wstring on Windows). If the source value cannot be represented by the destination type, an empty optional is returned. See node::value() for examples.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + optional<T> toml::node_view::value_exact() const noexcept +

                                                                                                                              +

                                                                                                                              Gets the value contained by the referenced node.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the native TOML value types, or a type capable of losslessly representing one.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or losslessly convertible to it), or an empty optional.
                                                                                                                              +

                                                                                                                              This function has 'exact' retrieval semantics; the only return value types allowed are the TOML native value types, or types that can losslessly represent a native value type (e.g. std::wstring on Windows).

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + auto toml::node_view::value_or(T&& default_value) const noexcept +

                                                                                                                              +

                                                                                                                              Gets the raw value contained by the referenced node, or a default.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TDefault value type. Must be one of the native TOML value types, or convertible to it.
                                                                                                                              Parameters
                                                                                                                              default_valueThe default value to return if the node wasn't a value, wasn't the correct type, or no conversion was possible.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or convertible to it) and within the range of the output type, or the provided default.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename Func> +
                                                                                                                              + decltype(auto) toml::node_view::visit(Func&& visitor) const noexcept(…) +

                                                                                                                              +

                                                                                                                              Invokes a visitor on the viewed node based on its concrete type.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.4.0/classtoml_1_1parse__error.html b/v2.4.0/classtoml_1_1parse__error.html new file mode 100644 index 00000000..067c56c1 --- /dev/null +++ b/v2.4.0/classtoml_1_1parse__error.html @@ -0,0 +1,157 @@ + + + + toml::parse_error class | toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::parse_error class final +

                                                                                                                              +

                                                                                                                              An error generated when parsing fails.

                                                                                                                              + + +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto description() const -> std::string_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a textual description of the error.
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the region of the source document responsible for the error.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::string_view toml::parse_error::description() const noexcept +

                                                                                                                              +

                                                                                                                              Returns a textual description of the error.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.4.0/classtoml_1_1parse__result.html b/v2.4.0/classtoml_1_1parse__result.html new file mode 100644 index 00000000..52c44609 --- /dev/null +++ b/v2.4.0/classtoml_1_1parse__result.html @@ -0,0 +1,436 @@ + + + + toml::parse_result class | toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::parse_result class +

                                                                                                                              +

                                                                                                                              The result of a parsing operation.

                                                                                                                              + +

                                                                                                                              A parse_result is effectively a discriminated union containing either a toml::table or a toml::parse_error. Most member functions assume a particular one of these two states, and calling them when in the wrong state will cause errors (e.g. attempting to access the error object when parsing was successful).

                                                                                                                              parse_result result = toml::parse_file("config.toml");
                                                                                                                              +if (result)
                                                                                                                              +    do_stuff_with_a_table(result); //implicitly converts to table&
                                                                                                                              +else
                                                                                                                              +    std::cerr << "Parse failed:\n"sv << result.error() << "\n";
                                                                                                                              example output:
                                                                                                                              +
                                                                                                                              +Parse failed:
                                                                                                                              +Encountered unexpected character while parsing boolean; expected 'true', saw 'trU'
                                                                                                                              +    (error occurred at line 1, column 13 of 'config.toml')

                                                                                                                              Getting node_views (operator[]) and using the iterator accessor functions (begin(), end() etc.) are unconditionally safe; when parsing fails these just return 'empty' values. A ranged-for loop on a failed parse_result is also safe since begin() and end() return the same iterator and will not lead to any dereferences and iterations.

                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public types

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using const_iterator = const_table_iterator +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over const key-value pairs in a wrapped toml::table.
                                                                                                                              +
                                                                                                                              + using iterator = table_iterator +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over key-value pairs in a wrapped toml::table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + operator bool() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns true if parsing succeeded.
                                                                                                                              +
                                                                                                                              + operator const parse_error&() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error (const lvalue overload).
                                                                                                                              +
                                                                                                                              + operator const toml::table&() const noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table (const lvalue overload).
                                                                                                                              +
                                                                                                                              + operator parse_error&() explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error.
                                                                                                                              +
                                                                                                                              + operator parse_error&&() explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error (rvalue overload).
                                                                                                                              +
                                                                                                                              + operator toml::table&() noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table.
                                                                                                                              +
                                                                                                                              + operator toml::table&&() noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table (rvalue overload).
                                                                                                                              +
                                                                                                                              + parse_result(parse_result&& res) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              + ~parse_result() noexcept +
                                                                                                                              +
                                                                                                                              Destructor.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto begin() -> table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto begin() const -> const_table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto cbegin() const -> const_table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto cend() const -> const_table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto end() -> table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto end() const -> const_table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto error() & -> parse_error& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error.
                                                                                                                              +
                                                                                                                              + auto error() && -> parse_error&& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto error() const & -> const parse_error& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error (const lvalue overload).
                                                                                                                              +
                                                                                                                              + auto failed() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if parsing failed.
                                                                                                                              +
                                                                                                                              + auto operator=(parse_result&& rhs) -> parse_result& noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator[](string_view key) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto operator[](string_view key) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table (const overload).
                                                                                                                              +
                                                                                                                              + auto operator[](std::wstring_view key) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto operator[](std::wstring_view key) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table (const overload).
                                                                                                                              +
                                                                                                                              + auto succeeded() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if parsing succeeeded.
                                                                                                                              +
                                                                                                                              + auto table() & -> toml::table& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table.
                                                                                                                              +
                                                                                                                              + auto table() && -> toml::table&& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto table() const & -> const toml::table& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char>
                                                                                                                              + auto operator<<(std::basic_ostream<Char>& os, + const parse_result& result) -> std::basic_ostream<Char>& +
                                                                                                                              +
                                                                                                                              Prints the held error or table object out to a text stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + table_iterator toml::parse_result::begin() noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_table_iterator toml::parse_result::begin() const noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_table_iterator toml::parse_result::cbegin() const noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_table_iterator toml::parse_result::cend() const noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to one-past-the-last key-value pair in the wrapped table.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + table_iterator toml::parse_result::end() noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to one-past-the-last key-value pair in the wrapped table.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_table_iterator toml::parse_result::end() const noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to one-past-the-last key-value pair in the wrapped table.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::parse_result::operator[](string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if parsing was successful and a matching key existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::parse_result::operator[](string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if parsing was successful and a matching key existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::parse_result::operator[](std::wstring_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if parsing was successful and a matching key existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::parse_result::operator[](std::wstring_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if parsing was successful and a matching key existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.4.0/classtoml_1_1table.html b/v2.4.0/classtoml_1_1table.html new file mode 100644 index 00000000..da10a55e --- /dev/null +++ b/v2.4.0/classtoml_1_1table.html @@ -0,0 +1,1682 @@ + + + + toml::table class | toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::table class final +

                                                                                                                              +

                                                                                                                              A TOML table.

                                                                                                                              + + +
                                                                                                                              +

                                                                                                                              Base classes

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + class node +
                                                                                                                              +
                                                                                                                              A TOML node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public types

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using const_iterator = const_table_iterator +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over const key-value pairs in a toml::table.
                                                                                                                              +
                                                                                                                              + using iterator = table_iterator +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over key-value pairs in a toml::table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + table() noexcept +
                                                                                                                              +
                                                                                                                              Default constructor.
                                                                                                                              +
                                                                                                                              + table(const table&) noexcept +
                                                                                                                              +
                                                                                                                              Copy constructor.
                                                                                                                              +
                                                                                                                              + table(table&& other) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <size_t N>
                                                                                                                              + table(impl::table_init_pair( && arr)[N]) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a table with one or more initial key-value pairs.
                                                                                                                              +
                                                                                                                              + ~table() override noexcept +
                                                                                                                              +
                                                                                                                              Destructor.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator=(const table&) -> table& noexcept +
                                                                                                                              +
                                                                                                                              Copy-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(table&& rhs) -> table& noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const table& lhs, + const table& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char>
                                                                                                                              + auto operator<<(std::basic_ostream<Char>&, + const table&) -> std::basic_ostream<Char>& +
                                                                                                                              +
                                                                                                                              Prints the table out to a stream as formatted TOML.
                                                                                                                              +
                                                                                                                              + auto operator==(const table& lhs, + const table& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Metadata

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto is_inline() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this table is an inline table.
                                                                                                                              +
                                                                                                                              + void is_inline(bool val) noexcept +
                                                                                                                              +
                                                                                                                              Sets whether this table is a TOML inline table.
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the source region responsible for generating this node during parsing.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Node views

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + operator node_view<const node>() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node (const overload).
                                                                                                                              +
                                                                                                                              + operator node_view<node>() explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node.
                                                                                                                              +
                                                                                                                              + auto operator[](std::string_view key) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected key-value pair.
                                                                                                                              +
                                                                                                                              + auto operator[](std::string_view key) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected key-value pair (const overload).
                                                                                                                              +
                                                                                                                              + auto operator[](std::wstring_view key) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected key-value pair.
                                                                                                                              +
                                                                                                                              + auto operator[](std::wstring_view key) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected key-value pair (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Table operations

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto begin() -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair.
                                                                                                                              +
                                                                                                                              + auto begin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair.
                                                                                                                              +
                                                                                                                              + auto cbegin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair.
                                                                                                                              +
                                                                                                                              + auto cend() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair.
                                                                                                                              +
                                                                                                                              + void clear() noexcept +
                                                                                                                              +
                                                                                                                              Removes all key-value pairs from the table.
                                                                                                                              +
                                                                                                                              + auto contains(std::string_view key) const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the table contains a node at the given key.
                                                                                                                              +
                                                                                                                              + auto contains(std::wstring_view key) const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the table contains a node at the given key.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ValueType, typename KeyType, typename... ValueArgs>
                                                                                                                              + auto emplace(KeyType&& key, + ValueArgs && ... args) -> std::pair<iterator, bool> noexcept +
                                                                                                                              +
                                                                                                                              Emplaces a new value at a specific key if one did not already exist.
                                                                                                                              +
                                                                                                                              + auto empty() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the table is empty.
                                                                                                                              +
                                                                                                                              + auto end() -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair.
                                                                                                                              +
                                                                                                                              + auto end() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair.
                                                                                                                              +
                                                                                                                              + auto erase(iterator pos) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Removes the specified key-value pair from the table.
                                                                                                                              +
                                                                                                                              + auto erase(const_iterator pos) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Removes the specified key-value pair from the table (const iterator overload).
                                                                                                                              +
                                                                                                                              + auto erase(const_iterator first, + const_iterator last) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Removes the key-value pairs in the range [first, last) from the table.
                                                                                                                              +
                                                                                                                              + auto erase(std::string_view key) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Removes the value with the given key from the table.
                                                                                                                              +
                                                                                                                              + auto erase(std::wstring_view key) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Removes the value with the given key from the table.
                                                                                                                              +
                                                                                                                              + auto find(std::string_view key) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Gets an iterator to the node at a specific key.
                                                                                                                              +
                                                                                                                              + auto find(std::string_view key) const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Gets an iterator to the node at a specific key (const overload)
                                                                                                                              +
                                                                                                                              + auto find(std::wstring_view key) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Gets an iterator to the node at a specific key.
                                                                                                                              +
                                                                                                                              + auto find(std::wstring_view key) const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Gets an iterator to the node at a specific key (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename KeyType, typename ValueType, typename = std::enable_if_t< std::is_convertible_v<KeyType && , std::string_view> || impl::is_wide_string<KeyType> >>
                                                                                                                              + auto insert(KeyType&& key, + ValueType&& val) -> std::pair<iterator, bool> noexcept +
                                                                                                                              +
                                                                                                                              Inserts a new value at a specific key if one did not already exist.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Iter, typename = std::enable_if_t< !std::is_convertible_v<Iter, std::string_view> && !impl::is_wide_string<Iter> >>
                                                                                                                              + void insert(Iter first, + Iter last) noexcept +
                                                                                                                              +
                                                                                                                              Inserts a series of key-value pairs into the table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename KeyType, typename ValueType>
                                                                                                                              + auto insert_or_assign(KeyType&& key, + ValueType&& val) -> std::pair<iterator, bool> noexcept +
                                                                                                                              +
                                                                                                                              Inserts or assigns a value at a specific key.
                                                                                                                              +
                                                                                                                              + auto size() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the number of key-value pairs in the table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type casts

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() -> impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() const -> const impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type (const overload).
                                                                                                                              +
                                                                                                                              + auto as_array() -> array* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::array, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_boolean() -> toml::value<bool>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<bool>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date() -> toml::value<date>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<date>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date_time() -> toml::value<date_time>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<date_time>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() -> toml::value<double>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<double>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_integer() -> toml::value<int64_t>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<int64_t>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_string() -> toml::value<std::string>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<string>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_table() -> table* override noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::table, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_time() -> toml::value<time>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<time>, if it is one.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type checks

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto is() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node is a specific type.
                                                                                                                              +
                                                                                                                              + auto is_array() const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an array.
                                                                                                                              +
                                                                                                                              + auto is_array_of_tables() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an array containing only tables.
                                                                                                                              +
                                                                                                                              + auto is_boolean() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a boolean value.
                                                                                                                              +
                                                                                                                              + auto is_date() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a local date value.
                                                                                                                              +
                                                                                                                              + auto is_date_time() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a date-time value.
                                                                                                                              +
                                                                                                                              + auto is_floating_point() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an floating-point value.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype) const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + node*& first_nonmatch) -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + const node*& first_nonmatch) const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type (const overload).
                                                                                                                              +
                                                                                                                              + auto is_integer() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an integer value.
                                                                                                                              +
                                                                                                                              + auto is_number() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an integer or floating-point value.
                                                                                                                              +
                                                                                                                              + auto is_string() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a string value.
                                                                                                                              +
                                                                                                                              + auto is_table() const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a table.
                                                                                                                              +
                                                                                                                              + auto is_time() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a local time value.
                                                                                                                              +
                                                                                                                              + auto is_value() const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a value.
                                                                                                                              +
                                                                                                                              + auto type() const -> node_type override noexcept +
                                                                                                                              +
                                                                                                                              Returns the node's type identifier.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Value retrieval

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto get(std::string_view key) -> node* noexcept +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key.
                                                                                                                              +
                                                                                                                              + auto get(std::string_view key) const -> const node* noexcept +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key (const overload).
                                                                                                                              +
                                                                                                                              + auto get(std::wstring_view key) -> node* noexcept +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key.
                                                                                                                              +
                                                                                                                              + auto get(std::wstring_view key) const -> const node* noexcept +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ValueType>
                                                                                                                              + auto get_as(std::string_view key) -> impl::wrap_node<ValueType>* noexcept +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key if it is a particular type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ValueType>
                                                                                                                              + auto get_as(std::string_view key) const -> const impl::wrap_node<ValueType>* noexcept +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key if it is a particular type (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ValueType>
                                                                                                                              + auto get_as(std::wstring_view key) -> impl::wrap_node<ValueType>* noexcept +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key if it is a particular type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ValueType>
                                                                                                                              + auto get_as(std::wstring_view key) const -> const impl::wrap_node<ValueType>* noexcept +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key if it is a particular type (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() & -> impl::unwrap_node<T>& noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a value node's underlying data.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() && -> impl::unwrap_node<T>&& noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a value node's underlying data (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const & -> const impl::unwrap_node<T>& noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a value node's underlying data (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value() const -> optional<T> noexcept +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_exact() const -> optional<T> noexcept +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_or(T&& default_value) const -> auto noexcept +
                                                                                                                              +
                                                                                                                              Gets the raw value contained by this node, or a default.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Visitation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <size_t N> +
                                                                                                                              + toml::table::table(impl::table_init_pair( && arr)[N]) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a table with one or more initial key-value pairs.

                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              NNumber of key-value pairs used to initialize the table.
                                                                                                                              Parameters
                                                                                                                              arrAn array of key-value pairs used to initialize the table.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{{ // double braces required :( - see remark
                                                                                                                              +    { "foo", 1 },
                                                                                                                              +    { "bar", 2.0 },
                                                                                                                              +    { "kek", "three" }
                                                                                                                              +}};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { foo = 1, bar = 2.0, kek = "three" }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::operator!=(const table& lhs, + const table& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Inequality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS table.
                                                                                                                              rhsThe RHS table.
                                                                                                                              ReturnsTrue if the tables did not contain the same keys and map.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::operator==(const table& lhs, + const table& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Equality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS table.
                                                                                                                              rhsThe RHS table.
                                                                                                                              ReturnsTrue if the tables contained the same keys and map.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::is_inline() const noexcept +

                                                                                                                              +

                                                                                                                              Returns true if this table is an inline table.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + void toml::table::is_inline(bool val) noexcept +

                                                                                                                              +

                                                                                                                              Sets whether this table is a TOML inline table.

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              valThe new value for 'inline'.
                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto tbl = toml::table{{ + { "a", 1 }, + { "b", 2 }, + { "c", 3 }, + { "d", toml::table{{ { "e", 4 } }} } +}}; +std::cout << "is inline? "sv << tbl.is_inline() << "\n"; +std::cout << tbl << "\n\n"; + +tbl.is_inline(!tbl.is_inline()); +std::cout << "is inline? "sv << tbl.is_inline() << "\n"; +std::cout << tbl << "\n";
                                                                                                                              is inline? false
                                                                                                                              +a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +
                                                                                                                              +[d]
                                                                                                                              +e = 4
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +is inline? true
                                                                                                                              +{ a = 1, b = 2, c = 3, d = { e = 4 } }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::table::operator[](std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected key-value pair.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if one existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::table::operator[](std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected key-value pair (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if one existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::table::operator[](std::wstring_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected key-value pair.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if one existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::table::operator[](std::wstring_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected key-value pair (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if one existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::contains(std::wstring_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Returns true if the table contains a node at the given key.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType, typename KeyType, typename... ValueArgs> +
                                                                                                                              + std::pair<iterator, bool> toml::table::emplace(KeyType&& key, + ValueArgs && ... args) noexcept +

                                                                                                                              +

                                                                                                                              Emplaces a new value at a specific key if one did not already exist.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ValueTypetoml::table, toml::array, or any native TOML value type.
                                                                                                                              KeyTypestd::string (or a type convertible to it).
                                                                                                                              ValueArgsValue constructor argument types.
                                                                                                                              Parameters
                                                                                                                              keyThe key at which to emplace the new value.
                                                                                                                              argsArguments to forward to the value's constructor.
                                                                                                                              Returns

                                                                                                                              A std::pair containing:

                                                                                                                              • An iterator to the emplacement position (or the position of the value that prevented emplacement)
                                                                                                                              • A boolean indicating if the emplacement was successful.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{{
                                                                                                                              +    { "a", 1 },
                                                                                                                              +    { "b", 2 },
                                                                                                                              +    { "c", 3 }
                                                                                                                              +}};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +
                                                                                                                              +for (auto k : { "a", "d" })
                                                                                                                              +{
                                                                                                                              +    // add a string using std::string's substring constructor
                                                                                                                              +    auto result = tbl.emplace<std::string>(k, "this is not a drill"sv, 14, 5);
                                                                                                                              +    std::cout << "emplaced with key '"sv << k << "': "sv << result.second << "\n";
                                                                                                                              +}
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { a = 1, b = 2, c = 3 }
                                                                                                                              +emplaced with key 'a': false
                                                                                                                              +emplaced with key 'd': true
                                                                                                                              +{ a = 1, b = 2, c = 3, d = "drill" }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::erase(iterator pos) noexcept +

                                                                                                                              +

                                                                                                                              Removes the specified key-value pair from the table.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              posIterator to the key-value pair being erased.
                                                                                                                              ReturnsIterator to the first key-value pair immediately following the removed key-value pair.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{{
                                                                                                                              +    { "a", 1 },
                                                                                                                              +    { "b", 2 },
                                                                                                                              +    { "c", 3 }
                                                                                                                              +}};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +
                                                                                                                              +tbl.erase(tbl.begin() + 1);
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { a = 1, b = 2, c = 3 }
                                                                                                                              +{ a = 1, c = 3 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::erase(const_iterator pos) noexcept +

                                                                                                                              +

                                                                                                                              Removes the specified key-value pair from the table (const iterator overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              posIterator to the key-value pair being erased.
                                                                                                                              ReturnsIterator to the first key-value pair immediately following the removed key-value pair.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{{
                                                                                                                              +    { "a", 1 },
                                                                                                                              +    { "b", 2 },
                                                                                                                              +    { "c", 3 }
                                                                                                                              +}};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +
                                                                                                                              +tbl.erase(tbl.cbegin() + 1);
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { a = 1, b = 2, c = 3 }
                                                                                                                              +{ a = 1, c = 3 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::erase(const_iterator first, + const_iterator last) noexcept +

                                                                                                                              +

                                                                                                                              Removes the key-value pairs in the range [first, last) from the table.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              firstIterator to the first key-value pair being erased.
                                                                                                                              lastIterator to the one-past-the-last key-value pair being erased.
                                                                                                                              ReturnsIterator to the first key-value pair immediately following the last removed key-value pair.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{{
                                                                                                                              +    { "a", 1 },
                                                                                                                              +    { "b", "bad" },
                                                                                                                              +    { "c", "karma" },
                                                                                                                              +    { "d", 2 }
                                                                                                                              +}};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +
                                                                                                                              +tbl.erase(tbl.cbegin() + 1, tbl.cbegin() + 3);
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { a = 1, b = "bad", c = "karma", d = 2 }
                                                                                                                              +{ a = 1, d = 2 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::erase(std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Removes the value with the given key from the table.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyKey to erase.
                                                                                                                              ReturnsTrue if any values with matching keys were found and erased.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{{
                                                                                                                              +    { "a", 1 },
                                                                                                                              +    { "b", 2 },
                                                                                                                              +    { "c", 3 }
                                                                                                                              +}};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +
                                                                                                                              +std::cout << tbl.erase("b") << "\n";
                                                                                                                              +std::cout << tbl.erase("not an existing key") << "\n";
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { a = 1, b = 2, c = 3 }
                                                                                                                              +true
                                                                                                                              +false
                                                                                                                              +{ a = 1, c = 3 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::erase(std::wstring_view key) noexcept +

                                                                                                                              +

                                                                                                                              Removes the value with the given key from the table.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyKey to erase.
                                                                                                                              ReturnsTrue if any values with matching keys were found and erased.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::find(std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets an iterator to the node at a specific key.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsAn iterator to the node at the specified key, or end().
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_iterator toml::table::find(std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets an iterator to the node at a specific key (const overload)

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA const iterator to the node at the specified key, or cend().
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::find(std::wstring_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets an iterator to the node at a specific key.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsAn iterator to the node at the specified key, or end().
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_iterator toml::table::find(std::wstring_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets an iterator to the node at a specific key (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA const iterator to the node at the specified key, or cend().
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename KeyType, typename ValueType, typename = std::enable_if_t< std::is_convertible_v<KeyType && , std::string_view> || impl::is_wide_string<KeyType> >> +
                                                                                                                              + std::pair<iterator, bool> toml::table::insert(KeyType&& key, + ValueType&& val) noexcept +

                                                                                                                              +

                                                                                                                              Inserts a new value at a specific key if one did not already exist.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              KeyTypestd::string (or a type convertible to it).
                                                                                                                              ValueTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              keyThe key at which to insert the new value.
                                                                                                                              valThe new value to insert.
                                                                                                                              Returns

                                                                                                                              Valid input:

                                                                                                                              • An iterator to the insertion position (or the position of the value that prevented insertion)
                                                                                                                              • A boolean indicating if the insertion was successful.
                                                                                                                              +

                                                                                                                              Input is an empty toml::node_view: + { end(), false }

                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto tbl = toml::table{{ + { "a", 1 }, + { "b", 2 }, + { "c", 3 } +}}; +std::cout << tbl << "\n"; + +for (auto k : { "a", "d" }) +{ + auto result = tbl.insert(k, 42); + std::cout << "inserted with key '"sv << k << "': "sv << result.second << "\n"; +} +std::cout << tbl << "\n";
                                                                                                                              a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +
                                                                                                                              +inserted with key 'a': false
                                                                                                                              +inserted with key 'd': true
                                                                                                                              +a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +d = 42
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Iter, typename = std::enable_if_t< !std::is_convertible_v<Iter, std::string_view> && !impl::is_wide_string<Iter> >> +
                                                                                                                              + void toml::table::insert(Iter first, + Iter last) noexcept +

                                                                                                                              +

                                                                                                                              Inserts a series of key-value pairs into the table.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              IterAn InputIterator to a collection of key-value pairs.
                                                                                                                              Parameters
                                                                                                                              firstAn iterator to the first value in the input collection.
                                                                                                                              lastAn iterator to one-past-the-last value in the input collection.
                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto tbl = toml::table{{ + { "a", 1 }, + { "b", 2 }, + { "c", 3 } +}}; +std::cout << tbl << "\n"; + +auto kvps = std::array<std::pair<std::string, int>, 2>{{ + { "d", 42 }, + { "a", 43 } // won't be inserted, 'a' already exists +}}; +tbl.insert(kvps.begin(), kvps.end()); +std::cout << tbl << "\n";
                                                                                                                              a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +
                                                                                                                              +a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +d = 42
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename KeyType, typename ValueType> +
                                                                                                                              + std::pair<iterator, bool> toml::table::insert_or_assign(KeyType&& key, + ValueType&& val) noexcept +

                                                                                                                              +

                                                                                                                              Inserts or assigns a value at a specific key.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              KeyTypestd::string (or a type convertible to it).
                                                                                                                              ValueTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              keyThe key at which to insert or assign the value.
                                                                                                                              valThe value to insert/assign.
                                                                                                                              Returns

                                                                                                                              Valid input:

                                                                                                                              • An iterator to the value's position
                                                                                                                              • true if the value was inserted, false if it was assigned.
                                                                                                                              +

                                                                                                                              Input is an empty toml::node_view: + { end(), false }

                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto tbl = toml::table{{ + { "a", 1 }, + { "b", 2 }, + { "c", 3 } +}}; +std::cout << tbl << "\n"; + +for (auto k : { "a", "d" }) +{ + auto result = tbl.insert_or_assign(k, 42); + std::cout << "value at key '"sv << k + << "' was "sv << (result.second ? "inserted"sv : "assigned"sv) << "\n"; +} +std::cout << tbl << "\n";
                                                                                                                              a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +
                                                                                                                              +value at key 'a' was assigned
                                                                                                                              +value at key 'd' was inserted
                                                                                                                              +a = 42
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +d = 42
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::is_homogeneous(node_type ntype) const override noexcept +

                                                                                                                              +

                                                                                                                              Checks if the node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << "homogenous: "sv << arr.is_homogeneous(toml::node_type::none) << "\n";
                                                                                                                              +std::cout << "all floats: "sv << arr.is_homogeneous(toml::node_type::floating_point) << "\n";
                                                                                                                              +std::cout << "all arrays: "sv << arr.is_homogeneous(toml::node_type::array) << "\n";
                                                                                                                              +std::cout << "all ints:   "sv << arr.is_homogeneous(toml::node_type::integer) << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::is_homogeneous(node_type ntype, + node*& first_nonmatch) override noexcept +

                                                                                                                              +

                                                                                                                              Checks if a node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              first_nonmatchReference to a pointer in which the address of the first non-matching element will be stored if the return value is false.
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]");
                                                                                                                              +toml::array& arr = *cfg["arr"].as_array();
                                                                                                                              +
                                                                                                                              +toml::node* nonmatch{};
                                                                                                                              +if (arr.is_homogeneous(toml::node_type::integer, nonmatch))
                                                                                                                              +    std::cout << "array was homogeneous"sv << "\n";
                                                                                                                              +else
                                                                                                                              +    std::cout << "array was not homogeneous!\n"
                                                                                                                              +    << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
                                                                                                                              array was not homogeneous!
                                                                                                                              +first non-match was a floating-point at line 1, column 18
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node* toml::table::get(std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key, or nullptr.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{{
                                                                                                                              +    { "a", 42, },
                                                                                                                              +    { "b", "is the meaning of life, apparently." }
                                                                                                                              +}};
                                                                                                                              +std::cout << R"(node ["a"] exists: )"sv << !!arr.get("a") << "\n";
                                                                                                                              +std::cout << R"(node ["b"] exists: )"sv << !!arr.get("b") << "\n";
                                                                                                                              +std::cout << R"(node ["c"] exists: )"sv << !!arr.get("c") << "\n";
                                                                                                                              +if (auto val = arr.get("a"))
                                                                                                                              +    std::cout << R"(node ["a"] was an )"sv << val->type() << "\n";
                                                                                                                              node ["a"] exists: true
                                                                                                                              +node ["b"] exists: true
                                                                                                                              +node ["c"] exists: false
                                                                                                                              +node ["a"] was an integer
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const node* toml::table::get(std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key, or nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node* toml::table::get(std::wstring_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key, or nullptr.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const node* toml::table::get(std::wstring_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key, or nullptr.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + impl::wrap_node<ValueType>* toml::table::get_as(std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key if it is a particular type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ValueTypeOne of the TOML node or value types.
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key if it was of the given type, or nullptr.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{{
                                                                                                                              +    { "a", 42, },
                                                                                                                              +    { "b", "is the meaning of life, apparently." }
                                                                                                                              +}};
                                                                                                                              +if (auto val = arr.get_as<int64_t>("a"))
                                                                                                                              +    std::cout << R"(node ["a"] was an integer with value )"sv << **val << "\n";
                                                                                                                              node ["a"] was an integer with value 42
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + const impl::wrap_node<ValueType>* toml::table::get_as(std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key if it is a particular type (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ValueTypeOne of the TOML node or value types.
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key if it was of the given type, or nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + impl::wrap_node<ValueType>* toml::table::get_as(std::wstring_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key if it is a particular type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ValueTypeOne of the TOML node or value types.
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key if it was of the given type, or nullptr.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + const impl::wrap_node<ValueType>* toml::table::get_as(std::wstring_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key if it is a particular type (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ValueTypeOne of the TOML node or value types.
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key if it was of the given type, or nullptr.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.4.0/classtoml_1_1value.html b/v2.4.0/classtoml_1_1value.html new file mode 100644 index 00000000..fbd55e7c --- /dev/null +++ b/v2.4.0/classtoml_1_1value.html @@ -0,0 +1,920 @@ + + + + toml::value class | toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              template <typename ValueType>
                                                                                                                              + toml::value class final +

                                                                                                                              +

                                                                                                                              A TOML value.

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ValueType

                                                                                                                              The value's native TOML data type. Can be one of:

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Base classes

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + class node +
                                                                                                                              +
                                                                                                                              A TOML node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public types

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using value_arg = std::conditional_t<std::is_same_v<value_type, std::string>, std::string_view, std::conditional_t<impl::is_one_of<value_type, double, int64_t, bool>, value_type, const value_type&>> +
                                                                                                                              +
                                                                                                                              A type alias for 'value arguments'.
                                                                                                                              +
                                                                                                                              + using value_type = ValueType +
                                                                                                                              +
                                                                                                                              The value's underlying data type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename... Args>
                                                                                                                              + value(Args && ... args) explicit noexcept(…) +
                                                                                                                              +
                                                                                                                              Constructs a toml value.
                                                                                                                              +
                                                                                                                              + value(const value& other) noexcept +
                                                                                                                              +
                                                                                                                              Copy constructor.
                                                                                                                              +
                                                                                                                              + value(value&& other) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator=(const value& rhs) -> value& noexcept +
                                                                                                                              +
                                                                                                                              Copy-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(value&& rhs) -> value& noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(value_arg rhs) -> value& noexcept +
                                                                                                                              +
                                                                                                                              Value-assignment operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator!=(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(const value& lhs, + value_arg rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<(value_arg lhs, + const value& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value less-than operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator<(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<=(const value& lhs, + value_arg rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator<=(value_arg lhs, + const value& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator<=(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const value& lhs, + value_arg rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value equality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(const value& lhs, + value_arg rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>(value_arg lhs, + const value& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value greater-than operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator>(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(const value& lhs, + value_arg rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(value_arg lhs, + const value& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator>=(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Metadata

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto flags() const -> value_flags noexcept +
                                                                                                                              +
                                                                                                                              Returns the metadata flags associated with this value.
                                                                                                                              +
                                                                                                                              + auto flags(value_flags new_flags) -> value& noexcept +
                                                                                                                              +
                                                                                                                              Sets the metadata flags associated with this value.
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the source region responsible for generating this node during parsing.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Node views

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + operator node_view<const node>() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node (const overload).
                                                                                                                              +
                                                                                                                              + operator node_view<node>() explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type casts

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() -> impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() const -> const impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type (const overload).
                                                                                                                              +
                                                                                                                              + auto as_array() -> array* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::array, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_boolean() -> value<bool>* override noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<bool>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date() -> value<date>* override noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<date>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date_time() -> value<date_time>* override noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<date_time>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() -> value<double>* override noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<double>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_integer() -> value<int64_t>* override noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<int64_t>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_string() -> value<std::string>* override noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<string>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_table() -> table* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::table, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_time() -> value<time>* override noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<time>, if it is one.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type checks

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto is() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node is a specific type.
                                                                                                                              +
                                                                                                                              + auto is_array() const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an array.
                                                                                                                              +
                                                                                                                              + auto is_array_of_tables() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an array containing only tables.
                                                                                                                              +
                                                                                                                              + auto is_boolean() const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a boolean value.
                                                                                                                              +
                                                                                                                              + auto is_date() const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a local date value.
                                                                                                                              +
                                                                                                                              + auto is_date_time() const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a date-time value.
                                                                                                                              +
                                                                                                                              + auto is_floating_point() const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an floating-point value.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype) const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + toml::node*& first_nonmatch) -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + const toml::node*& first_nonmatch) const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type (const overload).
                                                                                                                              +
                                                                                                                              + auto is_integer() const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an integer value.
                                                                                                                              +
                                                                                                                              + auto is_number() const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an integer or floating-point value.
                                                                                                                              +
                                                                                                                              + auto is_string() const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a string value.
                                                                                                                              +
                                                                                                                              + auto is_table() const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a table.
                                                                                                                              +
                                                                                                                              + auto is_time() const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a local time value.
                                                                                                                              +
                                                                                                                              + auto is_value() const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a value.
                                                                                                                              +
                                                                                                                              + auto type() const -> node_type override noexcept +
                                                                                                                              +
                                                                                                                              Returns the value's node type identifier.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Value retrieval

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto get() & -> value_type& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value.
                                                                                                                              +
                                                                                                                              + auto get() && -> value_type&& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto get() const & -> const value_type& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const overload).
                                                                                                                              +
                                                                                                                              + operator const value_type&() const & explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const overload).
                                                                                                                              +
                                                                                                                              + operator value_type&() & explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value.
                                                                                                                              +
                                                                                                                              + operator value_type&&() && explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto operator*() & -> value_type& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value.
                                                                                                                              +
                                                                                                                              + auto operator*() && -> value_type&& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto operator*() const & -> const value_type& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() & -> impl::unwrap_node<T>& noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a value node's underlying data.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() && -> impl::unwrap_node<T>&& noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a value node's underlying data (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const & -> const impl::unwrap_node<T>& noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a value node's underlying data (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value() const -> optional<T> noexcept +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_exact() const -> optional<T> noexcept +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_or(T&& default_value) const -> auto noexcept +
                                                                                                                              +
                                                                                                                              Gets the raw value contained by this node, or a default.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Visitation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char, typename T>
                                                                                                                              + auto operator<<(std::basic_ostream<Char>& lhs, + const value<T>& rhs) -> std::basic_ostream<Char>& +
                                                                                                                              +
                                                                                                                              Prints the value out to a stream as formatted TOML.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Typedef documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + using toml::value::value_arg = std::conditional_t<std::is_same_v<value_type, std::string>, std::string_view, std::conditional_t<impl::is_one_of<value_type, double, int64_t, bool>, value_type, const value_type&>> +

                                                                                                                              +

                                                                                                                              A type alias for 'value arguments'.

                                                                                                                              +

                                                                                                                              This differs according to the value's type argument:

                                                                                                                              • ints, floats, booleans: value_type
                                                                                                                              • strings: string_view
                                                                                                                              • everything else: const value_type&
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename... Args> +
                                                                                                                              + toml::value::value(Args && ... args) explicit noexcept(…) +

                                                                                                                              +

                                                                                                                              Constructs a toml value.

                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ArgsConstructor argument types.
                                                                                                                              Parameters
                                                                                                                              argsArguments to forward to the internal value's constructor.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator!=(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Inequality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS value.
                                                                                                                              rhsThe RHS value.
                                                                                                                              ReturnsTrue if the values were not of the same type, or did not contain the same value.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator<(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Less-than operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS toml::value.
                                                                                                                              rhsThe RHS toml::value.
                                                                                                                              ReturnsSame value types: + lhs.get() < rhs.get()Different value types: + lhs.type() < rhs.type()
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator<=(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Less-than-or-equal-to operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS toml::value.
                                                                                                                              rhsThe RHS toml::value.
                                                                                                                              ReturnsSame value types: + lhs.get() <= rhs.get()Different value types: + lhs.type() <= rhs.type()
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator==(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Equality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS value.
                                                                                                                              rhsThe RHS value.
                                                                                                                              ReturnsTrue if the values were of the same type and contained the same value.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator>(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Greater-than operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS toml::value.
                                                                                                                              rhsThe RHS toml::value.
                                                                                                                              ReturnsSame value types: + lhs.get() > rhs.get()Different value types: + lhs.type() > rhs.type()
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator>=(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Greater-than-or-equal-to operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS toml::value.
                                                                                                                              rhsThe RHS toml::value.
                                                                                                                              ReturnsSame value types: + lhs.get() >= rhs.get()Different value types: + lhs.type() >= rhs.type()
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + value& toml::value::flags(value_flags new_flags) noexcept +

                                                                                                                              +

                                                                                                                              Sets the metadata flags associated with this value.

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsA reference to the value object.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + bool toml::value::is_homogeneous(node_type ntype) const override noexcept +

                                                                                                                              +

                                                                                                                              Checks if the node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << "homogenous: "sv << arr.is_homogeneous(toml::node_type::none) << "\n";
                                                                                                                              +std::cout << "all floats: "sv << arr.is_homogeneous(toml::node_type::floating_point) << "\n";
                                                                                                                              +std::cout << "all arrays: "sv << arr.is_homogeneous(toml::node_type::array) << "\n";
                                                                                                                              +std::cout << "all ints:   "sv << arr.is_homogeneous(toml::node_type::integer) << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + bool toml::value::is_homogeneous(node_type ntype, + toml::node*& first_nonmatch) override noexcept +

                                                                                                                              +

                                                                                                                              Checks if a node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              first_nonmatchReference to a pointer in which the address of the first non-matching element will be stored if the return value is false.
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]");
                                                                                                                              +toml::array& arr = *cfg["arr"].as_array();
                                                                                                                              +
                                                                                                                              +toml::node* nonmatch{};
                                                                                                                              +if (arr.is_homogeneous(toml::node_type::integer, nonmatch))
                                                                                                                              +    std::cout << "array was homogeneous"sv << "\n";
                                                                                                                              +else
                                                                                                                              +    std::cout << "array was not homogeneous!\n"
                                                                                                                              +    << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
                                                                                                                              array was not homogeneous!
                                                                                                                              +first non-match was a floating-point at line 1, column 18
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + node_type toml::value::type() const override noexcept +

                                                                                                                              +

                                                                                                                              Returns the value's node type identifier.

                                                                                                                              + + + + + + + +
                                                                                                                              Returns

                                                                                                                              One of:

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.4.0/concepts.html b/v2.4.0/concepts.html new file mode 100644 index 00000000..79d33902 --- /dev/null +++ b/v2.4.0/concepts.html @@ -0,0 +1,137 @@ + + + + toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Concepts

                                                                                                                              +
                                                                                                                                +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.4.0/favicon.ico b/v2.4.0/favicon.ico new file mode 100644 index 00000000..518213d1 Binary files /dev/null and b/v2.4.0/favicon.ico differ diff --git a/v2.4.0/files.html b/v2.4.0/files.html new file mode 100644 index 00000000..1bf01d21 --- /dev/null +++ b/v2.4.0/files.html @@ -0,0 +1,137 @@ + + + + toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Files

                                                                                                                              +
                                                                                                                                +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.4.0/group__configuration.html b/v2.4.0/group__configuration.html new file mode 100644 index 00000000..10b982b4 --- /dev/null +++ b/v2.4.0/group__configuration.html @@ -0,0 +1,290 @@ + + + + Library Configuration module | toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + Library Configuration module

                                                                                                                              +

                                                                                                                              Preprocessor macros for configuring library functionality.

                                                                                                                              + +

                                                                                                                              Define these before including toml++ to alter the way it functions.

                                                                                                                              +
                                                                                                                              +

                                                                                                                              Defines

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + #define TOML_API +
                                                                                                                              +
                                                                                                                              An annotation to add to public symbols.
                                                                                                                              +
                                                                                                                              + #define TOML_ASSERT(expr) +
                                                                                                                              +
                                                                                                                              Sets the assert function used by the library.
                                                                                                                              +
                                                                                                                              + #define TOML_CONFIG_HEADER +
                                                                                                                              +
                                                                                                                              An additional header to include before any other toml++ header files.
                                                                                                                              +
                                                                                                                              + #define TOML_EXCEPTIONS +
                                                                                                                              +
                                                                                                                              Sets whether the library uses exceptions to report parsing failures.
                                                                                                                              +
                                                                                                                              + #define TOML_HEADER_ONLY +
                                                                                                                              +
                                                                                                                              Sets whether the library is entirely inline.
                                                                                                                              +
                                                                                                                              + #define TOML_IMPLEMENTATION +
                                                                                                                              +
                                                                                                                              Enables the library's implementation when TOML_HEADER_ONLY is disabled.
                                                                                                                              +
                                                                                                                              + #define TOML_LARGE_FILES +
                                                                                                                              +
                                                                                                                              Sets whether line and column indices are 32-bit integers.
                                                                                                                              +
                                                                                                                              + #define TOML_OPTIONAL_TYPE +
                                                                                                                              +
                                                                                                                              Overrides the optional<T> type used by the library.
                                                                                                                              +
                                                                                                                              + #define TOML_PARSER +
                                                                                                                              +
                                                                                                                              Sets whether the parser-related parts of the library are included.
                                                                                                                              +
                                                                                                                              + #define TOML_SMALL_FLOAT_TYPE +
                                                                                                                              +
                                                                                                                              If your codebase has an additional 'small' float type (e.g. half-precision), this tells toml++ about it.
                                                                                                                              +
                                                                                                                              + #define TOML_SMALL_INT_TYPE +
                                                                                                                              +
                                                                                                                              If your codebase has an additional 'small' integer type (e.g. 24-bits), this tells toml++ about it.
                                                                                                                              +
                                                                                                                              + #define TOML_UNRELEASED_FEATURES +
                                                                                                                              +
                                                                                                                              Enables support for unreleased TOML language features not yet part of a numbered version.
                                                                                                                              +
                                                                                                                              + #define TOML_WINDOWS_COMPAT +
                                                                                                                              +
                                                                                                                              Enables the use of wide strings (wchar_t, std::wstring) in various places throughout the library when building for Windows.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Define documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_API +

                                                                                                                              +

                                                                                                                              An annotation to add to public symbols.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_ASSERT(expr) +

                                                                                                                              +

                                                                                                                              Sets the assert function used by the library.

                                                                                                                              +

                                                                                                                              Defaults to the standard C assert().

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_CONFIG_HEADER +

                                                                                                                              +

                                                                                                                              An additional header to include before any other toml++ header files.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_EXCEPTIONS +

                                                                                                                              +

                                                                                                                              Sets whether the library uses exceptions to report parsing failures.

                                                                                                                              +

                                                                                                                              Defaults to 1 or 0 according to your compiler's exception mode.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_HEADER_ONLY +

                                                                                                                              +

                                                                                                                              Sets whether the library is entirely inline.

                                                                                                                              +

                                                                                                                              Defaults to 1.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_IMPLEMENTATION +

                                                                                                                              +

                                                                                                                              Enables the library's implementation when TOML_HEADER_ONLY is disabled.

                                                                                                                              +

                                                                                                                              Not defined by default. Meaningless when TOML_HEADER_ONLY is enabled.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_LARGE_FILES +

                                                                                                                              +

                                                                                                                              Sets whether line and column indices are 32-bit integers.

                                                                                                                              +

                                                                                                                              Defaults to 0.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_OPTIONAL_TYPE +

                                                                                                                              +

                                                                                                                              Overrides the optional<T> type used by the library.

                                                                                                                              +

                                                                                                                              Not defined by default (use std::optional).

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_PARSER +

                                                                                                                              +

                                                                                                                              Sets whether the parser-related parts of the library are included.

                                                                                                                              +

                                                                                                                              Defaults to 1.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_SMALL_FLOAT_TYPE +

                                                                                                                              +

                                                                                                                              If your codebase has an additional 'small' float type (e.g. half-precision), this tells toml++ about it.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_SMALL_INT_TYPE +

                                                                                                                              +

                                                                                                                              If your codebase has an additional 'small' integer type (e.g. 24-bits), this tells toml++ about it.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_UNRELEASED_FEATURES +

                                                                                                                              +

                                                                                                                              Enables support for unreleased TOML language features not yet part of a numbered version.

                                                                                                                              +

                                                                                                                              Defaults to 0.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_WINDOWS_COMPAT +

                                                                                                                              +

                                                                                                                              Enables the use of wide strings (wchar_t, std::wstring) in various places throughout the library when building for Windows.

                                                                                                                              +

                                                                                                                              Defaults to 1 when building for Windows, 0 otherwise. Has no effect when building for anything other than Windows.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.4.0/index.html b/v2.4.0/index.html new file mode 100644 index 00000000..c1007be2 --- /dev/null +++ b/v2.4.0/index.html @@ -0,0 +1,395 @@ + + + + toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + Image + +

                                                                                                                              Features

                                                                                                                              • Supports the latest TOML release (v1.0.0), plus optional support for some unreleased TOML features
                                                                                                                              • Supports serializing to JSON
                                                                                                                              • Proper UTF-8 handling (incl. BOM)
                                                                                                                              • C++17 (plus some C++20 features where available, e.g. experimental support for char8_t strings)
                                                                                                                              • Header-only (optional!)
                                                                                                                              • Doesn't require RTTI
                                                                                                                              • Works with or without exceptions
                                                                                                                              • Tested on Clang (6+), GCC (7+) and MSVC (VS2019)
                                                                                                                              • Tested on x64, x86 and ARM

                                                                                                                              API documentation

                                                                                                                              You're looking at it! Browse the docs using the links at the top of the page. You can search from anywhere by pressing the TAB key.

                                                                                                                              Basic examples

                                                                                                                              Parsing files

                                                                                                                              Call toml::parse_file() and work with the toml::table you get back, or handle any toml::parse_error that gets thrown:

                                                                                                                              #include <iostream>
                                                                                                                              +#include <toml++/toml.h>
                                                                                                                              +
                                                                                                                              +int main(int argc, char** argv)
                                                                                                                              +{
                                                                                                                              +    toml::table tbl;
                                                                                                                              +    try
                                                                                                                              +    {
                                                                                                                              +        tbl = toml::parse_file(argv[1]);
                                                                                                                              +        std::cout << tbl << "\n";
                                                                                                                              +    }
                                                                                                                              +    catch (const toml::parse_error& err)
                                                                                                                              +    {
                                                                                                                              +        std::cerr << "Parsing failed:\n" << err << "\n";
                                                                                                                              +        return 1;
                                                                                                                              +    }
                                                                                                                              +
                                                                                                                              +    return 0;
                                                                                                                              +}

                                                                                                                              Parsing strings and iostreams

                                                                                                                              Call toml::parse() and work with the toml::table you get back, or handle any toml::parse_error that gets thrown:

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              #include <iostream> +#include <sstream> +#include <toml++/toml.h> +using namespace std::string_view_literals; + +int main() +{ + static constexpr std::string_view some_toml = R"( + [library] + name = "toml++" + authors = ["Mark Gillard <mark.gillard@outlook.com.au>"] + cpp = 17 + )"sv; + + try + { + // parse directly from a string view: + { + toml::table tbl = toml::parse(some_toml); + std::cout << tbl << "\n"; + } + + // parse from a string stream: + { + std::stringstream ss{ std::string{ some_toml } }; + toml::table tbl = toml::parse(ss); + std::cout << tbl << "\n"; + } + } + catch (const toml::parse_error& err) + { + std::cerr << "Parsing failed:\n" << err << "\n"; + return 1; + } + + return 0; +}
                                                                                                                              [library]
                                                                                                                              +authors = [ 'Mark Gillard <mark.gillard@outlook.com.au>' ]
                                                                                                                              +cpp = 17
                                                                                                                              +name = 'toml++'
                                                                                                                              +
                                                                                                                              +[library]
                                                                                                                              +authors = [ 'Mark Gillard <mark.gillard@outlook.com.au>' ]
                                                                                                                              +cpp = 17
                                                                                                                              +name = 'toml++'

                                                                                                                              Handling errors without exceptions

                                                                                                                              Can't (or won't) use exceptions? That's fine too. You can disable exceptions in your compiler flags and/or explicitly disable the library's use of them by setting the option TOML_EXCEPTIONS to 0. In either case, the parsing functions return a toml::parse_result instead of a toml::table:

                                                                                                                              #include <iostream>
                                                                                                                              +
                                                                                                                              +#define TOML_EXCEPTIONS 0 // only necessary if you've left them enabled in your compiler
                                                                                                                              +#include <toml++/toml.h>
                                                                                                                              +
                                                                                                                              +int main()
                                                                                                                              +{
                                                                                                                              +    toml::parse_result result = toml::parse_file("configuration.toml");
                                                                                                                              +    if (!result)
                                                                                                                              +    {
                                                                                                                              +        std::cerr << "Parsing failed:\n" << result.error() << "\n";
                                                                                                                              +        return 1;
                                                                                                                              +    }
                                                                                                                              +    
                                                                                                                              +    do_stuff_with_your_config(std::move(result).table()); // 'steal' the table from the result
                                                                                                                              +    return 0;
                                                                                                                              +}

                                                                                                                              Custom error formatting

                                                                                                                              The examples above use an overloaded operator<< with ostreams to print basic error messages, and look like this:

                                                                                                                              Error while parsing key: expected bare key starting character or string delimiter, saw '?'
                                                                                                                              +    (error occurred at line 2, column 5)

                                                                                                                              In order to keep the library as small as possible I haven't bent over backwards to support things like custom colouring of the text in TTY environments, et cetera. That being said, the library provides the requisite information for you to build these yourself if necessary via toml::parse_error's source() and description() members:

                                                                                                                              toml::table tbl;
                                                                                                                              +try
                                                                                                                              +{
                                                                                                                              +    tbl = toml::parse_file("configuration.toml");
                                                                                                                              +}
                                                                                                                              +catch (const toml::parse_error& err)
                                                                                                                              +{
                                                                                                                              +    std::cerr
                                                                                                                              +        << "Error parsing file '" << *err.source().path
                                                                                                                              +        << "':\n" << err.description()
                                                                                                                              +        << "\n  (" << err.source().begin << ")\n";
                                                                                                                              +    return 1;
                                                                                                                              +}

                                                                                                                              Working with TOML data

                                                                                                                              A TOML document is a tree of values, arrays and tables, represented as the toml::value, toml::array and toml::table, respectively. All three inherit from toml::node, and can be easily accessed via the toml::node_view:

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              #include <iostream> +#include <toml++/toml.h> +using namespace std::string_view_literals; + +int main() +{ + static constexpr auto source = R"( + str = "hello world" + + numbers = [ 1, 2, 3, "four", 5.0 ] + vegetables = [ "tomato", "onion", "mushroom", "lettuce" ] + minerals = [ "quartz", "iron", "copper", "diamond" ] + + [animals] + cats = [ "tiger", "lion", "puma" ] + birds = [ "macaw", "pigeon", "canary" ] + fish = [ "salmon", "trout", "carp" ] + + )"sv; + toml::table tbl = toml::parse(source); + + // different ways of directly querying data + std::optional<std::string_view> str1 = tbl["str"].value<std::string_view>(); + std::optional<std::string> str2 = tbl["str"].value<std::string>(); + std::string_view str3 = tbl["str"].value_or(""sv); + std::string& str4 = tbl["str"].ref<std::string>(); // ~~dangerous~~ + + std::cout << *str1 << "\n"; + std::cout << *str2 << "\n"; + std::cout << str3 << "\n"; + std::cout << str4 << "\n"; + + // get a toml::node_view of the element 'numbers' using operator[] + auto numbers = tbl["numbers"]; + std::cout << "table has 'numbers': " << !!numbers << "\n"; + std::cout << "numbers is an: " << numbers.type() << "\n"; + std::cout << "numbers: " << numbers << "\n"; + + // get the underlying array object to do some more advanced stuff + if (toml::array* arr = numbers.as_array()) + { + for (toml::node& elem : *arr) + { + // visitation helps deal with the polymorphic nature of TOML data + elem.visit([](auto&& el) noexcept + { + if constexpr (toml::is_number<decltype(el)>) + (*el)++; + else if constexpr (toml::is_string<decltype(el)>) + el = "five"sv; + }); + } + + // arrays are very similar to std::vector + arr->push_back(7); + arr->emplace_back<toml::array>(8, 9); + std::cout << "numbers: " << numbers << "\n"; + } + + // node-views can be chained to quickly query deeper + std::cout << "cats: " << tbl["animals"]["cats"] << "\n"; + std::cout << "fish[1]: " << tbl["animals"]["fish"][1] << "\n"; + + // ...even if the element doesn't exist + std::cout << "dinosaurs: " << tbl["animals"]["dinosaurs"] << "\n"; //no dinosaurs :( + + return 0; +}
                                                                                                                              hello world
                                                                                                                              +hello world
                                                                                                                              +hello world
                                                                                                                              +hello world
                                                                                                                              +table has 'numbers': 1
                                                                                                                              +numbers is an: array
                                                                                                                              +numbers: [ 1, 2, 3, 'four', 5.0 ]
                                                                                                                              +numbers: [ 2, 3, 4, 'five', 6.0, 7, [ 8, 9 ] ]
                                                                                                                              +cats: [ 'tiger', 'lion', 'puma' ]
                                                                                                                              +fish[1]: 'trout'
                                                                                                                              +dinosaurs: 

                                                                                                                              Serializing as TOML and JSON

                                                                                                                              All toml++ data types have overloaded operator<< for ostreams, so 'serializing' a set of TOML data to actual TOML is done just by printing it to an ostream. Converting it to JSON is done in the same way, but via a toml::json_formatter.

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              #include <iostream> +#include <toml++/toml.h> + +int main() +{ + auto tbl = toml::table{{ + { "lib", "toml++" }, + { "cpp", toml::array{ 17, 20, "and beyond" } }, + { "toml", toml::array{ "1.0.0", "and beyond" } }, + { "repo", "https://github.com/marzer/tomlplusplus/" }, + { "author", toml::table{{ + { "name", "Mark Gillard" }, + { "github", "https://github.com/marzer" }, + { "twitter", "https://twitter.com/marzer8789" } + }} + }, + }}; + + // serializing as TOML + std::cout << "###### TOML ######" << "\n\n"; + std::cout << tbl << "\n\n"; + + // serializing as JSON using toml::json_formatter: + std::cout << "###### JSON ######" << "\n\n"; + std::cout << toml::json_formatter{ tbl } << "\n\n"; + return 0; +}
                                                                                                                              ###### TOML ######
                                                                                                                              +
                                                                                                                              +cpp = [ 17, 20, 'and beyond' ]
                                                                                                                              +lib = 'toml++'
                                                                                                                              +repo = 'https://github.com/marzer/tomlplusplus/'
                                                                                                                              +toml = [ '1.0.0', 'and beyond' ]
                                                                                                                              +
                                                                                                                              +[author]
                                                                                                                              +github = 'https://github.com/marzer'
                                                                                                                              +name = 'Mark Gillard'
                                                                                                                              +twitter = 'https://twitter.com/marzer8789'
                                                                                                                              +
                                                                                                                              +###### JSON ######
                                                                                                                              +
                                                                                                                              +{
                                                                                                                              +    "author" : {
                                                                                                                              +        "github" : "https://github.com/marzer", 
                                                                                                                              +        "name" : "Mark Gillard", 
                                                                                                                              +        "twitter" : "https://twitter.com/marzer8789"
                                                                                                                              +    }, 
                                                                                                                              +    "cpp" : [
                                                                                                                              +        17,
                                                                                                                              +        20,
                                                                                                                              +        "and beyond"
                                                                                                                              +    ], 
                                                                                                                              +    "lib" : "toml++", 
                                                                                                                              +    "repo" : "https://github.com/marzer/tomlplusplus/", 
                                                                                                                              +    "toml" : [
                                                                                                                              +        "1.0.0",
                                                                                                                              +        "and beyond"
                                                                                                                              +    ]
                                                                                                                              +}

                                                                                                                              Speeding up compilation

                                                                                                                              Because toml++ is a header-only library of nontrivial size you might find that compilation times noticeably increase after you add it to your project, especially if you add the library's header somewhere that's visible from a large number of translation units. You can counter this by disabling header-only mode and explicitly controlling where the library's implementation is compiled.

                                                                                                                              Step 1: Set TOML_HEADER_ONLY to 0 before including toml++

                                                                                                                              This must be the same everywhere, so either set it as a global #define in your build system, or do it manually before including toml++ in some global header that's used everywhere in your project:

                                                                                                                              // global_header_that_includes_toml++.h
                                                                                                                              +
                                                                                                                              +#define TOML_HEADER_ONLY 0
                                                                                                                              +#include <toml.hpp>

                                                                                                                              Step 2: Define TOML_IMPLEMENTATION before including toml++ in one specific translation unit

                                                                                                                              // some_code_file.cpp
                                                                                                                              +
                                                                                                                              +#define TOML_IMPLEMENTATION 
                                                                                                                              +#include "global_header_that_includes_toml++.h"

                                                                                                                              Bonus Step: Disable the parser if you don't need it

                                                                                                                              If all you need to do is serialize some code-generated TOML and don't actually need the parser at all you can set TOML_PARSER to 0 to disable the parser altogether. This can yield fairly significant compilation speedups since the parser accounts for a good chunk of the library's code.

                                                                                                                              Adding toml++ to your project

                                                                                                                              The library comes in two flavours, 🍦️ Single-header and 🍨️ Regular. The API is the same for both.

                                                                                                                              "The old fashioned way"

                                                                                                                              Clone the repository from GitHub, and then:

                                                                                                                              🍦️ Single-header flavour

                                                                                                                              1. Drop toml.hpp wherever you like in your source tree
                                                                                                                              2. There is no step two

                                                                                                                              🍨️ Regular flavour

                                                                                                                              1. Add tomlplusplus/include to your include paths
                                                                                                                              2. #include <toml++/toml.h>

                                                                                                                              Conan

                                                                                                                              Add tomlplusplus/2.4.0 to your conanfile.

                                                                                                                              DDS

                                                                                                                              Add tomlpp to your package.json5, e.g.:

                                                                                                                              depends: [
                                                                                                                              +    'tomlpp^2.4.0',
                                                                                                                              +]

                                                                                                                              Meson

                                                                                                                              The library supports being added as a subproject in the meson build system.

                                                                                                                              Vcpkg

                                                                                                                              vcpkg install tomlplusplus

                                                                                                                              CMake FetchContent

                                                                                                                              include(FetchContent)
                                                                                                                              +FetchContent_Declare(
                                                                                                                              +    tomlplusplus
                                                                                                                              +    GIT_REPOSITORY https://github.com/marzer/tomlplusplus.git
                                                                                                                              +    GIT_TAG        v2.4.0
                                                                                                                              +)
                                                                                                                              +FetchContent_MakeAvailable(tomlplusplus)

                                                                                                                              Other environments and package managers

                                                                                                                              toml++ is a fairly new project and I'm not up-to-speed with all of the available packaging and integration options in the modern C++ ecosystem. I'm also a cmake novice, for better or worse. If there's an integration option missing be assured that I fully support it being added, and welcome pull requests!

                                                                                                                              Special mention: Python

                                                                                                                              Yes, you read correctly, python. There exists a python wrapper built around toml++ called pytomlpp:

                                                                                                                              pip install pytomlpp

                                                                                                                              Note that I'm not the developer or maintainer of that project so if you wish to report a bug relating to the python implementation, please do so at their repository, not on the main toml++ one.

                                                                                                                              Library configuration options

                                                                                                                              The library exposes a number of configuration options in the form of compiler #defines. Things like changing the optional<T> type, disabling header-only mode, et cetera. The full list of configurables can be found on the Library Configuration page.

                                                                                                                              Contributing

                                                                                                                              Contributions are very welcome! Either by reporting issues or submitting pull requests. If you wish to submit a pull request, please see CONTRIBUTING for all the details you need to get going.

                                                                                                                              License

                                                                                                                              toml++ is licensed under the terms of the MIT license - see LICENSE.

                                                                                                                              If you're using the single-header version of the library you don't need to explicitly distribute the license file; it is embedded in the preamble at the top of the header.

                                                                                                                              Contacting the author

                                                                                                                              For bug reports and feature requests please use the Github Issues system. For anything else you're welcome to reach out via other means. In order of likely response speed:

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.4.0/logo.png b/v2.4.0/logo.png new file mode 100644 index 00000000..00491256 Binary files /dev/null and b/v2.4.0/logo.png differ diff --git a/v2.4.0/modules.html b/v2.4.0/modules.html new file mode 100644 index 00000000..1d0680a1 --- /dev/null +++ b/v2.4.0/modules.html @@ -0,0 +1,138 @@ + + + + toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Modules

                                                                                                                              + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.4.0/namespaces.html b/v2.4.0/namespaces.html new file mode 100644 index 00000000..77146f2c --- /dev/null +++ b/v2.4.0/namespaces.html @@ -0,0 +1,143 @@ + + + + toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Namespaces

                                                                                                                              +
                                                                                                                                +
                                                                                                                              • + namespace toml The root namespace for all toml++ functions and types. +
                                                                                                                                  +
                                                                                                                                • namespace literals inline Convenience literal operators for working with toml++.
                                                                                                                                • +
                                                                                                                                +
                                                                                                                              • +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.4.0/namespacetoml.html b/v2.4.0/namespacetoml.html new file mode 100644 index 00000000..1ca94528 --- /dev/null +++ b/v2.4.0/namespacetoml.html @@ -0,0 +1,1141 @@ + + + + toml namespace | toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml namespace +

                                                                                                                              +

                                                                                                                              The root namespace for all toml++ functions and types.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Namespaces

                                                                                                                              +
                                                                                                                              +
                                                                                                                              namespace literals inline
                                                                                                                              +
                                                                                                                              Convenience literal operators for working with toml++.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Classes

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + class array +
                                                                                                                              +
                                                                                                                              A TOML array.
                                                                                                                              +
                                                                                                                              + struct date +
                                                                                                                              +
                                                                                                                              A local date.
                                                                                                                              +
                                                                                                                              + struct date_time +
                                                                                                                              +
                                                                                                                              A date-time.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char = char>
                                                                                                                              + class default_formatter +
                                                                                                                              +
                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted TOML.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + struct inserter +
                                                                                                                              +
                                                                                                                              Helper class for suppressing move-construction in single-argument array constructors.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char = char>
                                                                                                                              + class json_formatter +
                                                                                                                              +
                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted JSON.
                                                                                                                              +
                                                                                                                              + class node +
                                                                                                                              +
                                                                                                                              A TOML node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ViewedType>
                                                                                                                              + class node_view +
                                                                                                                              +
                                                                                                                              A view of a node.
                                                                                                                              +
                                                                                                                              + class parse_error +
                                                                                                                              +
                                                                                                                              An error generated when parsing fails.
                                                                                                                              +
                                                                                                                              + class parse_result +
                                                                                                                              +
                                                                                                                              The result of a parsing operation.
                                                                                                                              +
                                                                                                                              + struct source_position +
                                                                                                                              +
                                                                                                                              A source document line-and-column pair.
                                                                                                                              +
                                                                                                                              + struct source_region +
                                                                                                                              +
                                                                                                                              A source document region.
                                                                                                                              +
                                                                                                                              + class table +
                                                                                                                              +
                                                                                                                              A TOML table.
                                                                                                                              +
                                                                                                                              + struct time +
                                                                                                                              +
                                                                                                                              A local time-of-day.
                                                                                                                              +
                                                                                                                              + struct time_offset +
                                                                                                                              +
                                                                                                                              A timezone offset.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ValueType>
                                                                                                                              + class value +
                                                                                                                              +
                                                                                                                              A TOML value.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Enums

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + enum class format_flags: uint8_t { none, + quote_dates_and_times = 1, + allow_literal_strings = 2, + allow_multi_line_strings = 4, + allow_value_format_flags = 8 } +
                                                                                                                              +
                                                                                                                              Format flags for modifying how TOML data is printed to streams.
                                                                                                                              +
                                                                                                                              + enum class node_type: uint8_t { none, + table, + array, + string, + integer, + floating_point, + boolean, + date, + time, + date_time } +
                                                                                                                              +
                                                                                                                              TOML node type identifiers.
                                                                                                                              +
                                                                                                                              + enum class value_flags: uint8_t { none, + format_as_binary = 1, + format_as_octal = 2, + format_as_hexadecimal = 3 } +
                                                                                                                              +
                                                                                                                              Metadata associated with TOML values.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Typedefs

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using array_iterator = impl::array_iterator<false> +
                                                                                                                              +
                                                                                                                              A RandomAccessIterator for iterating over elements in a toml::array.
                                                                                                                              +
                                                                                                                              + using const_array_iterator = impl::array_iterator<true> +
                                                                                                                              +
                                                                                                                              A RandomAccessIterator for iterating over const elements in a toml::array.
                                                                                                                              +
                                                                                                                              + using const_table_iterator = impl::table_iterator<true> +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over const key-value pairs in a toml::table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + using optional = std::optional<T> +
                                                                                                                              +
                                                                                                                              The 'optional' type used throughout the library.
                                                                                                                              +
                                                                                                                              + using source_index = uint16_t +
                                                                                                                              +
                                                                                                                              The integer type used to tally line numbers and columns.
                                                                                                                              +
                                                                                                                              + using source_path_ptr = std::shared_ptr<const std::string> +
                                                                                                                              +
                                                                                                                              A pointer to a shared string resource containing a source path.
                                                                                                                              +
                                                                                                                              + using table_iterator = impl::table_iterator<false> +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over key-value pairs in a toml::table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator""_toml(const char* str, + size_t len) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses TOML data from a string literal.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char>
                                                                                                                              + auto operator<<(std::basic_ostream<Char>& lhs, + node_type rhs) -> std::basic_ostream<Char>& +
                                                                                                                              +
                                                                                                                              Pretty-prints the value of a node_type to a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char>
                                                                                                                              + auto operator<<(std::basic_ostream<Char>& lhs, + const date& rhs) -> std::basic_ostream<Char>& +
                                                                                                                              +
                                                                                                                              Prints a date out to a stream as YYYY-MM-DD (per RFC 3339).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char>
                                                                                                                              + auto operator<<(std::basic_ostream<Char>& lhs, + const time& rhs) -> std::basic_ostream<Char>& +
                                                                                                                              +
                                                                                                                              Prints a time out to a stream as HH:MM:SS.FFFFFF (per RFC 3339).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char>
                                                                                                                              + auto operator<<(std::basic_ostream<Char>& lhs, + const time_offset& rhs) -> std::basic_ostream<Char>& +
                                                                                                                              +
                                                                                                                              Prints a time_offset out to a stream as +-HH:MM or Z (per RFC 3339).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char>
                                                                                                                              + auto operator<<(std::basic_ostream<Char>& lhs, + const date_time& rhs) -> std::basic_ostream<Char>& +
                                                                                                                              +
                                                                                                                              Prints a date_time out to a stream in RFC 3339 format.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T, typename U>
                                                                                                                              + auto operator<<(std::basic_ostream<T>& lhs, + default_formatter<U>& rhs) -> std::basic_ostream<T>& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as formatted TOML.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T, typename U>
                                                                                                                              + auto operator<<(std::basic_ostream<T>& lhs, + default_formatter<U>&& rhs) -> std::basic_ostream<T>& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as formatted TOML (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T, typename U>
                                                                                                                              + auto operator<<(std::basic_ostream<T>& lhs, + json_formatter<U>& rhs) -> std::basic_ostream<T>& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as JSON.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T, typename U>
                                                                                                                              + auto operator<<(std::basic_ostream<T>& lhs, + json_formatter<U>&& rhs) -> std::basic_ostream<T>& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as JSON (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char, typename T>
                                                                                                                              + auto operator<<(std::basic_ostream<Char>& os, + const node_view<T>& nv) -> std::basic_ostream<Char>& +
                                                                                                                              +
                                                                                                                              Prints the viewed node out to a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char>
                                                                                                                              + auto operator<<(std::basic_ostream<Char>& lhs, + const parse_error& rhs) -> std::basic_ostream<Char>& +
                                                                                                                              +
                                                                                                                              Prints a parse_error to a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char>
                                                                                                                              + auto operator<<(std::basic_ostream<Char>& lhs, + const source_position& rhs) -> std::basic_ostream<Char>& +
                                                                                                                              +
                                                                                                                              Prints a source_position to a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char>
                                                                                                                              + auto operator<<(std::basic_ostream<Char>& lhs, + const source_region& rhs) -> std::basic_ostream<Char>& +
                                                                                                                              +
                                                                                                                              Prints a source_region to a stream.
                                                                                                                              +
                                                                                                                              + auto parse(std::string_view doc, + std::string_view source_path = {}) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::string_view doc, + std::string&& source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::string_view doc, + std::wstring_view source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a string view.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char>
                                                                                                                              + auto parse(std::basic_istream<Char>& doc, + std::string_view source_path = {}) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char>
                                                                                                                              + auto parse(std::basic_istream<Char>& doc, + std::string&& source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char>
                                                                                                                              + auto parse(std::basic_istream<Char>& doc, + std::wstring_view source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a stream.
                                                                                                                              +
                                                                                                                              + auto parse_file(std::string_view file_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a file.
                                                                                                                              +
                                                                                                                              + auto parse_file(std::wstring_view file_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a file.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_array constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is a toml::array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_boolean constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is a bool toml::value<bool>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_date constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is a toml::date or toml::value<date>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_date_time constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is a toml::date_time or toml::value<date_time>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_floating_point constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is a double or toml::value<double>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_integer constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is an int64_t or toml::value<int64_t>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_node_view constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is a toml::node_view.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_number constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type satisfies toml::is_integer || toml::is_floating_point.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_string constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is a std::string or toml::value<std::string>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_table constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is a toml::table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_time constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is a toml::time or toml::value<time>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Enum documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + enum class toml::format_flags: uint8_t +

                                                                                                                              +

                                                                                                                              Format flags for modifying how TOML data is printed to streams.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Enumerators
                                                                                                                              none +

                                                                                                                              None.

                                                                                                                              +
                                                                                                                              quote_dates_and_times +

                                                                                                                              Dates and times will be emitted as quoted strings.

                                                                                                                              +
                                                                                                                              allow_literal_strings +

                                                                                                                              Strings will be emitted as single-quoted literal strings where possible.

                                                                                                                              +
                                                                                                                              allow_multi_line_strings +

                                                                                                                              Strings containing newlines will be emitted as triple-quoted 'multi-line' strings where possible.

                                                                                                                              +
                                                                                                                              allow_value_format_flags +

                                                                                                                              Values with special format flags will be formatted accordingly.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + enum class toml::node_type: uint8_t +

                                                                                                                              +

                                                                                                                              TOML node type identifiers.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Enumerators
                                                                                                                              none +

                                                                                                                              Not-a-node.

                                                                                                                              +
                                                                                                                              table +

                                                                                                                              The node is a toml::table.

                                                                                                                              +
                                                                                                                              array +

                                                                                                                              The node is a toml::array.

                                                                                                                              +
                                                                                                                              string +

                                                                                                                              The node is a toml::value<std::string>.

                                                                                                                              +
                                                                                                                              integer +

                                                                                                                              The node is a toml::value<int64_t>.

                                                                                                                              +
                                                                                                                              floating_point +

                                                                                                                              The node is a toml::value<double>.

                                                                                                                              +
                                                                                                                              boolean +

                                                                                                                              The node is a toml::value<bool>.

                                                                                                                              +
                                                                                                                              date +

                                                                                                                              The node is a toml::value<date>.

                                                                                                                              +
                                                                                                                              time +

                                                                                                                              The node is a toml::value<time>.

                                                                                                                              +
                                                                                                                              date_time +

                                                                                                                              The node is a toml::value<date_time>.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + enum class toml::value_flags: uint8_t +

                                                                                                                              +

                                                                                                                              Metadata associated with TOML values.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Enumerators
                                                                                                                              none +

                                                                                                                              None.

                                                                                                                              +
                                                                                                                              format_as_binary +

                                                                                                                              Format integer values as binary.

                                                                                                                              +
                                                                                                                              format_as_octal +

                                                                                                                              Format integer values as octal.

                                                                                                                              +
                                                                                                                              format_as_hexadecimal +

                                                                                                                              Format integer values as hexadecimal.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Typedef documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + using toml::optional = std::optional<T> +

                                                                                                                              +

                                                                                                                              The 'optional' type used throughout the library.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + using toml::source_index = uint16_t +

                                                                                                                              +

                                                                                                                              The integer type used to tally line numbers and columns.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Char> +
                                                                                                                              + std::basic_ostream<Char>& toml::operator<<(std::basic_ostream<Char>& lhs, + node_type rhs) +

                                                                                                                              +

                                                                                                                              Pretty-prints the value of a node_type to a stream.

                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2.0, "3", false };
                                                                                                                              +for (size_t i = 0; i < arr.size() i++)
                                                                                                                              +    std::cout << "Element ["sv << i << "] is: "sv << arr[i].type() << "\n";
                                                                                                                              Element [0] is: integer
                                                                                                                              +Element [1] is: floating-point
                                                                                                                              +Element [2] is: string
                                                                                                                              +Element [3] is: boolean
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Char> +
                                                                                                                              + std::basic_ostream<Char>& toml::operator<<(std::basic_ostream<Char>& lhs, + const date& rhs) +

                                                                                                                              +

                                                                                                                              Prints a date out to a stream as YYYY-MM-DD (per RFC 3339).

                                                                                                                              +
                                                                                                                              std::cout << toml::date{ 1987, 3, 16 } << "\n";
                                                                                                                              1987-03-16
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Char> +
                                                                                                                              + std::basic_ostream<Char>& toml::operator<<(std::basic_ostream<Char>& lhs, + const time& rhs) +

                                                                                                                              +

                                                                                                                              Prints a time out to a stream as HH:MM:SS.FFFFFF (per RFC 3339).

                                                                                                                              +
                                                                                                                              std::cout << toml::time{ 10, 20, 34 } << "\n";
                                                                                                                              +std::cout << toml::time{ 10, 20, 34, 500000000 } << "\n";
                                                                                                                              10:20:34
                                                                                                                              +10:20:34.5
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Char> +
                                                                                                                              + std::basic_ostream<Char>& toml::operator<<(std::basic_ostream<Char>& lhs, + const time_offset& rhs) +

                                                                                                                              +

                                                                                                                              Prints a time_offset out to a stream as +-HH:MM or Z (per RFC 3339).

                                                                                                                              +
                                                                                                                              std::cout << toml::time_offset{ 2, 30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{ 2, -30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{} << "\n";
                                                                                                                              +std::cout << toml::time_offset{ -2, 30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{ -2, -30 } << "\n";
                                                                                                                              +02:30
                                                                                                                              ++01:30
                                                                                                                              +Z
                                                                                                                              +-01:30
                                                                                                                              +-02:30
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Char> +
                                                                                                                              + std::basic_ostream<Char>& toml::operator<<(std::basic_ostream<Char>& lhs, + const date_time& rhs) +

                                                                                                                              +

                                                                                                                              Prints a date_time out to a stream in RFC 3339 format.

                                                                                                                              +
                                                                                                                              std::cout << toml::date_time{ { 1987, 3, 16 }, { 10, 20, 34 } } << "\n";
                                                                                                                              +std::cout << toml::date_time{ { 1987, 3, 16 }, { 10, 20, 34 }, { -2, -30 } } << "\n";
                                                                                                                              +std::cout << toml::date_time{ { 1987, 3, 16 }, { 10, 20, 34 }, {} } << "\n";
                                                                                                                              1987-03-16T10:20:34
                                                                                                                              +1987-03-16T10:20:34-02:30
                                                                                                                              +1987-03-16T10:20:34Z
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Char> +
                                                                                                                              + std::basic_ostream<Char>& toml::operator<<(std::basic_ostream<Char>& lhs, + const parse_error& rhs) +

                                                                                                                              +

                                                                                                                              Prints a parse_error to a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              CharThe output stream's underlying character type. Must be 1 byte in size.
                                                                                                                              Parameters
                                                                                                                              lhsThe stream.
                                                                                                                              rhsThe parse_error.
                                                                                                                              ReturnsThe input stream.
                                                                                                                              +
                                                                                                                              try
                                                                                                                              +{
                                                                                                                              +    auto tbl = toml::parse("enabled = trUe"sv);
                                                                                                                              +}
                                                                                                                              +catch (const toml::parse_error & err)
                                                                                                                              +{
                                                                                                                              +    std::cerr << "Parsing failed:\n"sv << err << "\n";
                                                                                                                              +}
                                                                                                                              Parsing failed:
                                                                                                                              +Encountered unexpected character while parsing boolean; expected 'true', saw 'trU'
                                                                                                                              +    (error occurred at line 1, column 13)
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Char> +
                                                                                                                              + std::basic_ostream<Char>& toml::operator<<(std::basic_ostream<Char>& lhs, + const source_position& rhs) +

                                                                                                                              +

                                                                                                                              Prints a source_position to a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              CharThe output stream's underlying character type. Must be 1 byte in size.
                                                                                                                              Parameters
                                                                                                                              lhsThe stream.
                                                                                                                              rhsThe source_position.
                                                                                                                              ReturnsThe input stream.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse("bar = 42"sv);
                                                                                                                              +
                                                                                                                              +std::cout << "The value for 'bar' was found on "sv
                                                                                                                              +    << tbl.get("bar")->source().begin()
                                                                                                                              +    << "\n";
                                                                                                                              The value for 'bar' was found on line 1, column 7
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Char> +
                                                                                                                              + std::basic_ostream<Char>& toml::operator<<(std::basic_ostream<Char>& lhs, + const source_region& rhs) +

                                                                                                                              +

                                                                                                                              Prints a source_region to a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              CharThe output stream's underlying character type. Must be 1 byte in size.
                                                                                                                              Parameters
                                                                                                                              lhsThe stream.
                                                                                                                              rhsThe source_position.
                                                                                                                              ReturnsThe input stream.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse("bar = 42", "config.toml");
                                                                                                                              +
                                                                                                                              +std::cout << "The value for 'bar' was found on "sv
                                                                                                                              +    << tbl.get("bar")->source()
                                                                                                                              +    << "\n";
                                                                                                                              The value for 'bar' was found on line 1, column 7 of 'config.toml'
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::string_view doc, + std::string_view source_path = {}) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse("a = 3"sv);
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::string_view doc, + std::string&& source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse("a = 3"sv, "foo.toml");
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::string_view doc, + std::wstring_view source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse("a = 3"sv, L"foo.toml");
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Char> +
                                                                                                                              + parse_result toml::parse(std::basic_istream<Char>& doc, + std::string_view source_path = {}) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              CharThe stream's underlying character type. Must be 1 byte in size.
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              std::stringstream ss;
                                                                                                                              +ss << "a = 3"sv;
                                                                                                                              +
                                                                                                                              +auto tbl = toml::parse(ss);
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Char> +
                                                                                                                              + parse_result toml::parse(std::basic_istream<Char>& doc, + std::string&& source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              CharThe stream's underlying character type. Must be 1 byte in size.
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              std::stringstream ss;
                                                                                                                              +ss << "a = 3"sv;
                                                                                                                              +
                                                                                                                              +auto tbl = toml::parse(ss, "foo.toml");
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Char> +
                                                                                                                              + parse_result toml::parse(std::basic_istream<Char>& doc, + std::wstring_view source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              CharThe stream's underlying character type. Must be 1 byte in size.
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              std::stringstream ss;
                                                                                                                              +ss << "a = 3"sv;
                                                                                                                              +
                                                                                                                              +auto tbl = toml::parse(ss);
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse_file(std::string_view file_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a file.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              file_pathThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              toml::parse_result get_foo_toml()
                                                                                                                              +{
                                                                                                                              +    return toml::parse_file("foo.toml");
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse_file(std::wstring_view file_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a file.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              file_pathThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              toml::parse_result get_foo_toml()
                                                                                                                              +{
                                                                                                                              +    return toml::parse_file(L"foo.toml");
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.4.0/namespacetoml_1_1literals.html b/v2.4.0/namespacetoml_1_1literals.html new file mode 100644 index 00000000..d0883b4f --- /dev/null +++ b/v2.4.0/namespacetoml_1_1literals.html @@ -0,0 +1,189 @@ + + + + toml::literals namespace | toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::literals namespace inline +

                                                                                                                              +

                                                                                                                              Convenience literal operators for working with toml++.

                                                                                                                              + +

                                                                                                                              This namespace exists so you can safely hoist the toml++ literal operators into another scope without dragging in everything from the toml namespace:

                                                                                                                              #include <toml++/toml.h>
                                                                                                                              +using namespace toml::literals;
                                                                                                                              +
                                                                                                                              +int main()
                                                                                                                              +{
                                                                                                                              +    toml::table tbl = "vals = [1, 2, 3]"_toml;
                                                                                                                              +
                                                                                                                              +    // ... do stuff with the table generated by the "_toml" literal ...
                                                                                                                              +
                                                                                                                              +    return 0;
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator""_toml(const char* str, + size_t len) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses TOML data from a string literal.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::literals::operator""_toml(const char* str, + size_t len) +

                                                                                                                              +

                                                                                                                              Parses TOML data from a string literal.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              strThe string data. Must be valid UTF-8.
                                                                                                                              lenThe string length.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              using namespace toml::literals;
                                                                                                                              +
                                                                                                                              +auto tbl = "a = 3"_toml;
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.4.0/pages.html b/v2.4.0/pages.html new file mode 100644 index 00000000..898cc90f --- /dev/null +++ b/v2.4.0/pages.html @@ -0,0 +1,137 @@ + + + + toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Pages

                                                                                                                              +
                                                                                                                                +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.4.0/search-v2.js b/v2.4.0/search-v2.js new file mode 100644 index 00000000..1fb71e1f --- /dev/null +++ b/v2.4.0/search-v2.js @@ -0,0 +1,897 @@ +/* + This file is part of m.css. + + Copyright © 2017, 2018, 2019, 2020, 2021, 2022, 2023 + Vladimír Vondruš + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +*/ + +"use strict"; /* it summons the Cthulhu in a proper way, they say */ + +var Search = { + formatVersion: 2, /* the data filename contains this number too */ + + dataSize: 0, /* used mainly by tests, not here */ + symbolCount: '…', + trie: null, + map: null, + mapFlagsOffset: null, + typeMap: null, + maxResults: 0, + + /* Type sizes and masks. The data is always fetched as 16/32bit number and + then masked to 1, 2, 3 or 4 bytes. Fortunately on LE a mask is enough, + on BE we'd have to read N bytes before and then mask. */ + nameSizeBytes: null, + nameSizeMask: null, + resultIdBytes: null, + resultIdMask: null, + fileOffsetBytes: null, + fileOffsetMask: null, + lookaheadBarrierMask: null, + + /* Always contains at least the root node offset and then one node offset + per entered character */ + searchString: '', + searchStack: [], + + /* So items don't get selected right away when a cursor is over results but + only after mouse moves */ + mouseMovedSinceLastRender: false, + + /* Whether we can go back in history in order to hide the search box or + not. We can't do that if we arrived directly on #search from outside. */ + canGoBackToHideSearch: false, + + /* Autocompletion in the input field is whitelisted only for character + input (so not deletion, cut, or anything else). This is flipped in the + onkeypress event and reset after each oninput event. */ + autocompleteNextInputEvent: false, + + init: function(buffer, maxResults) { + let view = new DataView(buffer); + + /* The file is too short to contain at least the headers and empty + sections */ + if(view.byteLength < 31) { + console.error("Search data too short"); + return false; + } + + if(view.getUint8(0) != 'M'.charCodeAt(0) || + view.getUint8(1) != 'C'.charCodeAt(0) || + view.getUint8(2) != 'S'.charCodeAt(0)) { + console.error("Invalid search data signature"); + return false; + } + + if(view.getUint8(3) != this.formatVersion) { + console.error("Invalid search data version"); + return false; + } + + /* Fetch type sizes. The only value that can fail is result ID byte + count, where value of 3 has no assigned meaning. */ + let typeSizes = view.getUint8(4, true); + if((typeSizes & 0x01) >> 0 == 0) { + this.fileOffsetBytes = 3; + this.fileOffsetMask = 0x00ffffff; + this.lookaheadBarrierMask = 0x00800000; + } else /* (typeSizes & 0x01) >> 0 == 1 */ { + this.fileOffsetBytes = 4; + this.fileOffsetMask = 0xffffffff; + this.lookaheadBarrierMask = 0x80000000; + } + if((typeSizes & 0x06) >> 1 == 0) { + this.resultIdBytes = 2; + this.resultIdMask = 0x0000ffff; + } else if((typeSizes & 0x06) >> 1 == 1) { + this.resultIdBytes = 3; + this.resultIdMask = 0x00ffffff; + } else if((typeSizes & 0x06) >> 1 == 2) { + this.resultIdBytes = 4; + this.resultIdMask = 0xffffffff; + } else /* (typeSizes & 0x06) >> 1 == 3 */ { + console.error("Invalid search data result ID byte value"); + return false; + } + if((typeSizes & 0x08) >> 3 == 0) { + this.nameSizeBytes = 1; + this.nameSizeMask = 0x00ff; + } else /* (typeSizes & 0x08) >> 3 == 1 */ { + this.nameSizeBytes = 2; + this.nameSizeMask = 0xffff; + } + + /* Separate the data into the trie and the result / type map. Because + we're reading larger values than there might be and then masking out + the high bytes, keep extra 1/2 byte padding at the end to avoid + OOB errors. */ + let mapOffset = view.getUint32(12, true); + let typeMapOffset = view.getUint32(16, true); + /* There may be a 3-byte file offset at the end of the trie which we'll + read as 32-bit, add one safety byte in that case */ + this.trie = new DataView(buffer, 20, mapOffset - 20 + (4 - this.fileOffsetBytes)); + /* There may be a 3-byte file size (for zero results) which we'll read + as 32-bit, add one safety byte in that case */ + this.map = new DataView(buffer, mapOffset, typeMapOffset - mapOffset + (4 - this.fileOffsetBytes)); + /* No variable-size types in the type map at the moment */ + this.typeMap = new DataView(buffer, typeMapOffset); + + /* Offset of the first result map item is after N + 1 offsets and N + flags, calculate flag offset from that */ + this.mapFlagsOffset = this.fileOffsetBytes*(((this.map.getUint32(0, true) & this.fileOffsetMask) - this.fileOffsetBytes)/(this.fileOffsetBytes + 1) + 1); + + /* Set initial properties */ + this.dataSize = buffer.byteLength; + this.symbolCount = view.getUint32(8, true) + " symbols (" + Math.round(this.dataSize/102.4)/10 + " kB)"; + this.maxResults = maxResults ? maxResults : 100; + this.searchString = ''; + this.searchStack = [this.trie.getUint32(0, true)]; + + /* istanbul ignore if */ + if(typeof document !== 'undefined') { + document.getElementById('search-symbolcount').innerHTML = this.symbolCount; + document.getElementById('search-input').disabled = false; + document.getElementById('search-input').placeholder = "Type something here …"; + document.getElementById('search-input').focus(); + + /* Search for the input value (there might be something already, + for example when going back in the browser) */ + let value = document.getElementById('search-input').value; + + /* Otherwise check the GET parameters for `q` and fill the input + with that */ + if(!value.length) { + var args = decodeURIComponent(window.location.search.substr(1)).trim().split('&'); + for(var i = 0; i != args.length; ++i) { + if(args[i].substring(0, 2) != 'q=') continue; + + value = document.getElementById('search-input').value = args[i].substring(2); + break; + } + } + + if(value.length) Search.searchAndRender(value); + } + + return true; + }, + + download: /* istanbul ignore next */ function(url) { + var req = window.XDomainRequest ? new XDomainRequest() : new XMLHttpRequest(); + if(!req) return; + + req.open("GET", url, true); + req.responseType = 'arraybuffer'; + req.onreadystatechange = function() { + if(req.readyState != 4) return; + + Search.init(req.response); + } + req.send(); + }, + + base85decode: function(base85string) { + function charValue(char) { + if(char >= 48 && char < 58) /* 0-9 -> 0-9 */ + return char - 48 + 0; + if(char >= 65 && char < 91) /* A-Z -> 10-35 */ + return char - 65 + 10; + if(char >= 97 && char < 123) /* a-z -> 36-61 */ + return char - 97 + 36; + if(char == 33) /* ! -> 62 */ + return 62; + /* skipping 34 (') */ + if(char >= 35 && char < 39) /* #-& -> 63-66 */ + return char - 35 + 63; + /* skipping 39 (") */ + if(char >= 40 && char < 44) /* (-+ -> 67-70 */ + return char - 40 + 67; + /* skipping 44 (,) */ + if(char == 45) /* - -> 71 */ + return 71; + if(char >= 59 && char < 65) /* ;-@ -> 72-77 */ + return char - 59 + 72; + if(char >= 94 && char < 97) /* ^-` -> 78-80 */ + return char - 94 + 78; + if(char >= 123 && char < 127) /* {-~ -> 81-84 */ + return char - 123 + 81; + + return 0; /* Interpret padding values as zeros */ + } + + /* Pad the string for easier decode later. We don't read past the file + end, so it doesn't matter what garbage is there. */ + if(base85string.length % 5) { + console.log("Expected properly padded base85 data"); + return; + } + + let buffer = new ArrayBuffer(base85string.length*4/5); + let data8 = new DataView(buffer); + for(let i = 0; i < base85string.length; i += 5) { + let char1 = charValue(base85string.charCodeAt(i + 0)); + let char2 = charValue(base85string.charCodeAt(i + 1)); + let char3 = charValue(base85string.charCodeAt(i + 2)); + let char4 = charValue(base85string.charCodeAt(i + 3)); + let char5 = charValue(base85string.charCodeAt(i + 4)); + + data8.setUint32(i*4/5, char5 + + char4*85 + + char3*85*85 + + char2*85*85*85 + + char1*85*85*85*85, false); /* BE, yes */ + } + + return buffer; + }, + + load: function(base85string) { + return this.init(this.base85decode(base85string)); + }, + + /* http://ecmanaut.blogspot.com/2006/07/encoding-decoding-utf8-in-javascript.html */ + toUtf8: function(string) { return unescape(encodeURIComponent(string)); }, + fromUtf8: function(string) { return decodeURIComponent(escape(string)); }, + + autocompletedCharsToUtf8: function(chars) { + /* Strip incomplete UTF-8 chars from the autocompletion end */ + for(let i = chars.length - 1; i >= 0; --i) { + let c = chars[i]; + + /* We're safe, finish */ + if( + /* ASCII value at the end */ + (c < 128 && i + 1 == chars.length) || + + /* Full two-byte character at the end */ + ((c & 0xe0) == 0xc0 && i + 2 == chars.length) || + + /* Full three-byte character at the end */ + ((c & 0xf0) == 0xe0 && i + 3 == chars.length) || + + /* Full four-byte character at the end */ + ((c & 0xf8) == 0xf0 && i + 4 == chars.length) + ) break; + + /* Continuing UTF-8 character, go further back */ + if((c & 0xc0) == 0x80) continue; + + /* Otherwise the character is not complete, drop it from the end */ + chars.length = i; + break; + } + + /* Convert the autocompleted UTF-8 sequence to a string */ + let suggestedTabAutocompletionString = ''; + for(let i = 0; i != chars.length; ++i) + suggestedTabAutocompletionString += String.fromCharCode(chars[i]); + return suggestedTabAutocompletionString; + }, + + /* Returns the values in UTF-8, but input is in whatever shitty 16bit + encoding JS has */ + search: function(searchString) { + /* Normalize the search string first, convert to UTF-8 and trim spaces + from the left. From the right they're trimmed only if nothing is + found, see below. */ + searchString = this.toUtf8(searchString.toLowerCase().replace(/^\s+/,'')); + + /* TODO: maybe i could make use of InputEvent.data and others here */ + + /* Find longest common prefix of previous and current value so we don't + need to needlessly search again */ + let max = Math.min(searchString.length, this.searchString.length); + let commonPrefix = 0; + for(; commonPrefix != max; ++commonPrefix) + if(searchString[commonPrefix] != this.searchString[commonPrefix]) break; + + /* Drop items off the stack if it has has more than is needed for the + common prefix (it needs to have at least one item, though) */ + if(commonPrefix + 1 < this.searchStack.length) + this.searchStack.splice(commonPrefix + 1, this.searchStack.length - commonPrefix - 1); + + /* Add new characters from the search string */ + let foundPrefix = commonPrefix; + for(; foundPrefix != searchString.length; ++foundPrefix) { + /* Calculate offset and count of children */ + let offset = this.searchStack[this.searchStack.length - 1]; + + /* If there's a lot of results, the result count is a 16bit BE value + instead */ + let resultCount = this.trie.getUint8(offset); + let resultCountSize = 1; + if(resultCount & 0x80) { + resultCount = this.trie.getUint16(offset, false) & ~0x8000; + ++resultCountSize; + } + + let childCount = this.trie.getUint8(offset + resultCountSize); + + /* Go through all children and find the next offset */ + let childOffset = offset + resultCountSize + 1 + resultCount*this.resultIdBytes; + let found = false; + for(let j = 0; j != childCount; ++j) { + if(String.fromCharCode(this.trie.getUint8(childOffset + j)) != searchString[foundPrefix]) + continue; + + this.searchStack.push(this.trie.getUint32(childOffset + childCount + j*this.fileOffsetBytes, true) & this.fileOffsetMask & ~this.lookaheadBarrierMask); + found = true; + break; + } + + /* Character not found */ + if(!found) { + /* If we found everything except spaces at the end, pretend the + spaces aren't there. On the other hand, we *do* want to + try searching with the spaces first -- it can narrow down + the result list for page names or show subpages (which are + after a lookahead barrier that's a space). */ + if(!searchString.substr(foundPrefix).trim().length) + searchString = searchString.substr(0, foundPrefix); + + break; + } + } + + /* Save the whole found prefix for next time */ + this.searchString = searchString.substr(0, foundPrefix); + + /* If the whole thing was not found, return an empty result and offer + external search */ + if(foundPrefix != searchString.length) { + /* istanbul ignore if */ + if(typeof document !== 'undefined') { + let link = document.getElementById('search-external'); + if(link) + link.href = link.dataset.searchEngine.replace('{query}', encodeURIComponent(searchString)); + } + return [[], '']; + } + + /* Otherwise gather the results */ + let suggestedTabAutocompletionChars = []; + let results = []; + let leaves = [[this.searchStack[this.searchStack.length - 1], 0]]; + while(leaves.length) { + /* Pop offset from the queue */ + let current = leaves.shift(); + let offset = current[0]; + let suffixLength = current[1]; + + /* Calculate child count. If there's a lot of results, the count + "leaks over" to the child count storage. */ + /* TODO: hmmm. this is helluvalot duplicated code. hmm. */ + let resultCount = this.trie.getUint8(offset); + let resultCountSize = 1; + if(resultCount & 0x80) { + resultCount = this.trie.getUint16(offset, false) & ~0x8000; + ++resultCountSize; + } + + let childCount = this.trie.getUint8(offset + resultCountSize); + + /* Populate the results with all values associated with this node */ + for(let i = 0; i != resultCount; ++i) { + let index = this.trie.getUint32(offset + resultCountSize + 1 + i*this.resultIdBytes, true) & this.resultIdMask; + results.push(this.gatherResult(index, suffixLength, 0xffffff)); /* should be enough haha */ + + /* 'nuff said. */ + if(results.length >= this.maxResults) + return [results, this.autocompletedCharsToUtf8(suggestedTabAutocompletionChars)]; + } + + /* Dig deeper */ + let childOffset = offset + resultCountSize + 1 + resultCount*this.resultIdBytes; + for(let j = 0; j != childCount; ++j) { + let offsetBarrier = this.trie.getUint32(childOffset + childCount + j*this.fileOffsetBytes, true) & this.fileOffsetMask; + + /* Lookahead barrier, don't dig deeper */ + if(offsetBarrier & this.lookaheadBarrierMask) continue; + + /* Append to the queue */ + leaves.push([offsetBarrier & ~this.lookaheadBarrierMask, suffixLength + 1]); + + /* We don't have anything yet and this is the only path + forward, add the char to suggested Tab autocompletion. Can't + extract it from the leftmost 8 bits of offsetBarrier because + that would make it negative, have to load as Uint8 instead. + Also can't use String.fromCharCode(), because later doing + str.charCodeAt() would give me back UTF-16 values, which is + absolutely unwanted when all I want is check for truncated + UTF-8. */ + if(!results.length && leaves.length == 1 && childCount == 1) + suggestedTabAutocompletionChars.push(this.trie.getUint8(childOffset + j)); + } + } + + return [results, this.autocompletedCharsToUtf8(suggestedTabAutocompletionChars)]; + }, + + gatherResult: function(index, suffixLength, maxUrlPrefix) { + let flags = this.map.getUint8(this.mapFlagsOffset + index); + let resultOffset = this.map.getUint32(index*this.fileOffsetBytes, true) & this.fileOffsetMask; + + /* The result is an alias, parse the aliased prefix */ + let aliasedIndex = null; + if((flags & 0xf0) == 0x00) { + aliasedIndex = this.map.getUint32(resultOffset, true) & this.resultIdMask; + resultOffset += this.resultIdBytes; + } + + /* The result has a prefix, parse that first, recursively */ + let name = ''; + let url = ''; + if(flags & (1 << 3)) { + let prefixIndex = this.map.getUint32(resultOffset, true) & this.resultIdMask; + let prefixUrlPrefixLength = Math.min(this.map.getUint16(resultOffset + this.resultIdBytes, true) & this.nameSizeMask, maxUrlPrefix); + + let prefix = this.gatherResult(prefixIndex, 0 /*ignored*/, prefixUrlPrefixLength); + name = prefix.name; + url = prefix.url; + + resultOffset += this.resultIdBytes + this.nameSizeBytes; + } + + /* The result has a suffix, extract its length */ + let resultSuffixLength = 0; + if(flags & (1 << 0)) { + resultSuffixLength = this.map.getUint16(resultOffset, true) & this.nameSizeMask; + resultOffset += this.nameSizeBytes; + } + + let nextResultOffset = this.map.getUint32((index + 1)*this.fileOffsetBytes, true) & this.fileOffsetMask; + + /* Extract name */ + let j = resultOffset; + for(; j != nextResultOffset; ++j) { + let c = this.map.getUint8(j); + + /* End of null-delimited name */ + if(!c) { + ++j; + break; /* null-delimited */ + } + + name += String.fromCharCode(c); /* eheh. IS THIS FAST?! */ + } + + /* The result is an alias and we're not deep inside resolving a prefix, + extract the aliased name and URL */ + /* TODO: this abuses 0xffffff to guess how the call stack is deep and + that's just wrong, fix! */ + if(aliasedIndex != null && maxUrlPrefix == 0xffffff) { + let alias = this.gatherResult(aliasedIndex, 0 /* ignored */, 0xffffff); /* should be enough haha */ + + /* Keeping in UTF-8, as we need that for proper slicing (and concatenating) */ + return {name: name, + alias: alias.name, + url: alias.url, + flags: alias.flags, + cssClass: alias.cssClass, + typeName: alias.typeName, + suffixLength: suffixLength + resultSuffixLength}; + } + + /* Otherwise extract URL from here */ + let max = Math.min(j + maxUrlPrefix - url.length, nextResultOffset); + for(; j != max; ++j) { + url += String.fromCharCode(this.map.getUint8(j)); + } + + /* This is an alias, return what we have, without parsed CSS class and + type name as those are retrieved from the final target type */ + if(!(flags >> 4)) + return {name: name, + url: url, + flags: flags & 0x0f, + suffixLength: suffixLength + resultSuffixLength}; + + /* Otherwise, get CSS class and type name for the result label */ + let typeMapIndex = (flags >> 4) - 1; + let cssClass = [ + /* Keep in sync with _search.py */ + 'm-default', + 'm-primary', + 'm-success', + 'm-warning', + 'm-danger', + 'm-info', + 'm-dim' + ][this.typeMap.getUint8(typeMapIndex*2)]; + let typeNameOffset = this.typeMap.getUint8(typeMapIndex*2 + 1); + let nextTypeNameOffset = this.typeMap.getUint8((typeMapIndex + 1)*2 + 1); + let typeName = ''; + for(let j = typeNameOffset; j != nextTypeNameOffset; ++j) + typeName += String.fromCharCode(this.typeMap.getUint8(j)); + + /* Keeping in UTF-8, as we need that for proper slicing (and + concatenating). Strip the type from the flags, as it's now expressed + directly. */ + return {name: name, + url: url, + flags: flags & 0x0f, + cssClass: cssClass, + typeName: typeName, + suffixLength: suffixLength + resultSuffixLength}; + }, + + escape: function(name) { + return name.replace(/[\"&<>]/g, function (a) { + return { '"': '"', '&': '&', '<': '<', '>': '>' }[a]; + }); + }, + escapeForRtl: function(name) { + /* Besides the obvious escaping of HTML entities we also need + to escape punctuation, because due to the RTL hack to cut + text off on left side the punctuation characters get + reordered (of course). Prepending ‎ works for most + characters, parentheses we need to *soak* in it. But only + the right ones. And that for some reason needs to be also for &. + Huh. https://en.wikipedia.org/wiki/Right-to-left_mark */ + return this.escape(name).replace(/[:=]/g, '‎$&').replace(/(\)|>|&|\/)/g, '‎$&‎'); + }, + + renderResults: /* istanbul ignore next */ function(resultsSuggestedTabAutocompletion) { + if(!this.searchString.length) { + document.getElementById('search-help').style.display = 'block'; + document.getElementById('search-results').style.display = 'none'; + document.getElementById('search-notfound').style.display = 'none'; + return; + } + + document.getElementById('search-help').style.display = 'none'; + + /* Results found */ + if(resultsSuggestedTabAutocompletion[0].length) { + let results = resultsSuggestedTabAutocompletion[0]; + + document.getElementById('search-results').style.display = 'block'; + document.getElementById('search-notfound').style.display = 'none'; + + let list = ''; + for(let i = 0; i != results.length; ++i) { + /* Labels + */ + list += '
                                                                                                                              ' + results[i].typeName + '
                                                                                                                              ' + (results[i].flags & 2 ? '
                                                                                                                              deprecated
                                                                                                                              ' : '') + (results[i].flags & 4 ? '
                                                                                                                              deleted
                                                                                                                              ' : ''); + + /* Render the alias (cut off from the right) */ + if(results[i].alias) { + list += '
                                                                                                                              ' + this.escape(results[i].name.substr(0, results[i].name.length - this.searchString.length - results[i].suffixLength)) + '' + this.escape(results[i].name.substr(results[i].name.length - this.searchString.length - results[i].suffixLength, this.searchString.length)) + '' + this.escapeForRtl(results[i].name.substr(results[i].name.length - results[i].suffixLength)) + ': ' + this.escape(results[i].alias) + ''; + + /* Render the normal thing (cut off from the left, have to + escape for RTL) */ + } else { + list += '
                                                                                                                              ' + this.escapeForRtl(results[i].name.substr(0, results[i].name.length - this.searchString.length - results[i].suffixLength)) + '' + this.escapeForRtl(results[i].name.substr(results[i].name.length - this.searchString.length - results[i].suffixLength, this.searchString.length)) + '' + this.escapeForRtl(results[i].name.substr(results[i].name.length - results[i].suffixLength)); + } + + /* The closing */ + list += '
                                                                                                                              '; + } + document.getElementById('search-results').innerHTML = this.fromUtf8(list); + document.getElementById('search-current').scrollIntoView(true); + + /* Append the suggested tab autocompletion, if any, and if the user + didn't just delete it */ + let searchInput = document.getElementById('search-input'); + if(this.autocompleteNextInputEvent && resultsSuggestedTabAutocompletion[1].length && searchInput.selectionEnd == searchInput.value.length) { + let suggestedTabAutocompletion = this.fromUtf8(resultsSuggestedTabAutocompletion[1]); + + let lengthBefore = searchInput.value.length; + searchInput.value += suggestedTabAutocompletion; + searchInput.setSelectionRange(lengthBefore, searchInput.value.length); + } + + /* Nothing found */ + } else { + document.getElementById('search-results').innerHTML = ''; + document.getElementById('search-results').style.display = 'none'; + document.getElementById('search-notfound').style.display = 'block'; + } + + /* Don't allow things to be selected just by motionless mouse cursor + suddenly appearing over a search result */ + this.mouseMovedSinceLastRender = false; + + /* Reset autocompletion, if it was allowed. It'll get whitelisted next + time a character gets inserted. */ + this.autocompleteNextInputEvent = false; + }, + + searchAndRender: /* istanbul ignore next */ function(value) { + let prev = performance.now(); + let results = this.search(value); + let after = performance.now(); + this.renderResults(results); + if(this.searchString.length) { + document.getElementById('search-symbolcount').innerHTML = + results[0].length + (results[0].length >= this.maxResults ? '+' : '') + " results (" + Math.round((after - prev)*10)/10 + " ms)"; + } else + document.getElementById('search-symbolcount').innerHTML = this.symbolCount; + }, +}; + +/* istanbul ignore next */ +function selectResult(event) { + if(!Search.mouseMovedSinceLastRender) return; + + if(event.currentTarget.parentNode.id == 'search-current') return; + + let current = document.getElementById('search-current'); + current.removeAttribute('id'); + event.currentTarget.parentNode.id = 'search-current'; +} + +/* This is separated from showSearch() because we need non-destructive behavior + when appearing directly on a URL with #search */ /* istanbul ignore next */ +function updateForSearchVisible() { + /* Prevent accidental scrolling of the body, prevent page layout jumps */ + let scrolledBodyWidth = document.body.offsetWidth; + document.body.style.overflow = 'hidden'; + document.body.style.paddingRight = (document.body.offsetWidth - scrolledBodyWidth) + 'px'; + + document.getElementById('search-input').value = ''; + document.getElementById('search-input').focus(); + document.getElementById('search-results').style.display = 'none'; + document.getElementById('search-notfound').style.display = 'none'; + document.getElementById('search-help').style.display = 'block'; +} + +/* istanbul ignore next */ +function showSearch() { + window.location.hash = '#search'; + Search.canGoBackToHideSearch = true; + + updateForSearchVisible(); + document.getElementById('search-symbolcount').innerHTML = Search.symbolCount; + return false; +} + +/* istanbul ignore next */ +function hideSearch() { + /* If the search box was opened using showSearch(), we can go back in the + history. Otherwise (for example when we landed to #search from a + bookmark or another server), going back would not do the right thing and + in that case we simply replace the current history state. */ + if(Search.canGoBackToHideSearch) { + Search.canGoBackToHideSearch = false; + window.history.back(); + } else { + window.location.hash = '#!'; + window.history.replaceState('', '', window.location.pathname); + } + + /* Restore scrollbar, prevent page layout jumps */ + document.body.style.overflow = 'auto'; + document.body.style.paddingRight = '0'; + + return false; +} + +/* istanbul ignore next */ +function copyToKeyboard(text) { + /* Append to the popup, appending to document.body would cause it to + scroll when focused */ + let searchPopup = document.getElementsByClassName('m-doc-search')[0]; + let textarea = document.createElement("textarea"); + textarea.value = text; + searchPopup.appendChild(textarea); + textarea.focus(); + textarea.select(); + + document.execCommand('copy'); + + searchPopup.removeChild(textarea); + document.getElementById('search-input').focus(); +} + +/* Only in case we're running in a browser. Why a simple if(document) doesn't + work is beyond me. */ /* istanbul ignore if */ +if(typeof document !== 'undefined') { + document.getElementById('search-input').oninput = function(event) { + Search.searchAndRender(document.getElementById('search-input').value); + }; + + document.onkeydown = function(event) { + /* Search shown */ + if(window.location.hash == '#search') { + /* Close the search */ + if(event.key == 'Escape') { + hideSearch(); + + /* Focus the search input, if not already, using T or Tab */ + } else if((!document.activeElement || document.activeElement.id != 'search-input') && (event.key.toLowerCase() == 't' || event.key == 'Tab') && !event.shiftKey && !event.ctrlKey && !event.altKey && !event.metaKey) { + document.getElementById('search-input').focus(); + return false; /* so T doesn't get entered into the box */ + + /* Fill in the autocompleted selection */ + } else if(event.key == 'Tab' && !event.shiftKey && !event.ctrlKey && !event.altKey && !event.metaKey) { + /* But only if the input has selection at the end */ + let input = document.getElementById('search-input'); + if(input.selectionEnd == input.value.length && input.selectionStart != input.selectionEnd) { + input.setSelectionRange(input.value.length, input.value.length); + return false; /* so input won't lose focus */ + } + + /* Select next item */ + } else if(event.key == 'ArrowDown') { + let current = document.getElementById('search-current'); + if(current) { + let next = current.nextSibling; + if(next) { + current.id = ''; + next.id = 'search-current'; + next.scrollIntoView(false); + } + } + return false; /* so the keypress doesn't affect input cursor */ + + /* Select prev item */ + } else if(event.key == 'ArrowUp') { + let current = document.getElementById('search-current'); + if(current) { + let prev = current.previousSibling; + if(prev) { + current.id = ''; + prev.id = 'search-current'; + prev.scrollIntoView(false); + } + } + return false; /* so the keypress doesn't affect input cursor */ + + /* Go to result (if any) */ + } else if(event.key == 'Enter') { + let result = document.getElementById('search-current'); + if(result) { + result.firstElementChild.click(); + + /* We might be staying on the same page, so restore scrollbar, + and prevent page layout jumps */ + document.body.style.overflow = 'auto'; + document.body.style.paddingRight = '0'; + } + return false; /* so the form doesn't get sent */ + + /* Copy (Markdown) link to keyboard */ + } else if((event.key.toLowerCase() == 'l' || event.key.toLowerCase() == 'm') && event.metaKey) { + let result = document.getElementById('search-current'); + if(result) { + let plain = event.key.toLowerCase() == 'l'; + let link = plain ? result.firstElementChild.href : + '[' + result.firstElementChild.dataset.mdLinkTitle + '](' + result.firstElementChild.href + ')'; + + copyToKeyboard(link); + + /* Add CSS class to the element for visual feedback (this + will get removed on keyup), but only if it's not already + there (in case of key repeat, e.g.) */ + if(result.className.indexOf('m-doc-search-copied') == -1) + result.className += ' m-doc-search-copied'; + console.log("Copied " + (plain ? "link" : "Markdown link") + " to " + result.firstElementChild.dataset.mdLinkTitle); + } + + return false; /* so L doesn't get entered into the box */ + + /* Looks like the user is inserting some text (and not cutting, + copying or whatever), allow autocompletion for the new + character. The oninput event resets this back to false, so this + basically whitelists only keyboard input, including Shift-key + and special chars using right Alt (or equivalent on Mac), but + excluding Ctrl-key, which is usually not for text input. In the + worst case the autocompletion won't be allowed ever, which is + much more acceptable behavior than having no ability to disable + it and annoying the users. */ + } else if(event.key != 'Backspace' && event.key != 'Delete' && !event.metaKey && (!event.ctrlKey || event.altKey) + /* Don't ever attempt autocompletion with Android virtual + keyboards, as those report all `event.key`s as + `Unidentified` (on Chrome) or `Process` (on Firefox) with + `event.code` 229 and thus we have no way to tell if a text + is entered or deleted. See this WONTFIX bug for details: + https://bugs.chromium.org/p/chromium/issues/detail?id=118639 + Couldn't find any similar bugreport for Firefox, but I + assume the virtual keyboard is to blame. + + An alternative is to hook into inputEvent, which has the + data, but ... there's more cursed issues right after that: + + - setSelectionRange() in Chrome on Android only renders + stuff, but doesn't actually act as such. Pressing + Backspace will only remove the highlight, but the text + stays here. Only delay-calling it through a timeout will + work as intended. Possibly related SO suggestion (back + then not even the rendering worked properly): + https://stackoverflow.com/a/13235951 + Possibly related Chrome bug: + https://bugs.chromium.org/p/chromium/issues/detail?id=32865 + + - On Firefox Mobile, programmatically changing an input + value (for the autocompletion highlight) will trigger an + input event, leading to search *and* autocompletion being + triggered again. Ultimately that results in newly typed + characters not replacing the autocompletion but rather + inserting before it, corrupting the searched string. This + event has to be explicitly ignored. + + - On Firefox Mobile, deleting a highlight with the + backspace key will result in *three* input events instead + of one: + 1. `deleteContentBackward` removing the selection (same + as Chrome or desktop Firefox) + 2. `deleteContentBackward` removing *the whole word* + that contained the selection (or the whole text if + it's just one word) + 3. `insertCompositionText`, adding the word back in, + resulting in the same state as (1). + I have no idea WHY it has to do this (possibly some + REALLY NASTY workaround to trigger correct font shaping?) + but ultimately it results in the autocompletion being + added again right after it got deleted, making this whole + thing VERY annoying to use. + + I attempted to work around the above, but it resulted in a + huge amount of browser-specific code that achieves only 90% + of the goal, with certain corner cases still being rather + broken (such as autocompletion randomly triggering when + erasing the text, even though it shouldn't). So disabling + autocompletion on this HELLISH BROKEN PLATFORM is the best + option at the moment. */ + && event.key != 'Unidentified' && event.key != 'Process' + ) { + Search.autocompleteNextInputEvent = true; + /* Otherwise reset the flag, because when the user would press e.g. + the 'a' key and then e.g. ArrowRight (which doesn't trigger + oninput), a Backspace after would still result in + autocompleteNextInputEvent, because nothing reset it back. */ + } else { + Search.autocompleteNextInputEvent = false; + } + + /* Search hidden */ + } else { + /* Open the search on the T or Tab key */ + if((event.key.toLowerCase() == 't' || event.key == 'Tab') && !event.shiftKey && !event.ctrlKey && !event.altKey && !event.metaKey) { + showSearch(); + return false; /* so T doesn't get entered into the box */ + } + } + }; + + document.onkeyup = function(event) { + /* Remove highlight after key is released after a link copy */ + if((event.key.toLowerCase() == 'l' || event.key.toLowerCase() == 'm') && event.metaKey) { + let result = document.getElementById('search-current'); + if(result) result.className = result.className.replace(' m-doc-search-copied', ''); + } + }; + + /* Allow selecting items by mouse hover only after it moves once the + results are populated. This prevents a random item getting selected if + the cursor is left motionless over the result area. */ + document.getElementById('search-results').onmousemove = function() { + Search.mouseMovedSinceLastRender = true; + }; + + /* If #search is already present in the URL, hide the scrollbar etc. for a + consistent experience */ + if(window.location.hash == '#search') updateForSearchVisible(); +} + +/* For Node.js testing */ /* istanbul ignore else */ +if(typeof module !== 'undefined') { module.exports = { Search: Search }; } diff --git a/v2.4.0/searchdata-v2.js b/v2.4.0/searchdata-v2.js new file mode 100644 index 00000000..1630d6f7 --- /dev/null +++ b/v2.4.0/searchdata-v2.js @@ -0,0 +1,2 @@ +/* Generated by https://mcss.mosra.cz/documentation/doxygen/. Do not edit. */ +Search.load('O+!-x00000#Q^{Sh*bap1l0fl7F7TM0RR9100CtL00001ZU_JX00D0f000310RR92a~c2u00Ctl00001Z6p8y00C(#00001bT9w_00Cb%00001WIO->00C}700001VMqV~00Cc400001b5sBT00CuM00001bYK7g00CiU00001WNZKc00Cce00001Wq1Gp00DG<00001Z-f8<00DK1000310ssI3bCv)A00C#300001ZlC}F00C*H00001a;yLV00DHe00001bGQHi00CdV00001Y{UQn00Cjj00001a?k((00Cvz00001bld;{00C*@000310{{R4bM62D00C$600001ZukHI00C+K00001as&YY00DFg0RR92a}WUl00CbX0RR92WgGzj00C|y0RR92X(#~z00C?+0RR92Uo-�C(_0RR92bU*YY00CzT0ssI3VGsfU00C?k0ssI3W*h<{AXRZPO00C~Y0ssI3X}AIa00DBo0ssI3bi@Jx0RRdB00DB)0ssI3Wz+%y00C#(0ssI3W#9q;00DI70ssI3ZtMa80RRgC00DIP0ssI3Zu|lO00C(N0{{R4ZwLbb00D3g0{{R4UlaoX00Czj0{{R4ZXg2y00C(x0{{R4bSwh^00Ch#0{{R4Z#V-000C@10{{U43;+NDZb}0H00Ci60{{R4WmE$I00C@T0{{R4Z(sue00D1i0{{U44*&oGWpV=m00C`w0{{R4X?z0!00DG@0{{U54FF$=0{{R4WsU;?00DHC0{{R4VVna100?e$VRLC_Vq{zb0Ehwrr~&}W0s!&?07L@-Yy$wI0{{R4I;aBx0Ra#II?4lp00Cvt0{{R4aM%L?00DX40{{U4#{vKWDe40N0RhGWDDDG*00BJo0{{U4(EYU00DQ*1ONa5W!MA&00C*<1ONa5cH{&A0RqSZC||e)fa(MQ00Cw21ONa5Wc&mG00D0T1pom600Cht1poj6axet|00D9~1pom6=>h-&DMAGR0RiX&C`JW<00C}H1poj6VN?YG00CuM1poj6Y+wZd00D1i1poj6Z)^ns0RZa)00Aj@1pom6?E(M+DS`z60Rij+D24@q00Cu;1poj6ZIlH700C*51poj6bf5(Q0Rrj*C|`U9fTjfi00CvJ1poj6bhrfo00CjX1pom6?*ae;Dar)^0Rip;D9#0d00DH=1poj6ZrlX`00C*@1poj6Z|DU800D6B1poj6U-Sh400C$E1poj6ZU6=V00C(R1^@s7bPNUn00ChV1^@s7Zx{vu00C?s1^@v7@d5w=DJlj40Riv=C@uzo00D9|1^@s7WjqD|00C!01^@s7Wk?1900DGP1^@s7Zd3*U0RZy?00Ajr1^@v8@&YJi27mwoXKDrj00C}t1^@s7X?O+z00DA-1^@s7bc6-~0RZ&^00AkG1^@v8^a3c927mwoWts*600C^G1^@s7VyFfH0RZ;`00Akq1^@v8_5vul27mwoWxfUg00C{r1^@s8VQH=g0L%se00&`WWM*k|bUXzBas>dy1pp)l09pnBiUt7E1^@v92Y>(pb1DY_00Ct(2LJ#8Y&Zu100Ck?2LJ#8VMGT200DGL2LJ#8Ur+}C00CxJ2LJ#8Z(Iie0Rs90C|?=}fMN##00DVu2LJ#8VRQ!o00DA(2LJ#8a)1W_0RaC300AkC2LJ&9{sJhF2Y>(pZk7iC00Cj12LJ#8WuylH00C^O2LJ#8Z?Fdd00D2d2LJ&80RsR5DZ&Q;0RRI700Ak?2LJ&90s|<}2Y>(pW!47(00C{@2LJ#8Y2*h000DIB2LJ&A00Ssr#s`4#2LJ#8W%dUE00DFY2mk;9VF(BS0RRO900Ai!2mk>A1Oq4-2!H?qbRGx*00C|$2mk;9X)Fi;00D0@2mk;9a5xA600Cb<2mk;9XG91900C}F2mk;9X;26N00DGX2mk;9VO$6R00D1e2mk;9Y-k7o0{{yH2?GZM00Aj<2mk{C3IhlO1_LO32!H?qbAku}00DK52mk;9Z94FdoHDar@{0RapHD9#9g00DB;2mk;9W!wk=00C#>2mk;9W#|Y100DIF2mk;9ZuAHM0RRsJ00Aig2><~B4g)9z34j0rata9m00CtZ2><{AVi*Yk00C_t2><{AbtDM@0RRyL00Aj52><~B5CbSQ34j0rXF3T000C}72><{AX-EkG00DAN2><{AbW{ld0RR&N00Ajr2><~B5(6k?34j0rWoiik00C@r2><{AVt5Gv0RR;P00Ak42><~B6ay%T34j0rWsV5|00C{52><{BVQGE|0GtT`0RR^R00Aki2><~B76T}-34j0rWwr?b00DKr2><{AY{Urw00Cjj2><{JVPa%vXlZV9basXZ0K5kP4hR5l2mr(g0Qv|3DhU8u2>_xA0MH2l0Rs2}C|?i9EU00Ctj3IG5Ba3l%<00DU_3IG8B8v_6VDK-iK0Rb8VC^`y&00Cw|3IG5BWk?DD0RSBX00Ajf3IG8B9|HgZDP9Ty0RbKZC}IkL00DGp3IG5BV{i%p00Cik3IG5Bczg-~0RSNb00Ak83IG8CAOk3j3V;9sa*_%F00L!if(ihd3IG8D90Mp{SPFok3IG5BWvU7Q00DKj3IG5BY`h8p0RSTd00Ak;3IG8CA_FMQ3V;9sbkYg{00C**3IG5BbKnX900LoY!U_Q93IG5HZ*E~}baHmC1ONyH00svD3<>}+3II+D0PG3?00BDo3IG8CBm+7W3xEItcNz--00Ctp3jhECX($T-00MM&00Cu43jhECV^9kK00DAV3jhECbzBPo00D1e3jhHCIRXFyDQ*h@0RcDyC~^yc00BOD3jhECWq=C+00Cr%3jhECZ;T5700C~23jhECAeajP00DHK3jhECbEFFZ00C~Q3jhECZ?Fph0RTG!00Aky3jhHDIsz!b3xEItKE?|G00Cvr3jhECWYh})00D2>3jhEDV{Wz!0N@J%00BJa3jhECckl}U00Cw83jhECY5WTS00DLa3;+NDUkD5U00CtV3;+NDWE2bl00D0r3;+NDZXgT*00AH-3;+NDax4r000D0@3;+NDbT|wE00Ch>3;+NDazqRO00Cu63;+NDa8L{Y0suV%KLP*&DO?Ny0RTY)00Ajz3;+QEKmsUi41fRud2$Q@00Cio3;+NDa)1l~00DA_3;+QDLjnK+DUu8T0Rch+D3%O>00C~C3;+NDVWbQI00CvH3;+NDY_JRf00D2d3;+NDZ@dfu0RTk;00Ak;3;+QDM*;u=Dbfr80Rct=DAo*s00Cv(3;+NDZR89900C+03;+NDbnpxS0Rlt{-f00DF)4FCWEZY&J|00C(-4FCWEZ#WGA00D454FCWEUqlT600C!84FCWEZcq&X00C)M4FCWEbX*Mp00CiQ4FCWEZ)gnw00C@n4FCZEO9B7^DS8b60Rc(^D1Hrq00DA@4FCWEWsD5~00C!`4FCWEWta^B00DHK4FCWEZlnzW0RT+`00Akm4FCZFOadsh4S)avXSxjl00C~o4FCWEX~+!#00DB&4FCWEbkq$10RT?|00AlB4FCZFP68<84S)avW$Fz800C_B4FCWEV)zXJ0RT|~00Aik4gdiGPy#3j4uAjwWeyGi00C_l4gdfGVQKyi02~eg00&`WWM*k|bc_rD!VCZu4FGfv0ICfD+6@3A4gdlIJOVxfC|_a>fGiFG00DDK4gdiFQvv`1DP9f$0RUA300Ajz4gdiFR{{V5DRK?~0RdJ5D0U8j00DD+4gdfFWrPj@00C@@4gdfFVvr6100Ci^4gdfFbes+V00Cd34gdfFW~dGT00D2V4gdiHR01epYz~054gdfFdAbe&00Cjf4gdfFa?B0@00DB+4gdiFSpon7Dc%kM0RdP7DB=!)00D034gdfFVek$B00Cw84gdfFZ2S%Y00D0T4*&oGZwL=0BDIO010RdbBC?XGl00Ctv4*&oGZ7>f200C(>4*&oGbUY6L0RmbAC|?*4fI<%d00Cu44*&oGbW{%j00CiI4*&rGUjhIDDP|7<0RdhDC~6OY00DGx4*&oGZg>v>00C)!4*&oGZ-fs300D4{4*&oGUyu&~00C!~4*&oGZk!JQ00C*D4*&oGbf^yi00CjH4*&oGZ?q2p00C^e4*&!JX98scVFF_U00Ak+4*&!KW&&gaU;<(SD9{gp00DE>4*&oGb>t5K00D364*&oGW$+IG00D0H4*&oGW&95S00CzL5C8xHZwL?o00C_d5C8xHZxj#!0RU+N00Ai=5C8!IXaXoC5P$#yaw-r200Ct(5C8xHXE+c500Ct_5C8xHbVLvU00C}F5C8!HYXSfPDOL~w0Rd_PC|VGJ00DAf5C8xHWoQrp00Cld5C8xHZFCR-00DJ+5C8!HZ2|xRDTWXL0Re0RD2fn(00C!^5C8xHZkP}N00C*95C8xHa-5C8xHZR`*L00LoY)DQsj5C8!Ha{>SXDFP7y0ReIXC=4**~f0Kg9b8V~?b5CDJ>0I(1M_z(al5dZ-KQUWMnVh(^T5dZ)Ib5;=m0RVLZ00Ajz5dZ-JbOI=B5r6;zWpWV!00D4%5dZ)Id4LfB0|0jdc>;R^00AkC5dZ@Lb^>?;dIBhv5r6;zW||QI00CvD5dZ-IeF6XhDY6j&0RVpj00Aky5dZ-JegY`K5r6;zbjA??00Cpp5dZ)IVbl=-00DT~5dZ-IfdT*lDdrIX0ReylDC!Y_00DCF5dZ)JWpCgS0QeCA0RnsiC||Y_fc_Bx00CtP5&!@Jbrcc+00C?o5Lg93#DhXMcrDJBvC0|9~pgaU>FC@vC!00DF~5&!@JX+RPH00DDG5&!@KVQC-|08A1900(n#VQF-7c4!L#Rtx}G4gg{i0EQ6&tPucG5&!@JI$RO}0Ro5uUph1k0D2OD00Cuy5&!@JWQ-C300D235&!`J5dZ)IWu6iM00C~I5&!@JZ>SOg0RR#J00DWl5&!@Ja<~!z00CjX5&!@JZp0D*00C*r5&!`J6951KY}OJ000Cjz5&!@Jbl?&I00Cp>5&!`J6aWALZ1NHS00Ck45&!@JZTu1d00C(N6951KV+a!f00CtV6951KWE2ws00Chd6951Kcpwu100Ctt6951MVsB{B5&-NH04x�Cbz6951Kb3hXS00Ch}6951KUrZAK00DGT6951KVOSFY00C`Y6951Ka%2+#00D1m6951LZf33$0B{ok00BC76954L6#zPb6Mz5#bA}TD00C!?6951KVU!a900C^86951KW}p)Q0RSuk00C#L6951Ka9ie0{}k(K>DKZoQ0|7(761SNY(y3S0RUeC00Ajb761VOUI8dn7JvW&Zdw)q00CiQ761SNWoQ-v00C@n761SNZ*&#_00D1$761VNVF3UEDTWpR0RUqG00AkG761VOVgV?W7JvW&WttWM00C{H761SNX{Z(e00DHa761VPU;!v!iWY#h761SNWx5ss00DHy761SNVayf)0RUwI00Al3761VOWC1AL7JvW&bmA5O00D05761SNY48>R00D3I761SNaQqek00CbD7XSbOX9yPn00C|e7XSbOX%rU#00DFw7XSbOVIUU(00D0%7XSbOY%CW50RU$K00AjD7XSePW&tQX7k~f(azYmX00Cu67XSbOXHXXa00CuI7XSbObX*qz00C}d7XSeOX#oHMDQ*`40Rd9ui00C|s7ytkPVI&v;00Ctx7ytkPY%mxA00D0{7ytkPZ#)W}H7yy(Q0Q49DN*Mrv833>u0N@z_C>j7(8UO$RUtAgh00DD`8UO(Ri2(osDUuoh0Re~sD3%(400Cv38UO$RaHJXl00DWb8UOUpl4}0Qwq$00CtH8vpN00D9&8vp8~^|XZ((9(Y@Qnc)EfZ)8vq;}06-i70RW!>00DAb8~^|TZ(tk%00DGn8~^|TVQd@#00DAx8~^|TWq2F_1OVRv;{f3RuHDTW;Y0RavHD2g3`00Cu?9RL6UY?vJY00Cm29RL6UVWb@Z0RRyJ00Akm9RL9V5CJH(9e@Az00DKv9RL6UY{(q|00Cjn9RL6XVQ6%ADjfiT9RR8w0Ms1-00Cdx9RL6WbZ&Eg900T&0PGzA1OTA`r2wM^0DR3SD0|5O10RjI200Aj{9smOY`~Uy}{s1V19)JP@ssN|}C_Q!_fQlXf0RXQ600Aka9smIWt^g>g9)JJ=Jgy!90s!d%>i_@&DZCy40s-g%>HsLh9)JJ=UC15)0RZ~|00Al39smIW`T!{09)JJ=J>nh!00cceTOpPn0Ja_g(jEZn9smFVa_}Ai00D0T9{>OWbO;{+00ChR9{>OWaugo`00Cth9{>OWa3CK50RXK400Aj19{>RXtNc{U#a00Ch>9{>OWazq~h00DAJ9{>OWVNf3c0syf9vj6}ADO?`_0s*i9vH&PzAAkS>YiJ(;00Coi9{>UXwE(vO00Aj}9{>UYv;ejMD1;w?00C}_9{>OWX_OxT00C#39{>OXVP$w90H7ZL0RX`O00Akm9{>RW!vFvQDY_p30Rh4QD83(n00C>n9{>OWW6U1_00Cjr9{>OWV%Q%50Rq4PC||T6fZiVf00Cv>9{>OWWAGmU00Ck49{>RW#Q*>SDFPq>0RhASC&^00Cq+AOHdY%K*&)00AjRAOHdZ$^gs&C`=%L00CuEAOHXXb6g+*00CiQAOHXZZEkWTAOJuh0B9fp0szkd(EtDeDSRLR0s+nd&;TfcAbA^-sZ_W%F^DUKol0Ri>^D3T(800Cu~A^-pZdY~cz00L-fh#~-{A^-sZ`2YX`DYha20Ri{`D7qqm00CvdA^-pZbjTtA00CjnA^-pZW7Hx500C~=A^-pZb>JcZ0RR&L00AlNA^-sa5&aB_2WMjQb09ROw?045&*Rv!SS9{_G30N5Y^Bq0D`ApqDR05l>1tReskBLDyaIus)S0Rj{OUpi7708S%-00DVaBLDyaVPGQw00DAlBLDyaa%>|20RR^O00DA%BLDyaZ+s&F00DG@BLDyaVTdCD00DB2BLDyaWt1ZT00DHGBLDyaX`mwj00Cd7BLDyad8{J<00CjLBLDyaa=0S^00DBoBLD#a7ytkPa>^qB00D2#BLDyabkrjN00CjzBLDyaa^NEX00Cv@BLDyabnGJl00C+8BLDyaU-%;c00CwGBLDyaYy>0#00CkOBme*bVGtw$00Loj#3KL}Bme*bUmPR=00DF+Bme*bb1WnP00C|?Bme*bZ#X0X0RR~Q00C@7Bme*bVMrtZ00C}JBme*bZ&V}z00C)QBmfNnDF7<~EdVzFF#tILF90(DJpeTTI{-ldKL7v$DP|-94FM(^ca0n#;00CbPB>(^cXcQ#?00DFwB>({c9{~UXWhNy600C|)B>(^cX)q-K0RSKY00C}1B>(^cZ9pXe00DJIB>(^cY)mBp00D1OB>({cA^`vaDPAQ20RbTaC}Jgm00C@hB>(^cZ*V0500D1yB>(^cVtge40RSWc00Ak8B>({dBLOIkC4c|{J(48=0RSce00AkWB>({cC;({dDFG(^ca^NKZ00D3EB>(^cboeCz00CkCB>(^cas(y-00CtRCIA2da1bT{00V4eZ#E?WSS0`!CIA2dIvged0RbxkIw~fB00C|=CIA2dZ#X6Z00C(}CIA2dbVMcq00C)ACIA2db5JG#00LoeASD1+CIA5do&f*>Ze}I`00C)gCIA2dXK*F}00CuoCIA5dp8)^?WP&CD00C}>CIA5dpaB2@Xp$xX00DHCCIA2dVVoua0RW-_00AkeCIA5ep#dnYCV&6|XtE{%00DHmCIA2dVZbH;00D5uCIA2dU(6-|00CvvCIA2dWY{JE00C*00CzfCjbBeWgI5}00U`oa`+?wTqXb_CjbBeUnnO400Ct-CjbBeV>~AS00DABCjbBebx0=w00D1KCjbEe8~^|Ta#|+<00D1aCjbBebYv$000CiYCjbBea&RXA00CuoCjbBebbKcO00C)&CjbEexd8wHa*ihe00D23CjbBebeJaq00Cj1CjbBea-=5!00CvHCjbBebg(A?00C*XCjbBeU%V#(00DHuCjbHf<^kvd00Ak^CjbHg900CtxC;$Nf;sF2wDK;no0RiCwC^{&B00Cq`C;$KfZb&Eq0RZFy00AjfC;$Ng;{hmGD1ZO~a$YC^00CiUC;$KfWo#$_00eJhWo!m005B*3PAC9!C;$Nfx&Z(Ia*8Mb00D1~C;$Kfbd)Fn00Ci|C;$Kfa-b*x00CvDC;$Qg(gDx`00AkoC;$Qh(E-l^D7Ywq00CvbC;$KfZpbJA00C*vC;$KfY}6L5&{$g00AiwDF6cj4+0Sa69On0DS!Y0a~>%G00DI>DF6TgZ!jqU00Ct-DF6TgZagUf00Ct}DF6TgXGkdk00D1KDF6TgZB!`$00D1WDF6Wg76JePDP}1E0Ra^PC~7Hy00CuiDF6TgY0RhVaD5ffa00BI#DgXok)B)H5)&bf900AkwDgXol(*f53)dAT7D8wp&00CXfDgXckJs~_>d@2B(Dgd-90N5%300DB|DgXchZ}2Jr00DINDgXchVf-op00D9WD*yliWe6((00D3gD*yxlzyZVo!U4ts00Ai)D*yxmzX8Jm!2!hqC?qR@00CtxD*yliY&a_b00Ck?D*yoi8Ug?TDM~8<0Rb5TC{8PY00CuGD*ylia9k?@00LooL@NMdD*yoi$N>NWDRL_S0RhJWD0VA=00CuuD*yliY=kQS00Cl(D*yliVUQ~T00DHCD*yrj+yUMJ00AkYD*yrk+X3AHD5xud00C~UD*yliX}Bu@00C#dD*yliWyC800RZX&00Ak`D*yoj=>aIzD}Vq2W!ftM00Cp-D*yliVdyIW0RZd)00AlVD*yoj>j5bED}Vq2dHyQ^00L}u?kfNWEC2uja11N}0s!s-@Bsh;DI6>S0s-v-?*S+xEPwz3WGE~E1px8^^a1z*`T_O<00AjDEC2-o@d5Jz_W}6<^#LeEEPwz3WlAgn00DDaEC2ujVPGr(00V7qauzHAGAsaQEC2)m`~d(0{s96400Aj_EC2)n`vLy}{Q&_2D12b75zAC;(6@02C_#Xe$7mD*(zX0BkG(q$~i)EC2*809-8q00BB;EdT)mD*|6Sh$jG$Er0+4WtJ@f00C^GEdT%kVyG00C|iE&u=lZx}8B00CnjE&u=lWh5>D00DCyE&u=lbl@%k00Cj0s)Nxj{qo6FMt36bW|?@00CuQF8}}mb7U_700CxdF8}}mW^gY600D1yF8}}mUwkhB00Cu!F8}}mZHO-b00C)^F8~1mk^le!DVi?;0RfQ!D4s8X00BLuF8~1mlmGw$DY7pB0RWZ&00AkyF8~1nl>jKfFMt68lK?0^wl9FjF8~1mm;e9)DcUap0Rfi)DBdrC00BMZF8~1mng9R+De^A>0RWr;00AldF8~1nn*b;PFn|F9nE)s~_Ah`2FaQ7qAv`@ktS01hw!00D9uFaQ7nZ!9nX00DF|FaQ7nVK^`V00DA7FaQ7nWkfIl00D4HFaQ7pZFFx!F94J;08lUh00BByFaQAood7yyFn|C7bZRgF00CukFaQ7nb9gWS00CxxFaQ7nW`r;R00D1`FaQApivT)b8ZUs5FaQ7nWtK1i00C{HFaQ7oVQH={0H`nk0RSBU00DWpFaQ7nVZ1N^00DBsFaQ7na>y_M0RSEV00C~)FaQ7nVc0ML00Cv*FaQ7nY~(Ni00D36FaQ7nZ}2bx0RSKX00CwEFaQ7nZ2&O<00C(RF#rGobPO>70RbNXUlK6@00CtfF#rGobRaPR00ChpF#rJoApigYbTTmj00C|`F#rGoX*@9i00D18F#rGoa7Zx#00Cc4F#rGoXH+o&00C}VF#rGoX<#t`00DGnF#rGoVQet~00D1uF#rGoY-00C*XF#rGocDykF00CdZF#rGoWymoA00CsqF#rJoBme*ba@sKf00Cv*F#rGoV&pLZ00C|4F#rGpZ*|l$0PryY0RSZc00CzJG5`PpZUiy_00C(VG5`Ppau6~A00DFsG5`SpCIA2dWg;>F00C?!G5`PpVk|NM0RSfe00CtN0L&M*M>FaRtu0Ddt5rZE8aF#sGg07xLjXqrO8`j#O#lD^DXcO80sv0{Q2+n|DZnxS0s&3{Pyi^#GJpU9Wy~@F00C^)G5`PpY1}dZ0RXiD00AlJG5`Sqv;ipWGJpU9Zt^k!00D3MG5`PpX#g_-00DFcGXMYqa11j500C(dGXMYqau_oJ00CnjGXMYqb0jkW00CtxGXMbqw*deFDK;|z0RgrFC^|EM00Ct{GXMYqV@NXq00DANGXMYqbyPC|00D1WGXMYrWOFbx0AMo!00BB?GXMbrxB)tFGk^dAa&|KS00D1)GXMYqa)dJg00DA}GXMbqi2?uta+Wgy00D2BGXMYqbf7Z;00Cj9GXMYqa;!4|00CvPGXMYqbhtAB00C*fGXMYqU&J#200DH$GXMYqbI>yY00C~+GXMbqkOBY!DdIB#0RfK!DCRSO00D07GXMYqY4kGy00C$EGXMYqWdJk)0RWN$00AisGynkskpd_XG=KmBWEM0400C|uGynhtZ(?QKGXMrO03t-0s)f(l>#W5G=KmBWS}$v0|1x;ngW~x00AkmGynqumjamrn*u1fG=KmBa=tVG00D2xGynhra?msY00M4usx$!BGynkro&o>?Ddsc)0Rf!?DC#tT00Ct1GynhrW%x7z00C_NGynhrX#_O@00ChNH2?tspaK8^DHb&V0Rf)^C>k|@00C?uH2?qsZzweY00D0a>q00C^uH2?qsZO}CU00D2-H2?qtaCC?@0NgbI00AK4H2?qsbnG<%00DFIH2?qsZum6-00D3QH2?tsrUC!~DGD|K0RX5100Ai!HUI$urvfM#Hh=*Fr2;4>4mN-uHUIztCMGrj00D9`HUIztZ#Xsp00DA7HUIztazr)&00Cu6HUIztUr;sx00CuIHUIztb6hq600DAhHUIztVQ4l00RXB300AjHUIztI>0sn00C^qHUIztZOk?R00D2(HUIzwVqtHDS9^m0RguHD1JA900DG_Hvj+uY>YPm00DK9Hvj+ubC@>(00Cv5Hvj+ua-=r^00CdBHvj+uWw18@00DEhHvj+ua=bSH00CjbHvj7k00AiwH~<3yy8^uezXB*2IDh~FWga*H00C?&H~;_vVlX%W00Ch(H~;|v!U6yRDMB~^0Rh1RC`LGd00DGNH~;_vY*aV^00DJcH~;_vb6_|C00CuYH~;_va%?yN00CceH~;_vWq3FM00DD;H~;_va)dYl00Ci&H~;_vaF93v019JiVr6D;aC3BiDl`CKGysk?0NgYH5H$dFHvq^t017w&JU9TBH~;_vI-EEF0RhDVI>tDF00DH&H~;_vY}7aa00DK{H~;_vbKp1t00Cv@H~;_xW@U2XG60Y>0PHvb1_DF?LI6epN&rXzOaLffx-x+BH~;_vWdJz<00DCrIRF3wavV7T00ChlIRFCyR{&W6TL1t7DK0qx0|8b5SO8i8C^k8O00Ct@IRF3wZAdu)00C)EIRF3wbW}M20RdA0Us^c;00CuSIRF3wbZ9vM00CicIRF6wQ~&@0WqLUP00C`&IRF3wX@ofd0RUA100DH6IRF3wWt2Gp00DEFIRF3wW}rC$0RUeB00AkiIRF6xUH~YtIe-8GJ+?Uj0RUkD00Ak)IRF6wV*mgFDb6_n0RdtFDAGBA0RmtEC_TtIfY>O0RU$J00AikIsgFxX#fBLDGoXS0RdY00D1`IsgCxY>+wt00Cc?IsgCxbDTN=00d-oZ)tQn0E#&PVmbh#IsgCxI;c7T0Rd_NI=VW500CvdIsgCxZOA$R00C*vIsgCxbksTk0RU?N00DB~IsgCxVdOdh00Cv{IsgFxYybcOX!be)00DIRIsgCxZU8#~00D0XI{*OyZ2$lPc@jGS00ChZI{*OyZvX%RDIz-n0Re6RC?-3A00BKLI{*OyaR2}TDLOj<0RVFV00AjPI{*OzasVhuJAeTKZ~!PhK0AO;I{*OybpQYXDPlVS0ReOXC}ul=00BL0I{*OycK`qZDSA5q0RVXb00Ak4I{*OzcmODfJAeTKb^s_nemj7UI{*L#Av`@kG&=xRI{JOBUzbU-`+00DGHJOBUzVN5�C`MJOBUza#%b700L}p9y|bEJOBUzW@J1700CcaJOBUzbaXrb00C@zJOBUzb$~no00Ci!JOBUzW{f-l00Cu^JOBa!8vz{w00AkUJOBa#8UY*uD5N}q00BIzJOBUzJhVIj00DBkJOBUzZ@@eN00DHyJOBUzVaz-L00DB+JOBUzW!O9b00D5`JOBU!WN(-}0OULX00BDcJOBX!9sxS^Jb(ZJa{4>~00CtJJpcd!bO=2F00DFkJpcd!VH7<800C_pJpcd!av(hb00D0%Jpcd!W-L7b00CbzJpcd!bT~Z#00C@1Jpcd!bwoV?00Ci2Jpcd!W>7r<00LoU2s{8*Jpcg!ECK)lb7nmN00C!eJpcd!VQ@VF00C@vJpcd!W_&#W00CcuJpcd!bcj6w00C@{Jpcd!b(B2-00Ci|Jpcd!W}rO)00CvDJpcj#E&?zD00AkoJpcj$EdnnBD7Za<00DBoJpcd!Wyn1M00DH)Jpcd!bkscn00CjzJpcd!ZQwls00DC5Jpcd!Z|pq)00Cz5Jpcd!U-&%$00D0PJpcd!Zv;L700DCfJ^%s$G6FOL00Ai$J^%s%F#%b300BHAJ^%m#JS;u{00D9`J^%m#Z#X^x00DG9J^%m#VMIOv00DAJJ^%m#Wl%l<00D4TJ^%m%WNL4$Jpd3s09-x*00BB;J^%p$H3B+tK7arLa&|rd00CuwJ^%m#bc8+t00DH0J^%m#VURum00C{5J^%m#a-2Q@00D2JJ^%m#W~e>@00CdFJ^%m#ZnQoC00D2hJ^%m#bHF|T0RScg00Ak?J^%p$B?BnXK7arLY}P&i00C{@J^%m#Z{$7z00DIBJ^%m#U+_Kv00AQQJ^%m#BK$r800D9WKL7v$ZwNmC00DFkKL7v$VH7_A00D9uKL7v$WgtHQ00D3&KL7v$Z!A9m00BBOKL7y%Cj&Y-KY#!Mb3Q)+00C@9KL7v$VN5>&00DARKL7v$WmrD|00DGfKL7v$X=FbD01aktc41?0b98BNWNK_i0sxp203I6vaw7mfBmmqb08}Rct}pzdb00CvrKL7v$bJRZo00MAxus;CWKL7y$rvU%~a_T<-00Cw0KL7v$Wb{7(00Ck8KL7v$WdJ|`00C$QKmY&%UkpG100CzbKmY&%X&68N00CwmKmY&%ZX`ee00D0*KmY*%r~v>0b2dN#00C|~KmY&%Z$Ll*00C)6KmY&%bWA`100D4PKmY&%WmrG}00CoOKmY&%cw|5T0RX8100DV$KmY&%Y;-^X00C}#KmY&%Z-77m00CcyKmY&%a*RL#00Cu^KmY&%WSBqz00Cj1KmY&%Wu!m=0RXB200C~WKmY&%Z?r%F00C*bKmY&%bihCW00CjfKmY&%bj&~i00C~&KmY&%W!OLf00C{@KmY&%W#m8r00C_3KmY&%aPU9?00C|GKmY*%s{sH3a{@sC00CtNK>z>&Yz#pF00C(dK>z>&W*9*L00CbfK>z>&Wh6lW00CzzK>z>&axg&v00Ch(K>z^&tN{Q4WkNv!00D4DK>z>&c}zh700DGTK>z>&Usyo^00C@XK>z>&VPru700C}lK>z>&Z*V~X00C)sK>z>&bbLVo00D4z^&tpNZ5a*ja&00Cu^K>z>&bC^K@00DBIK>z>&VWdF-0RXN600CvNK>z>&aI`@H00DWrK>z>&bihFX00CddK>z>&bj(2j00CjrK>z>&Z`eTq00C^?K>z^&uK@r7W$Hly00D6BK>z>&dGtX500DIRK>z>&UjRY?00DFcLI3~(ZVW;I00L%d9F00C?wLI3~(Y$!qi00ChxLI3~(Z8Smv0RXT800DDALI3~(Wkf;%00DAJLI3~(bx=Y800DGXLI3~(VO&B000CuULI3~(W@thH00CcaLI3~(WOPCR00CusLI3~(bAUns00Ci!LI3~(WsE`q00C^0LI3~(Wtc($00DBILI3~(Zlpp00RXW900DHcLI3~(VYEU300D5iLI3~(ZNNeR00D2tLI3~(W6VMT00CdpLI3~(bJ#)v00DR2LI3~(Z{$J%00Cs`LI3~(Zty|?00C+CLI3~@VPj=zX>4zBb9Hy%KL9X50BS%0sz3nzKma^J0Ej^VszCrcLIA2l0Q^D#0RXcB00Ap7LjVB-QUE$%E2cky0z&{aLjV8)Y&t^#00C`ELjVT=zyZ7hz5>JnzyiVn#sL5UDON)O2?HwvzX7`fy#m7lzXHJl#Q_HZUpgp=CjgKwfM!F000CueLjV8)Y>Yzy00Cl>LjVH;odAshj{rI-WH5kEFMt36be=;100CvLLjV8)bF@PM00CyYLjV8)X23%L00D2tLjVH;ivSJ)Q~)|(8ZUs%LjV8)Wzs_c00C{{LjVN;bpjIsi2)h{83Oxf`LjagV0O&&i<{|(VL;wH+W?>ux07er400CbzL;wH*bUZ`=00Ch_L;wH*ZAe4_00DANL;wH+bZ4F*05}!^00M7eI0FD$L;wHF<%mU5=Iw%wifW`!X00DQBL;wH*Wu!y^00C*LL;wH+bavze0I);=0t1Kw$O2zFD7HiZdJ=%R1b_emWxzxL00M4gj6?v^L;wH+Z(-O(06Z=L1_KlUpa7%*q5!4<2moI?C{h~$P9uN{9)JJ=dF(_000ChJMF0Q+atuWP0{}q+0|Dm(00Ai&MF0Zh-&DN02E0|7z;UIFL=C{jg$00C}TMF0Q+VPr)B00CucMF0Q+Y;Z*Y00D1yMF0Q+Z+t}n0{}$=VFBv`00Ak8MF0Z;M*?F3?E(M+DV9Y50|7U;*j^C|{68fWk!p00CvlMF0Q+bl61z00Cj%MF0Z;Ndjd7?*ae;De6T40|7_^WC891DDp*s00DIPMF0Q+ZUjaE00C(VMgRZ-ZxBWR00D3oMgRZ-UmQjN00CzrMgRZ-ZYV|o00C((MgRZ-bTmc)00Ch-MgRZ-Z$L%>00C@9MgRiD@&YKBMt}eTXP!m?00C~QMgRZ-X|P5B00DBgMgRZ-bi76Y0{~G1YXSEH00Ak;MgRi=Py%WJ_5vu-Mt}eTW!6Rj00C{{MgRiHUhQ*UnnRi0CY!y00CusM*si;V~9rp00DB2M*si;b(BW{0s!{_3IYHDDWFFH0s-~_2?8jlM}PnUWvoX400DZoM*si@bZ=#7X?4T`0GdYt0xkfEA^^Nc00cMy1^@;E1Ondx;{f3RKA00DBUNB{!>SpshX{{jF3DYi%e1OZqAZUO!R9snr5NPqwVZp26c00CjrNB{rT>^6f0|Nj7DfUPJ1OZ$EasdJZAOI--NPqwVWdun800C_hNdN!=X&6ZW00DF!NdN-?TLN(b0RsR5DJn?-1Oi$DZ~*`V9{^t{BuM}=Nq_(WWjILy00DGLNdN!=VNgi`0{~wFbpZtf00AjnNdN=^UIKIh1Op)eC}c^100DGrNdN!=Zg@!m00C)!NdN!=Z-hwz00D4{NdN!=Uyw-v00C!~NdN!=Zk$N~00C*DNdN!=bf`%H00CjHNdN!=Z?s7O00C^eNdN-?X##x#4FdoHDaJ_v1OaFQd;tstA^<4PNq_(Wa@0ux00CvbZqoV0MsY|00D0LNdN-?YXW}(4+8)JDGEve1OaLSegO^xBmgK9N`L?Xau`Yg00CttN&o->Vk}Ak00C_>N&o-?Z*|l$060nj0|0FTfdLT%00AjTN&o}_YyyA*5CbIuC{Rj(00C!KN&o->Ze&UT00C)gN&o->a&Srj00DG%N&p1_Zvqbig8>!-69WJNDS}D>1_5pY4grDz6#^0iCIBdoN`L?XWt2()00C^KN&o->VysF40|0RXg#i@<00AkuN&o}_Z~}w@6ayy!D8Nd900CvjN&o->ZPZEt00LoYvPuBjN&pZ5X95cYWdaEScL5Lr2?JpQ3jq=Wc>!Yr4FMDa2LpQn00AlLN&pZ6W&#QWWC92Qb^#9p2m@dO3IP!UcmZMp3;`1Y1_OElC=5%000DCnO8@`?bvR1^00D14O8@`?WkgE=00C}FO8@`?Wl&2100C!KO8@`?Z(K_N00C`cO8@`?Z)i&Z1pspb5dnt*7y=gq00Aj76T}NOMn0YWrj-t00DKDO8@`?Y@AB~00Cj5O8@{1VPa%vX>N0LY-o0{NC5Ci09Hu=z)1iEN&r4e0DMXS;7S0HIsk4<0H{j<0svD2`2qj|Dcnl{0s>M3_yS)ju1f&oOMn9ap8&c6iUI%ua`sCA00D3QO8@`?bOcNQ00ChNOaK4@au7@a00CtdOaK4_ZgX@TNC4j00DB6O#lD|W?^(?Z=e$Zwi5u%699ls0Gv$#1ps{l9RoW7Hvu^T00AkuO#lW1oB@0S90NK5HUT&RUpgqFO#u2DfW%FJ00CvnO#lD^b>vL|00C_3O#lP{g93#DBLjy500AlXO#lP|f&zpBA_Im3C;(1?00DFcP5=M_X%tQX00DCvP5=M`VQKJ903c2P0|1@?xdDj+00D9^P5=M_Z#Yf>00DG9P5=M_VMI;<00DAJP5=M_Wl&B400DGXP5=M{VRUK4BLEg809;N000CcOP5=M_bZ|}p00MJ#c1{5HCjbBfZftx`08AwS0|2`K-~o^V00AkGP5=V|x&Yq+j{+!|PJjRbZk|p600C*LP5=M_XRuBH00CvTP5=V{y#V3?k^%q$DZ)+w0|C4M;Q^5XD9TQN00CssP5=M_Zrn})0sy}N$Ah00Ai`PXHDHC;%z|EC8+m%K?HiLjhp`CIJ8eDU4452mo^cgaAbWM*)@qNdaR3C;cDezAK2mx*Ye*lpH`T)rRJON$+BLOG^P=EjdJqS<$5dd`nO96%em;n6%&H>p1O##ya)dFPz0Rh(n-2(prDgoO900Ai^Pyi7DbO1^Lg#ecT`~b}X*aA!e(gM^1WB>pG)&krD{s1Wf+5#v@P=E*ks{k_rz5z7>sQ@tnyaBEP00Aj>Pyh%5ssJ(py#X`sz4RRLE4oB&w?X#fBLDZWqu2LX5hi2zgqRsov;SOI7ND9%uT2Lg5ghX76iPyv|$QUPWFC_T7PfYeX`4FKr?umbA<;{wzH*a5Nvv;x)v-vZhJ;R3b-00AigQ2-4A=m4(*>Hy*b(*f53u>!LK)dAiD*#Y1JwE`#{QGfseT_RBc0|3zipaLQR00AjTQ2+x0&;p+VAps~*QGfseY*tYK00D1eQ2+n|Z)i~f00VY#bSxDBh&2G*H2?qsAaqdx00DG@Q2+n|bBIv@00C}}Q2+n|Z05nnn1_DF?LI6epN&rXzOaLffx-x(|QUCw}Wk^y000DDeQUCw~a&%-;0G1{I00Uufb!t)omLUMrApijZd;oJGF8}}mWr9)w00DH0QUCw}b&yg300C~6QUCx0Z)sr$I{=(g09qjc00Uuka8MrrmMZ{|H~<0w!2s$300Ak!QUC%1zyRq1C||@%>ecR00AjPQve46@d3&J^8xn(`2oxT^#LeUQ-A;gWm;1J00DDuQvd)0VRCd+0MIl500V7qau8DhK2rdCQveA7ivf)R*8q;>9|9c$Ap$60rc;2}Qvd(~bly_{00CwCQvd`2cLI3=8v}a+00AimQ~(44b^>?;8UuO)C=gVD00MJnBq9J7Q~&@0Wh7Jp0RXZA00C|^Q~&@0Z#Yx{00C(}Q~&@0bVO7D00Ci2Q~&@0a!^zN00DJYQ~&@0XIxYO00C)YQ~&@0W@uCZ00C}pQ~&@0Z*)`u00CoqQ~&@0Ab?Z=00DW1Q~&@0a*R{}00Ci=Q~&@0a+p*A00VAfbSfnPo>Tx{KL7v$X{1yD0|GSyEdnnBIw){HfVe$?00DBiQ~&@0Wyn+j00DH)Q~&@0bktM;00CjzQ~&@0ZQxV@00DC5Q~&@0Z|qb600Cz5Q~&@0U-(o200D0PQ~&@0Zv<5U00DCfRR91NbY^aGVRLC>WOie3aCvQLer0EJYr-rQ~=~A01#CGqYMDf3;+rZ07eY}g$)424FLEJ03!|nPYwWk4gjbQ0M-rw3l9J}4*+Bj0FMsY50E{94xFP`NA^;R407fGKlOq6^BLLMS0NEn|7$g83Bmik70Bs}yt0VxgBmnLt0P-XN6D0sbB>;FO0DC0>za;>}B>)g602C$wU?u=$CIGP}0JSCn0w(|lCje3>09GdeqbC5TCjh@E0QDyTB`5$@C;(U}0F)>Im?!|xC;-za03Rs;BPjr5DFA0F0HP@XrYQi|DFE6j05&QBIw}BZDgbOM0GBENn<@ayDge$Z0Qo8a{VD)9D*!qx0C6h-bt?d>D*&!50NyJA;VS?xEC4br0CX$>cq{;}EC8}B0N^YD<17FUEdUZN08lLeR4o9aEdZu10NO18-YozGE&vEF05~oHJ1zibE&ysS0G=)YqAmcNIL*|I{>RY017++4m01Z6=5j_A+JpfTX0Ej&Rj6DF}Jpkf804+WMF+Ko%J^+9|0MR}G)jj|rKL8~^0C7J6bw2>dKLE==02e?28$bYUKmc(-0K7l|z(4>CK>!ay0AN7?WI+J1K>)Nt002S&1VR8-LI7Gq0FXieltKW{LIBf300=_>3qt@sLjXWS0Cz(GdP4xVLjbu$0PaHo@k0P5L;xs609r%BmzQULH$0Q6D-P*VU@Qvjn=0H;#`;Zp$RQve-Q03lQWW>f%bQ~;G!0GU((-&6qOQ~(ZD01{OILRA1oRRC^P0CH6TsZ{{2RRH2u0OnNy7FGZmRsdpF0A^MIuvP%HRsaE400mb7J68ZdR{(8S0B~0Tn^ypzR{+;n0NYmp8CU=vSO9BS0B=|TuUG)HSOD}`0Qgt{H(3BXSpa5P0BTtPs#yT8SpeBt0Nq&tBw7F{S^#5O0B2eNxLN?bS^)7{0QFh`C|dw4TL5HR0BBnPuv-AMTLAuB00LY9SX=;HTmY3^0GV6>(p&)6TmTDQ01sUNOyMt0DxTpzg+;sT>$P~0PKasXL!0K9Slz;Xcfasc^q04;L>FmnKKa{zR60JL)exN`vZa{&5t08MlNQFH*LbO5My00eaa2z3BgbpTs+0Ks(t#dQE7b^s-I0C08ybanv1b^ye700nmd33mWIcK|?l0C{%+eRlx3cL2P10Q7eN_;&y`cmO$g0DE`pt_=0OffA>3IMwdH^tb0Bd>xZ+ZZydH}0>0O)!E?0Nt$djK+f0Ev45je7vqdjQ#c02q7#9DD#*d;nW~0F`_InS21#d;r&c01$lu6ny|peE?8>0EvA7jeP*ZeE`ON0Q!9Z{(S&6egHUr0Cau;czyu1egL?B0Q7zU_)`si~={si~={si~={Sa^7;sHv%`si~={si~={sHv%`sHv%`sHv%`si~={si~-`si~={si~-`si~={si~={si~-`si~={si~={si~={si~={si~={si~={sHv%`si~={sHv%`si~={si~={si~-`si~={si~={si~={si~<*=&7lxsi~={sYvMPsi~={si~={si|0ac&VwWsi~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~-`sHv!_sHv!_sHv!_si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~<*Sm@~Jsi|17vAM9Yu&}VOu&}VOurL^@si~<*czCI)si~=`si~={si~=`si~={si~={si~={si~={si~=`si~={si~=`si~={si~={si>)`si~={si~={si~={si~={si~={si~={si~=`si~={si~={si~={si~={si~={si~={si~={si{clsi~={si~={NU5o*si~-`sHv%`sHv!_sHv!_sHv!_sHv!_sHv%`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~<*czCI(si~={si~=`si~={si~={si~={si~={si>)_si>)_si~={si~={si~={si~={si~={si>)`NU5o*si~-`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~<*si`Oh05m!}Zf|a70AVvTG-EVjG-EU}W@KVFIb=6wVq-I9H#1^2F*jv4W;g`^G&(wQb#HWKUu0o)WpiI)Ze(9{X>Db50AV&|H8wdgH85deW@9#GV_`I7Fk>}jW?^D8HD+WoHDLt+G&(wAY;13LUuMn80AVvSI5amiH#Re7W-(!6IWak7WiVneF=RG2VPrF6W;O)?G&(wAY;13LUu|`4bZK8~X>Mg-b98cPZfA1rN%F=jV0Gh;brFfcG?HDohpGB_|{WMX77GBjjnG-fpr05m!}b98cPZf5{tVl*{lW@cqDI5cErGh{L_WH~Z8Vr6AGHDxzqFlI6_5CAkfI%#fnWoKn_0AVpTH)LWrWM(xpFfcMRH8(XiF*Rf}Ha259Vm3E2WjGK3G&(wFY;R$7X>MmU7{VKOx~W@Kh&V`XDEG-EMkH!(OdVKQM505m!}VsCG3WnpdrVK_8pGGjJ0W-~ZuH#lNpGi6~lV>vK2VPZ95GGt*gHxK|cIyz)wbY%cxHD+TsGcq$VF*z_bV`4HlWjHcqHaBK8W;Qi3F=jVr5CAkfI&^7mWdLC?H)CTqIW%H9Vl!rAHZwLiF)(IfFgRj1IWjV1G%{ih05xB9X>DZyWHvD|V>C8qIAu09WI1IpG&x~rWid82WMwfpV=^{0hynm#ba`-P0B&JzWpi+0V`X%2ZEP-RbZu-SVPaupGi5k5Vq#`7W-?0Wj1Cw6#z6kI%aQjZDDj@VRK(%X>MV1c>rNEWHK>fIWjmkWMwfoHD+dJW@9-yV`gD7Gh}8mF=S>H05m!}W^ZzBVRT<%b6;;`bYW}&VPs}wGB!6hGdDFfWMN`rWM(-xWHVzpI5RV0GG#boVHE&0Iyz==a&2LBUtx1!Xk~a|WMyM%ZDDKxVKii9GiGIDG&VG1H)LTjGGt|9W@2M7Vq`QoGBsl|Ih+9iUuJA!XLA52JE@*UZY$IW2Vl-qjH8M6bVK*`{H!v|XG&3_dWnwlrWi~fCGh}5H0RUfVbY*g3bZ>G1ZeeX@b8ul}WprV>}Yycx+W-~NlIc8!rGcYw}G%-0hI5aUZG&V3fWj11BVmD!9QUDSMd?cmN||WjHi7GBY`5WH&N5F=aDkIAt|5IWsUaWHT@@VPrL8QUDSG1ZeeX@b8ul}Wprp6}GBPzWVmB}|W;11DG-NShGcYqYV>mKpVPrF8HaTNsQUDSN1?BVjRNVPRn~WimE2V`OABW;8Q3F*r3hF=jGmHZfsiGd5BH5;{6*b6;t0bY*8{asVS?H8C?{WMed8F*z_dF=jAgWj8QoIWl5mHe+HjVKHGdQUDSUNqG%z?fGg1H&Iyz}{UvqSFX>Ml#BVlD>F*G(ZF*qdA~Ib&pHFgH>F5;{6*b6<2}Vr*pqBVlAQF=IGmIAJ(4I5uQ9IWsY3G%z+bI5syqVPQ99WMWbP5;{6*b6<36ZDjx>VK_HoWo0umH#Rt7GcsagI5RjgH83GzJScN?WI8%xVRLC?UvG1Ca%Ev{JVR(w|mF)=eZG-WblF<~eGG$c|05-2)4Z*XODVRUbDJUl3KbYwa@VqtS>V_$D`baG{3Z9GG0VRAkuEFfcVZgX@XWMOn=CMf_TVPrO9VPQ03H!xyhH8?nAH#s?DIAS$qG&eIgIAmdAVk!VMCQ<+rC^|ZCaAk5~bZ>GzJScN?WI8%xVRLC?UvG1Ca%Ev{JVR(DaDDF7p3WMX7AW??m9H8e0{IWRFZH8wb8Vl`u7Gch$VIW{pdEC4hnQUDS!Iy!G~WpZJ3Z*n|5D06gVIyz!ub7^B=Z*z2VWnpbRLug@gJ|-+6V{dMAbRcwTZDn6?W@d9`bS5bPBVlDYFg9dkWnwgAGdDFfGGS$AFk&$_Ff(OiVlp&lIWsN*G%Zp95-mD9Z*XODVRUbDJUl3KbYwa@VqtS>V_$D`baG{3Z9GG0VRAkuEFfcVZgX@XWMOn=Uvz10WhN;ABVjZ*IWah5W-&KqH8f^3Gi5nBIAt?3VmLE5WHLE5VP!A?G%Hd75-&PBZ*XODVRUbDJUl3KbYwa@VqtS>V_$D`baG{3Z9G&yCM+OiWoBV@Y;<2{Z*py6baZ8MJXJm>DF7p3H#TK9W;Qc5H90V2H8eLjGdD3~W@KVyIXO8sWjQlrG5|C!QUDS#Iy!G~WpZJ3Z*n|5D06gVIyz!ub7^B=Z*z2VWnpbRR6ZswAY^4`VRdYDUuJJ|ZDDkDWpX@KJ|-q903%^HH#IS3W-~HmH8(k7GB#v3WH&K5Vq`KfH!?S4Gd4Cf05mRA01_-ZI&W}ga$$6Day&dJb97`nI$~jSX=7h+b98cLVQoBAJ|-+6YIARHUuJJ|ZDDkDWpX@KJ|-yuBVji&W-u^gI5lH3WiT}|Vq-HmWi~iDFfnB{GB{ymW;iwgG%8X65-mD9Z*XODVRUbDJUl3KbYwa@VqtS>V_$D`baG{3Z9G&yCM+Oob8l{6W^ZzBVRUq5ay(T&CMGEWBVjc;H85jlGB!D5WHVtlGdE>7HDNGgHDow8GGbyiIb}EiG%Hd75->VCZ*XODVRUbDJUl3KbYwa@VqtS>V_$D`baG{3Z9GG0VRAkuEFfcVZgX@XZf|5|Uv_C_cRW-+CMf_TVP-HjF*GtXF)%nXGh#R}F=I6|GdDFhHf3WpF*Y}4IXVC|E>ZvzFFHDJaAk5~bZ>GzJScN?WI8%xVRLC?UvG1Ca%Ev{JVR(GzJScN?WI8%xVRLC?UvG1Ca%Ev{JVR(vN6H)CQlV=y^mVrFJ#Vr4ToH8N%}W}01_cOI&fifb7d%VbYwa@b98cPZf9S1X=QgTAaitNIy!T7a%pa7CMGEWBVjTyW??gBFgRp4GB-6jFgP=2Vlg*kH#ah2Gc`9bG&4j1G#^p`5+yo1aA9(DWhirWWI8%?baH8KXJ2+{Wp^wfb97`nI(Kt)a%pa7Uv_C_cPRiPVK6Z@HZ^84Heok8I5K20HZnOhIbvaBGh#J0G+{F{G)4e4BT@hoEjl`IVRCb2D06gVIyz!ub7^B=X>)XPWnpbRLug@gJ|-+6b97`nI&*Y#X>MmMmLKrVPrHjV>4nlHfA(5H#T86F*7k{H8(UdVNL)v5K;gV6FNF@VRCb2UuJ1+WhirWWI8%`b98cPZf9S1X=QgQ03%^!G%__|W;8i5Gc++WFg7(fIb&fqVPj)6H)AtmF*#*W05lPFZ*6PVRU5xBVjl>W-~cBH8?e9GdDA2F=aPmWHmWvWi&J}GBGkRH#BMh9XdL6X>DZyBVjQ(WHn_sH!@^mG-ft2HZwIgG&5slVKX@}V=`hlGB9cY9XdL1W@d9`bO0k^W;iuDHZUDaG0A)EgGcq(s}Z)0I>C@COgZ*FsR03%^$Fl06{F*!LnG&VFfWnwTfHD)qqVPr66W;8fAVq#-l06zw5039ScI&W}ga$$6Dav?n^V{dMAbRcA5bY)+3X>DaDEFfcVZgX@XWMOn=Uvz10WhN;ABVjpVWiVwhGcsmoWjQc8GB{&2H)1p}Vq`cmH8o^qVKZI;KO$-X9V9wBZ*XODVRUbDJSbytZgX@XWMOn=Uvz10WhN{jV{dMAbRcA5bY)+3X>DaDDF7p3G-ft8I50D2WMeQgW@0rpG&y2nGBGn@IWjjhVKy^jU;sZNY5*N1Iy!G~WpZJ3Z*n|6C}VGKb95kNVRU6*bZKp6CM+OhZ*FsRAY@^5WnXk@ZDl4Y03%^HVlrkhGBz<`WivQsW;SGEVm4%DFlJ&iHD+RBW;0@906!vX039ScI&W}ga$$6Day>mLV{dMAbRcA5bY)+3X>DaDEFfcVZgX@XWMOn=Uvz10WhN;ABVjl=HDh9BIWRI|WnpAtV`4BlH8V0ZFkxh6Ib=9uIbmb~KO$-X9V9wBZ*XODVRUbDJ}6^vZgX@XWMOn=Uvz10WhN{jV{dMAbRcA5bY)+3X>DaDDF7p3F=At7VlXu@GB{>4GhsL~Ib=35W@ckIHaKNrVmCNpW&l4TY5*N1Iy!G~WpZJ3Z*o38C}VGKb95kNVRU6*bZKp6CM+OhZ*FsRAY@^5WnXk@ZDl4Y03%^DHZf*mF*z_aW;8c9WiVkeW;bDDVPP|4WMnZkVPa-z06!vn01{txX>DZyUte@-ZDlTKbZu;U02ewsd1Ya803%^!F=S&kGBRQ@F*Rd0Ib>rwFgP_dFk&%dHfClwIWl5;02ewsZEtRLXaFN&Ff}qbV>dD~WH4bkF*h_ZVL3HsHf1wmF)=YVHZe41dH@$XI%Hva03%^IWn(vCH!?FgVmM`FWHU1~F=8||Fkv@hG&5ymFflQD02d58I&W}ga$$6Dav?n^WMOn=EFffIbY&?3BVlGTVPrL9V>e-DFk&${G-WnsVPY{jGG;R}WM(*FF=K83ISP6J7YsT&Z*XODVRUbDJSb#gbY(0cWMOn=DF7p3W-&A~W-&N3Vly=~H8eD3Vl`$qGhs0}I5%ZBHDqC7Z~!?9dH@#;Iy!G~WpZJ3Z*n|6C}d%DWh@|MVRU6F03%^$Gc_}0Fl1t4Gi799G&5yoF*7z{V=*#fG-5e4W@Kb?067YJ02d58I&W}ga$$6Day>mLWMOn=EFffIbY&?3BVjN%W@a;HHaTK6F=RG5Wj8o5VPRu7Fk~??WjJ9nVK{UEISP6J7YsT&Z*XODVRUbDJ}6{ibY(0cWMOn=DF7p3GdVeCG-5I^WHw?sW;irqIb$$6GcYnXWMwcpHZ@~1b^tjFdH@#;Iy!G~WpZJ3Z*o38C}d%DWh@|MVRU6F03%^xV>UHqGh|{oWHB)}VPRx8WMecoIb<|tHDzNrH)3LV067X$0025VWMOn=0CRM5bz^jNZ*6Q}F<&ucVRU6KXmo9CivSloI%scoasVS?F*s&3GGR41I5ak7Gcz-0Ib}FDHexq2HDWhnH(_NoivSloI&Eogb#!F_BVjNyWMwpFWiT``WM*MGH8VA3Vl-rCHZWv3HfA?wVl;~Y7dkp~Wn*t{WB?;!IALWlVPZHmIbk<8F*P(ZGB7t|VK_EnGG#GjFlJX>DaJAarSMWhnq7VK!woGh<^jFkv+}Ffm~GzJt%Z(ZDlMVbZKp6DF7p3F)%n{F)}!1HDoqnI5RO~F)=VXFgay3W-&NpF=Jw4g8(@SivSlIIy!G~WpZJ3Z*o07C}VGKb95kdX>DaDEFfcVZgX@XbZKp6CMf_TVPQBpWHB{1W;kVGG%z(aF*9W_FgGwVVl!hnIAmoqW`zJb7>fWG3_3b*aAk5~bZ>G#D0FFUWh@|cX>DaG03%^xVqr66Ibk+7Vlgr@VPZ95F)(2>H92HCHDoX`H!)*}067Ya02d58I&W}ga$$6Day~sMbZKp6EFg4gZDlC{BVjc;V>e_rHe+NtGc;ypHDP8nW;iuvGG=6CF<~<}IWma=ISNt$06IE!X>DZyb98cbV{~+HZERmLUomuPZDlTKbZu;%03SL!ZE0?GbY*h@BVjUTG-G5iGBr6fFfe5^F*sypW@9j8HDzXGWi>f6WMrKH9|Af$bZKp6UvFk+b7gcWDF7p3IWsXeF=k?7Gi768IWsdkH#IY2IWRF{VKXr_GGjD1jQ~NN03Q%KI&^7mWnXV*W^-k9C~0nVIA3%uAZc!NIA3%r03%^IVK_H6WjSVHH90UgFlA+9HDonpH#aq9G%z=0G&W?906`9&03RAUI&W}ga$$6Dav?n^bZKp6UvFk+b7gcaAarSMWnXV*W^-k9DF7p3H#cQ9Vq!2gHfCmHWHw&od6#iIy!G~WpZJ3Z*n|6D0FFUWnXV*W^-k9EFg4gZDn6?W@d9`bSVHMVKiYdI5;+BIbmcrH90mjVKikpF)}qbHez8gV>UT5IF$fF7@Ytg8ag^}aAk5~bZ>G!Jt%Z(ZDn6?W@d9`bSxlrX>Da+Z)Rq5WppV3BVlAYG%_<~WiU23WH4bgV=!W2GdW~sVlp;2Ibkq2W;T}qK^UC?9~wG3Z*XODVRUbDJ}7i)ZDn6?W@d9`bSxlrX>Da+Z)Rq5WppV3BVl1RGB+?`HDfU`VP-O6IWsggWHMtiFgYDa+Z)Rq5WppecbZKp6UvFk+b7gcX03%^AF*G(YGBadhW;QcpHa9n7GBq_hVPR%DVq{@4Gc!1w06`dw01{tsW@d9`bO2vpZ)Rq5WpplRbZu-D0T((tV{dMAbYE$7WpZJ3Z*l-5VPs}xGdMFbIAk+3IWS>2HfAt4GhsM0W@IvEGGSpdF%$t8Iyz}|WpZJ3Z*l-5VKy>hF*r0gF=JsjV>MzhHZm|YWHMzkHe)$9GiEq5GZXd82V`ersVK+HuGh;JkIWuHoWMXAAVlp=|IiLVJ6ag0wIyzx;a$$KWV{dMAbRc1Ja$$KUDF7p3H8?mkWH)6oVK-tqV>x1BGGaJ4W@0!nG&5vmVlZSmq5wGz6ag0rIyzx;a$$KWVRCX|c_t<)03%^zH8nC}HZx;0GC4IlIAk_AF=aM2GcjT?V`XMJH8*0U067N~0T&)RI$?5hVRV_$D`baG{3Z9GG0VRAkuEFfcVZgX@XVRCX|c_t|UBVjl-H#9OiFflVRW@a!sVP!KmVKg-}HDxkkV=^@|HZiUMIVThW7XmsuVqs%zC@BCVVKiekIAmpEHDx$AIW=W8VmW3wWM(vGF=a6{H#0IYG_U|UumBkdAY*TCb94Y>H#RjgV=-Z3HZWmkGGk#eV>e_qGG;I~H8?giIbt-j067K}0T%)~I$~vKX>KSf03%^IWo0-qH#uZvW-()8G&E*pW-wwnWH2`{FlIG1V=`v606DY(83-U_Z*FsR05@Z1W-&D~HeohoF=jR~H8*82Wnp46GcjT`H#Ik5VYUD{1{47o2s%1rVQ^t%X>@rgDIjBSZgX@1BVjNyVmCK4VKHWAGcz|fIWlE8IAmcoGC43aFk>+`F)+9QIR+E~7YI5!V`61zX>KSfAY*TCb94YBVKp{nF=Jw3FfcY`V`F1AVPrWuI5J{2IAJ(qGGt_9F}eUb1{47o2s%1rWo~3BDIjBSZgX@1BVjc#Wj10kGcq_ZH8(aeW-~c6Fl8_@IWjY3Ibk?7Vlcb_IR+E~7XmsuV{Bz%awsVPBVlA=VKy~lW;QcsGC5{AIXGi7H#9OcGcYz|F*Y@1HaNZjITQgG9XdK?ZE$R1V`V5~Z*FsRUukq@a$$6Dax5T0a%XcOCMF;*E-onmBVjdSI5%W5Gc+}2V`E}sF=9D1Fg7qbGG#Y1W??X6GdREiIU5uK7Y#Z(Wo>Y5VPj=qVqs%zC_!>(b08)rATBO0DF7p3W;iltVl-xDV=-nkGh;I{GchtVW?^D5Wn(m9H#A{m!T>o76ag0qIyz--aCCVnDIjBSZgX@1BVjdUH8MA4VK!oBWMpAvF)%VUWjQcqG&43cV>mK0V`IbsIR+E~7XmsuWo~3BDF7p3WMO7GFgRi`V`DRAIAUXBF=b^rWn(#IV>d81WHK@{#sE3S02v4%V{dMAbO1LuIAS$oI50P6W;Zi3Ic7IxWic=^GdE;6GiEY5V=~A9IR+E~7Z5r+WpZJ2Whi5BZgX^BX>?_BVRUbDDF7p3GBPtbIbk_vWH~f6G-hQrGGb*hFk>`fV`5}wV>vK5$^bbI6ag0?Iyz-?VRL0DV{dMAbYE$7WpZJ3Z*nXkV{dMAbYE$7WpZJ3Z*nOBBVji(Gc!0iI5se3H!@>6VKFu`F*7%0FfutaGd4D6VlvDCIUW=N7X&&wW^7?}bY*TRDIg{QBVl1OVKOl}H8?jgH8wIiVq|48HDO_9VP!crIXGc5Wn<0&IRefA83iT)WHT@~Vr5}5H)S_AG%#Z|H#adgWHvWpVmM(pH#cN7&;U6D6ag0kIyz=@Z*FubDF7p3Ib%0CI5aphGC5%~VK*={V=*-}WjAADWieqnH#1~2(f~Qq02v4%V{dMAbO1GCVKZT7F*sv3Gc`0eWMMXDIb4nkVmCKtHZ;@#IR+E~7YI5!XJvFKb7^{IUvwz|BVjQxHa0Y6FfcGRG-Y8lFfuV_Wn(olG&Ev1Ibt|BIWpD&IR@4M84e(0Z*FsR05mjYVl^;1WMgGEVmD$pH)S<8Gh;Y1GGR42Gd5vjW!L~Y3={zu2s%1vWprO*b0~9ZdSzd9DF7p3HDfYnG&V9cG&wk9VqrODF=aG1H)1elVlrhpFf=x0+5kBQ+5j02AY*TCb94Y@G&f^mF=JyiV>U5mIW%TvWHT^fWnnimV_`UCGB!Be067d40T&!PI%#fmWpZ>VV{dMAbYE$7WpZJ3Z*nXkMQmklRC#b^CMGEWBVl4RG-EJjGc`6iVKz83Vq-RBH8W#4W;J3lF=1k2I5^$_IT{oJ7bH45X>N06a&#zTZ*FsRUukq@a$$6Dax5ToX?kT}bSxl6Y-Md!d2nSWCMf_TVPP~iG-NV2HfAz8Gc{r{WinzlV=`l5Wn(#FV=`edWZ(cfA`}4^96CB_ZgXXFbSPtQZgX^BX>?_BVRUbDEFejAWpXSaNpxj$DF7p3Gchq{Wn?*GH8f&4H)LU9VlXx|HfCaDF*q?eF*h(`;s7}s6ag18Iyz}?b7gXLC}VGKb97&6bY*g3bZ>GjAaitNIyz}?X>@5}Y-xIBa$js|b96jKY-Md!d2nSuDF7p3I5#ygFlI4jVKp&kGh#F{WMO1uHaIq6Gi5O{IA&#Ge=9IA$?2VKrf4WH~r9W99%k1{47o2s%1%aAk5~bZ>H7T_|&DdSzd9DF7p3I5jh3VPr5eIX7crG-P9CWi>ZrIX7fsGG=8nF*s#6=m0qe=l~fGAY*TCb94Y@Ic7I9VKHJjH#cT7VPiHnGcq?}F*Pz|H8o*jIb$~J067d40T%)~I&g1rUt(cnYbYrIBVlGaIb=67WimNqWo9@uW;Zi7WH~WpHZnJ2G&f-}WMk|AITQgG3_3b+b#rK6Vqs%zC`D{#ZB%)1WhN#m03%^CVly)_H8MFhGc+({V>dQpHaTNuIWab5GcjgmV>31G067X20T&25I&x)mWpZ|9D069gWnXkD03%^BVqq{hGht+7H8Nu}WM(yCWHLEpW@I;IHDqC7F=RFH067K}0T&cHI&x)mX?kTSb7^{IUvw-WMQmklRC#b^CMGEWBVjl;IW%Q3F=aVoFk&%dHDWn2H8M3ZI59IfWHn+rH!<=6IT92B7Xmsub7*pDZfjq3Z(n9$K!IR+E~7YI5!baHiWV_|ed81VK_KrF)%POW@b1uVKgu}G-fmS067K}0T&!PI&W}ga$$6Dav?n^V{dMAbRc1Ja$$KUEFfcVZgX@XVRCX|c_t|UBVlGRHe)w5GdE!{IW#t5Ib=0uFgY`1IWRL~H92NBVKn*xIT{oJ7aTe|Z*XODVRUbDJv}I6Z*FsRAYpQHVRKpGiEq2V>vivI5=f6G%;mnIXE&iIX5G!Jt$*uZgX@XVRCX|c_u6%V{dMAbRctdWI8%&ZfSIBVQgu7WpZC^X>)WuR6Zst03%^yI5%Z9Gc{v1VKgx@G%#g0Fk@sgWj8Q0WM(-wW@2Ri068rb0T(4YI&W}ga$$6Day>mLV{dMAbRc1Ja$$KUEFfcVZgX@Xb97`nI(B7abZ>GzR6Zst03%^FVl!hlF*Rj0VqrLDWH&f4VmUT8W-&K4FgGw_H8nH<0XZWS0T%)~I$?8PVRCX|c_=9WBVjo*I5#w6FlIGjF*!A6W@9!vIb>vIFkv-eGBsu~F*pJNITQgG2s%1xb6;U{a$$KWDIjBSZgX@1BVjQ&Gd40|GdX59Wn(sGF*IXkH92NDVK`-EGGaJ5V`c;aIR+E~7YI5!X>(s;a&lpLUvFk#bYWs_WpgMgAY*TCb94YBVPZICF*Rc}Fg72H8(V5F=aG2G&C?ZG&L|WIbkz2HaB8rHZ*2rV+a8`4-^3x6FNF+b6;q0ZEt5~Ze?$Eb0}_aWMyA;d2nScAZ~ADWhy2q03%^yW@a&CHDx(sW;0=CVlXsjW-&HnF*P+ZGGSpgHDfdi0XY#A0T&-SI%#uXXm4$AXJu|>Z*_AhZf|5|UvznJWh@|LZ*FsRAZ~ADWhy2qAY*TCb94YBVPP|7IW}Q4H#KHAGh#I}H#lT4HaIynVPZ5eVP-ZoF$@7Y9TWi<2s%1xb6<2}Vr*q7DIjBSZgX@1BVjWzH#Rh4G&o^2V>M%9F*z|}HZm|`H#cNvG-EhoFfa}QIR+E~7YI5!X>(t8VQh6}C@COgZ*FsR03%^HVKX>5GcjXjV>e|tGBGt_HZd?UVqr8eW@9m9Wic@j0XYT~0T&25I&^t(Whf~iV{dMAbO0k^F)(I1F*G(aH)duvHfA+qV>V_vHexV1Ic8)rG%;Z_5&<~|QUCxtI$?5hVR-;!Y+-YAbZ>2JUol@XVRCX|c`j&lZEPL^Bsw}|WoBV@Y;<2{Y++|}03%^FHa9XhG&MIdH)b_qFgZ44HZ);oHDoe1HaRe6IAt{+0VE+hI%H*LVRdYDUuJJ|ZDDkDWpXHEZ*FsRAarkSY&tq_Z)9aAEFflYa&2LBUuJA!XLBh4BVlGTWi>fBIWjdlGcsdlFf(E>WM(*KH#0XmHZn0aI5HLiMjsvlBq=&NWMyVyb!>EBW^ZzBVRUq5awubOZgX@XbZ>2JIy!J+a&u*0a%FRMY;-0pAZBlJZDDj@W^7?+b148LVKii9V>vQqHDWMhGBssnW@ct(IW=NsH!@;kFf=n^G8h3yCmsPLFFHDJaAk5~bZ>GzJScN?WI8%xVRLC?UvG1Ca%Ev{JXAg=EFffMW?^+~bYEs~a&2LBbY*fpRX!#u03%^FF*ac^F*Rf}I5%N2IW=K4VPax1W;QZ5GG;h9HaR#N0Y)tz0VFUwI&W}ga$$6Day&dJb97`nI$~jSX=7h+b98cLVQoBAJ|-+6WMyVyb!>EBW^ZzBVRUq5ay(T&CMGEWBVjN(H#s?GF=b;mVPrKpFf?K{FfcJ@Vly`|H8W*1H#ZysMlMnS06IEkWoBV@Y;<2{Z*py6baZ8M0Ap-nb8~cWZERmLUom85W?^+~bYEX)Z*py6baZ8ME@*UZY%2jHIy!7=Ze;)?VPY~dV_{=8IX5{tWH&HnGBsvpIX7WrH#9RdH#Re4V=Dn8Iyz%-Y;|pJ03%^BV_`OAFl1shFk?13WHL86G&e9aFflP^H)CcsG&3|S0V4=HI&W}ga$$6Dav)-FZ)_+jAY*TCb94YBVPj)rVKQbjG+{6|WH@3pH8Wy3W-?|rVqs=7WH&QoW+4GZ1}gz0FgiMKaAk5~bZ>GYJt$*uZgX@Xb8mHWV`X1(Z*ysMX>V>OEFfcVZgX@Xb8mHWV`X1(Z*ysMX>V>ODF7p3IWT5rV>o7EF)%SSVKFl`IAJq3GG;k3H!)*mVlX!|BLPJ&D*+=gIy!G~WpZJ3Z*n{+V{dMAbRctYb#h~6UvO`8X>@6CZYC@sV{dMAbRctYb#h~6UvO`8X>@6CZYC)JBVji;F*h+ZIWRJ2Vlgo@G&D6eIX7W3W@Iv9GBjm4V`L=(MJ_7=BQQETZ*XODVRUbDJUu95Z*FsRAaieZa${v*aBp*IbZKvHCM+OhZ*FsRAaieZa${v*aBp*IbZKvHCMf_TVPax8WHdKpI5jgjG&3+UWn(lrWjA9rW;11FF=IC|VJ87aE-L{eFgiMKaAk5~bZ>G!Jt$*uZgX@Xb8mHWV`X1(Z*ysMX>V>OEFfcVZgX@Xb8mHWV`X1(Z*ysMX>V>ODF7p3GB!3bVPs-BGBRT@GC470H8V0eWI1FoFl97iIbk?vDFH<;QUCxtI&*Jza${v*aBp*IbZKvH0CRM5bz^jNZ*6Q}F<&urZ*_8GWnW)#Z*ysMX>V>WXmo9CoBe}EG&VJ3G%_?|I5sh1Vqr35G-G5nH8M7w0T(PfI&W}ga$$6Day&dJb97`nI$~jSX=7h+b98cLVQoA^Xkl_bCM+OhZ*FsRAa-GFb!9wMJ|-yuBVjW&H92NDGcY-3Gcz}3HZ^5sF=An2VKrtlF*7h`G&n8+IVzk17Y;f)Z*XODVRUbDJt$*uZgX@Xc42IFWhN;ABVjW$IX5#gVK_1|Gh#JmFgZChVl_21H!wCgW@KeCW;ZYaISiZu7YRB#Z*XODVRUbDJt%fzY;|QOCMf_TVL3H8WMMa9VP!LBW;rl0IW%Q6G&p5qV`X7sG+|*iWHJFc2b=*H3pzS)aAk5~bZ>G!D0X3Nb!A^+a%U+3BVjN&IW;h3WoBk%F<~_|HaIagG-Ne6WHL83F*jp5H#0N=ISHHr7Y#Z(c42IFWhg;%XLBGXCLk^@E-3&bVL355IX5t4V_`RAHZ?RgI5#+9Ic8=xVmCQvH#IglWHtdg3!DKL4mvt^VQh6}C}VGKb95kfVQh6}CMf_TVKy>hV`VjDGdE*4V`eZpW@KYEI5}lzVKrqiVK6x`H8=q|44eTM2|7AUElIsrKcoBiWHd50Vl^}}WH4emWH4npFgP|gWIh2o7n}hX89F*|aAk5~bZ>GzD0X3Nb!A^+a%U_cV{dMAbRc$NY;|QODF7p3HezCBFgZCiGGb&lFf=x1VL3EmWMpDFF)=wbFf=(aKmj=yoBD(sH)c6yV>4xDVmLWAV`DRAFgZ3kG&3?dVnP8q9h?Cd89F*|aAk5~bZ>GzJt$*uZgX@Xc42IFWhN{jc42IFWnW=(XDI+9VK-zjGBq|eV>U22V>UK3VP<1EW;0|mF)%VVGdVXjFhl`47n}hX89F*|aAk5~bZ>GzJt%fzY;|Q{VRC0IAY*TCb95kfVQh6}CMf_TVKQbjH)b|DWHV(nH#cK2V=`qjVqq~hW;Qu7IXE#jWkvxx7n}hXA38d3aAk5~bZ>GzJt$*uZgX@Xc42IFWhN{jV{dMAbRc$NY;|QkR6Zst03%^zHeqHlHD)zAWHmE4WH~itF=1w9I5;mLV{dMAbRc$NY;|QOEFgAaY;|Q{VRC0F03%^AVmUBnG-fz8Wn*DxGGjO~Wi(=8IASz1VPQ36WivEN0XY|(0T&-SI&W}ga$$6Day>mLV{dMAbRc$NY;|QOEFfcVZgX@Xc42IFWjs_qCMf_TVKQc6G&D9bFfcGQH)Jq1GGs7gV_`C5F=jJnHZU+aHB13H9h?Cd89F*|aAk5~bZ>G#C}VGKb95kfVQh6}CM+O!VQh6}Utw}*DF7p3V`VsFFfe5^G&N&3Ib~%zGi5boGGb&hWM(!wG&3|XP60U=oBmHe_WqVm3H7W;8W0H83_dGdEZPIUSq<7YI5!W^7?+b0{ewV{dMAbO0k^F<~+>GdVCgVK*{4H#9jhVK6skHZ(UmHa9pqH)dmES^+r*oB2^3HDoY3GdML|0XYkt0T%)~I$?8PVsCG3Wnpe8DF7p3GdMUhFf}nSH)LWmVlXylH)b+9H8eRiGGk+5I50LdUI96r0T%)~I$?8PWMOn=C@BCVVPrNoWH>lwIWlH8FgIZ|GB#l{IAdWmWH~c4W;Qf2WMBa~oBMmL5nF=a3^F)(2(sDaFDIjBSZgX@1BVjOPWi>TpWj16sVPa)6He@kjIW%N6Wil`_F=AvhGcj@jIR=~o7YI5!X>(s@Y;R$7X>MmxvWH@3qHD)zAWMMZlV`gD9bOAXAoB2JIy!D|WMwKQDF7p3F=jO|Ib<W1F)=ndHDftpGiGBqIWjpkFl9AmFgav3IW;t8dI32joBT@0XYVo0T&25I%#uXZgp*9WpXGfAY*TCb94YBVKiYlF=l3FHaIzCI5IV1F*h+cVliSgGdW~2GcY(XFn$3!2AlyG2s%1xb6<0Ga%pa7C@COgZ*FsR03%^xWn(okWMVcsV>x9rI59OjWHvZ7G&4CgW@R}vWMnmf0XYVo0T&25I%#uXbYWs_Whf~iV{dMAbO0k^Ff=n_WHvE5VKz53H!(P7F*GnVW;Hc5WnpDzG%;l}f&n=OoBmF*G<~IASwqW;ir5WH>i4GKK*;2AlyG2s%1+d2nSYDIjBSZgX@1BVjgXVP!HjWnwdBV_`LAGC4S9G%_(UWHM$mH83+~VKj&VIR=~o7X&&wXJvFKDIg{QBVlGXFgIa1Gc-44H90XjVly>nV`gG8F=aSrH)J$3IXH>|IRc6S83iT)Fk&=iVK+E2VmLElGh;C}G-PHnG%+$cWH4nnGczf0oF=j9~H8^BAVP!KiHDWf90XYbq0T%>1I&W}ga$$6Dav*kLY;|Q{ba`-PCMYQ&CIBO0WMO77G-5R|W@TYAVq{}8WMMNoW@2VGGh;F|Fk&-ek^wmaoB1I&W}ga$$6Daw;e(ASM7KVK6l`V=-o8H#s(8G-Wk5Fl01gW@0ioFfln|VliQ5W|jdt0+s<81ttJCG+|^pG+{9?I5uTvWMpMAVL3ErF*0T_GB7kbIAk)I0XYMl0T&87I&W}ga$$6Daw;e(AY*TCb95jk03%^BHDxt6GB`G5F*jy0F<~@hH8wY8VPs@tGd43eIA%DS0XYa#0025Vc42IFWdLJrVRLhIZ*6Q}F<&uuVQh6}E@*UZY*GLKIyz}?b7gXLWpV&>baHiLbaZcRY+o^7F==jdWpZ?7axQ3eZET|fAv!u@WoKz_03%^yGd5v0WMVNjGB7bXHZ)-|GiG8oGB{>4GchqaHe@iP0Ue+qVlg*3Vl-l5G&W^7W;tXqH85gip#eh%QUCxtI&*Jza${v*a%E>}Z*Bl{baHiLbaZcRY+o^7F>`Nqa${v*UvgzV>WXmo9CR8LJzUqMhw0B3SW8W->4{IAStkWHn_pHU?BrO-x@wQ&UA!R48S5aB?XCXL4_Ka9>|zZ*FF3XLWL6bZKvHE@*UZY$Io3IAb(0H(@wtHfCitGGRA4HDqElHDYBmW-u@_IWuNBr2#wyR8LJzUqeq$MoC9sNJT+JMN$A~a&L8TUteQyZf0p`b#h^JX>V>WXmo9CBWGbSIWjObW@TbDVKZiCH8nFdHZn6~GGb&fH8NylWn(Z@Pfbi;MOZ^cP*h1zPE!D9a&L8TUteQyZf0p`b#h^JX>V>WXmo9CBWGbbGcY+fWn*MGIAdWnVq;-5IWuN9Fkv@1Vq{@9G&5pUPfbi;NJT+JMN(f+PE1(|zZ*FF3XLWL6bZKvHE@*UZY$Io3I5IIgVrFDFWj8f7I5#yhHZwRiVm2@`GGa0~VPa!4R8LJzUr9|+OhrvaPE|zZ*FF3XLWL6bZKvHE@*UZY$Io3GB;&qHaR#mHDNJiWM*bLWMW}vGcYkVVl-kfIAJj{R8LJzUra$#M@3&oNlZmk0B3Sim2OkYn>R7p=xK}=s%Sx`j)XL4_Ka9>|zZ*FF3XLWL6bZKvHE@*UZY$Io3Ib$+oFf(R2HaBHrHe@$8VKrtpHDWL}Wo2S9F*r75R8LJzUr<3(Q$|zZ*FF3XLWL6bZKvHE@*UZY$Io3H8W!~G-f$DVKp>1Wi&TAWHK}~Fk&_^Wiw?qH8?nAR8LJzUsFv%OiW)!Oiw{nUsPF8MF3}VZ*_2AUt@1>W@%@2a$$67Z*DGVbZu-SXJIihVKXx}IAmcoFgY_gVK!nlV`gMHIXE*iFgGwZW;aw%O-x@?O+iddUrA0>UsPF8MF3}VZ*_2AUt@1>W@%@2a$$67Z*DGVbZu-SXJIfmGBRdiGGjG2WMMWlHZWs1W-?-7FgRm2Fl8}eI5AXDO-x@^PEtioML|V>WXmo9CBWGbVGdE>pF*i41HDok4Wiw(nWH@GFG-fh0Wn^YKIAtV>WXmo9CBWGbSH#jw7GdDFfIXPuvIX5QX<~9=a(N&_Z*FF3XLWL6bZKvH0B3SMd?crIvkZEUy!9tb)*WMy+>a%pgMX>V>QDIjBSZgX@1BVjc)I5K59WHvTtIALKkW;SJJG&C|}Fkvt>WHmB4GG?>^KnA!09tb)*b8mHWV`V5QAY*TCb94YBVK^~1IASz8G%+(UH8wRgV`emBVK`=EIW}cxWH2=`G`0ai22ub3Iy!J+a&u*0WpZ+FasXp&VRLhIZ*6Q}F<&uoVRCb2UteW%a&K}jXmo9CD*_ifI%98cb97&6bY*g3bZ>G1BVjdRHe+QqIb$G1BVlD_V`MlvVlZPcVly%^VL4%DW->Q6W@a%oH!x-~WH&1U7Y;f)Z*XODVRUbDJt$*uZgX@XbYWs_WhN;ABVjc(H8(M3WHdH2H)1p~HZ)^mH8nXgGc`CcH)Jp{V=%h`ISeZT7YRB#Z*XODVRUbDJt%ZxVr*q5CMf_TVKrklW@IpBF)?IfI5Ie4Vlp-~Wn*JwIW}ZwWMnomIlTcn2P*;>0y;W$VPb4$C@BCVVK_1~W-w$kGdMM5GGsVpI5RRZVK*{nH#lQ9H#cE3HNOElD*_h|Iy!V=Vr*q7V{dMAbRcwLVr*q5DF7p3IW%K1VrDgAG%+$}Fk)q7GGSygGdVFdWH~lCHDWSm!2vl8D*_h@Iy!V=Vr*q7bYWs_WhN#m03%^yG&f;4Heq5iG%{gkVKFmiF=00}Wi@3oVq;`wWHdCx0XYXN0v8}UI&@)TY-K2EZE$QlI&@)TY-L|*ZfSI1aA9e3C?F;#ASqi;T`2$~VKq2mHDot5Fkv@hGBGe>F*!6cIWaY6IXGrzIb=9yWyJwG9xDPD0y;W=bYWs_Whf~CBVjdUGiEt5WHUK7G+|*mWi&T5Gc#glH(@q0V`5`4WjDtGIV%De96CC0aAk5~bZ>GYJt$*uZgX@XbYWs_WhN{jV{dMAbRcwLVr*q5DF7p3Vq|4vHDoztIc8%rGh;9_F=ID4Wi>Q3V>U54Hf3Qp$pJYUD*_iOIy!G~WpZJ3Z*n|5D06gVIyz!ub7^B=Z*z2VWnpbRLug@gJ|-+6V{dMAbRcwLVr*q5DF7p3Vly;mW;S9rGBjp2W-~cvVK^`_GG;SmHf1$4Ib~yE%KM$3Ze=JbAY*TCb94YBVKp;iWietoGhtylFg7qaWn?oqI5RRcWM()sHDNMlGtU7z1}g#=20A)vb6;t0Y-w&~C}MAKY$*UEVK`+sIX7W8I5TEuGGbw4WHB^kH)S_8HZf&mWHL86Fwp@y1SaAk5~bZ>H7T_|&OWI8%?baH8KXJ2+{Wp^n6BVjgVI5RjlFf=)4HZw3|I5jmfH90q7GBG$XG&eb8H)GQQIS|tU85kgAZ*FsR06AhYGhs0~WMpPzWHM$qHa0jlW;Hi8I5%W6I5#jcW7PpU7Apc56FNF?aAk5~bZ>H7T_|&OWI8%`b98cPZf9S1X=QgQ03%^AHfCfqWH~T1GGZ_@F=8+?HZwReI5{&pV`MdBW-~a~0XY%Z0T~$}V{dMAbO1CkG+|{pGi78oGGjMlIAdipIW%N5WHdQ4HDfqoF*ex&ITtGe7XmsuVr6G(ZYU`LBVjW$G-fb0Ff=kZWnwZgV>mT4FfuhXW;A1DHe_UEW;5FXIokmn2q0r`ZgX@1H8N&7IW;t8Ff%YXH)1wsH90n6Wim4|I5T2oGh^KWIR+~N7YI5!V`61zX>KSfAY*TCb94YBVKFsfHD)+sWHw|mIW%TtVr4lpHDNL|Wi?_qGh#7jV&4Hd1}g#=2s%1rWo~3BDIjBSZgX@1BVjW!F*G$XGB7!2IXN&nGcjdhGBr3dIAb<2IWadeG-lxeIR+~N7XmsuV{Bz%awsVPBVl1TF)(I0HDfh6IAJkjFfd~?F*!11F*P+aWMwpEWoF|6IV%De7&M~Ub97`nI&*Y#X>Mmvl9Vr4O6WH2)~IW#mkFf}pj0XYUM0v7^0I%RHTC@BCVVL3KrVKz55H8f*2V_`8fF=J+BV=`qkV=y;iVKO%}Fzo?3?Ex7GAY*TCb94YSFk?3|WjHZpWie!7Ha226FgP<~VPr8eG&C|}VlXxD0XYUM0v8H8I%RTUb7d%LbY*g3bZ>Gg03%^BVL324I5apnHe+LCWH2*fVPQFCFlIS8Ffm~`GdX7Q0XYaO0v8ZEI%RTUb7d%FZ*FsRUukq@a$$6Dawz~KVKii6W@0p9Wic@}WH~ZnWMnxvGi5bqGB;*8I51&3Wb*+z4l4o|AUZl_a$$32C}VGKb97&6bY*g3bZ>GjAY*TCb97&6bY*g3bZ>Gg03%^AGB9O0W;ZcnWn(dBVrFJFGBP$WVKrefWiVr6F*0TK0XZHk0v8fGI%RTUb7d%VbYwa@b98cPZf9S1X=QgQ03%^!Ib=C7F*Pw}Gcz(`GBjZ@V>dK6W??fkWnyADF=a9L0XYyW0v8iHI%RTUb7d%VbYwa@cXM=dX>Mm85tmBZ*FsR0Ae*YVK-%DHDfe0HeoO{HDfk8VKHVgVPs=sFgIc~V*vs=7b^l67&ZgXXFbSO(@c~p6DWhN#pAXZ^)b!Aj}aAhVYDF7p3VK+55H#s*pG&VUnHfAzrGGk+9FlJ#mG%_+VIW{w80|Ge~D*_h`Iyz}?b7gXLC`oi>ax5T8bY*fW03%^zWoBk(GGu0DF=b|AFgG$|IWRUdVmM|tFflYXV`Mo60yzpR0v8xMI%#fmWpZ?1Z*pH@b8~5DZYWD-c~p6DWhN#pAXZ^)b!Aj}aAhVYDF7p3V`4csVlX*nVlZMeHf3QqFgP(cI5sypW-&EnFg7tX2Ld@3D*_h?Iy!S{dSxgnAY*TCb94YBVPrRBG%+wWI5jk5V>mH4VrDjFH#jk7VK-)CF=94kHVFbb1}g#=0y;Wjb6<2}Vr*q7DF7p3VP<4FH#B26VlXyhH)b$qH8VA3H!(9}GBz|YW@R}x3j#SS0v8B6I%#uXVRCX|c_=9$V{dMAbO0k^IAk(3WjQ%DWi?}FVPZ5nGc#j2GGk+8IW=TtHfCWn4FWj^D*_i0Iyz}{UubV_Z)at0Wp8zJC~j|LWnXl8aAheVV{dMAbO0k^WHB>1V=yyfWMVlpW;HlBWMwgAI51>mIXE*oHaIsm4+1$4D*_i2Iyz}{UubV_Z)at0Wp8zJC~j|LWnXl8aAhnYZf|5|DkdoaBVl1SGch+cIXGctIW#diHa2E5I5=i7WjAFoW??pEH#HFgIT0%Y7aux0X>(s_Z*6a9Wo~6}b#o|gZ)9a(ba`-PEFfcVZgX@XZf|5|Dkdo)V{dMAbO0k^HDzQmF*#v0F<~%eH#adfHZw9aGch(aW;0@AV>LHo69PFMD*_h?Iyz}{Uvyz&Y-K1ZAY*TCb94YBVPrC9IWsdeW;S7EVm320W;A4EVr649I5askWMMaBG8FdKqWMdZsIR+~N7YI5!ba`-PC@COgZ*FsR03%^$Wi>cCH#IO~IXGiCFfunWFl06~GhsL}Wn?yDIbmiQ0yzdN0v8fGI%j2cD06gVIy!T7a%pa7Uv_C_cPRiPVP!TrF)?LfH)A$AGGSvkF*rCdHaRn8GBPz|Ha1~pWE%oG5E}v+7$9SBZgX@1G&5mlVP!OCH#RV4H!(G1HaTK2VmM)8Fkv@kW-vD~9RfKPD*_i2Iyz@%bSQIlWI8%`b98cPZf9S1X=QgQ03%^xHaB83IWsslHDh9AH!wD1WjHxxHDNG0W-vA~FfcM70yz;M0vQ<~V{dMAbO1InHDft3GBjmnI5jh6Vm4tnH8eD1FkxadVmUc6F=inGITtGe7ZN%;XJvF>VRI;RbYwa@b98cPZf9S1X=QgQ03%^JGc#s1VK*>2WH(}BHD)z2VK+54Wi>Z3W;QW4HfA{^0yz*P0vQ+}V{dMAbO13pFlID1F)%Y^WMMZnG-75qHDzUCWMVTiHZ?h7H)ACNITkAd7ZW-VRI;RbYwa@cXM=dX>MmmH#TEtGB`3aGc{smW@IxkGc`10IWQ>#ITum@06IE!VPb4$0Ap-nb8~cWZERmLUomuHVr*qDXmo9CH3A_zI%H*LVRdYDUuJA!XLA4}VPZ64G&DG2H85deH8^H7F)=Y?Wj19vGC5>4GB{#2H8lbuAv!v0b8l{6W^ZzBVRUq5awubOZgX@XbZ>2JIy!D|WMw8SAZBlJZDDj@W^7?+b148LVPj=DV`MjBG&nb6Ff=k`W;bFtI5##oFfuY^H8f&lH7x=|A2k9YDLOi8b8l{6W^ZzBVRUq5awubOZgX@XbZ>2JIy!J+a&u*0a%FRMY;-0pAZBlJZDDj@W^7?+b148LVK_NuGBaUfVmLWuI5uWCIb||4GB!0dV`eaBIb||3WG@0kCp7{gEIK-GaAk5~bZ>GzJScN?WI8%xVRLC?UvG1Ca%Ev{JXAg=EFfxgZ*E^^Z*py6baZ8MJXJm>DF7p3Vqs!rH(@tsIX7f5Ha9b5H#IacH(@q0GGb<9I5;H3A_mIy!G~WpZJ3Z*n|5D06gVIyz!ub7^B=Z*z2VWnpbRR6ZswAZl}OZeM0^a&2LBbY*fpRX!#rDF7p3H(@kmIWT21Ib>pFVKOjfHD+RCW@2SEWj8T0F=jS0GXg^^QUCxtI%;!oZeM0^a&2LBbY*e?V{Bn_b98TQY+o^7F=}&fZeL$!Z*py6baZ8ME@*UZY={CD2s%1*Z*_8GWhf~iV{dMAbO0k^VKX;4W??flGh|_6H)JM|WHx1EIWsgeWHM!CGGQ||G-fb0Gch+cH#0f{IEVrk0y;Wjb0{eQBVl1UF*so{GG=2iGBGk`HDxq0Hexe4W@BbCFf(R2IXOH6I6MLv2q0r`ZgX@1GBIQ~G&nJ3VPa%vFlAw7WMVlnWMpM!W??xsFk@peJ_0xfhyoS@IyzxvZI0yu~Q76LjtVRK(%Z*Od6VQwfX03%^EFfcPQVPa-BH!(FaGG;kuWMgDAF*Y_fV`VfrF=k{!0yu~Q76LjtVRK((VRU6EDF7p3Gc{#nH)3QoWoBVwHaR&kHe@$AH#B5sH#0V4WMN@uL;^U70u}-~I$?8PWMOn=Uvz10Whf~CBVjf;V`DZmWM*VIWi&H2VlXgcH)ANoGh#I|VKXx@VMqcvhyoS@IyzxMmIDF7p3VmM|rGG$|CFgZ0cHZWo_WH~o8HZwUiIbk_CGB!72OaeHF0u}-~I$?8PbYWs_Whf~CBVl1SIW{*jHZn6gWj8c4G%++aF)%YRH#228I51{nI518EIEVrk0y;Wjb6<36ZDlAa03%^#Vlp#fI50IdI5|0EG-5DhH8*83Fk>`fGh}07WM(i>0yu~Q76>{zX>%wkAY*TCb94YBVK6ggF=Aq6F<~$^G%z_eGh#O}Fg0dnG%#Z~Gcz$UI8p*Q28aR{2s%1xb6;U{a$$KWDIjBSZgX@1BVl7>V`VosH8o-|V`DQkFf}{zX>(s;a&lpLUvFk#bYWs_WpgMgAY*TCb94YBVKFv2H)c0vVKHN5HeoeoG-ESlGi5S0WiU80H#A~1G*$vQ28aR{2s%1xb6;X_Z){~@ZYU`rV{dMAbO0k^G&f^mGh$>mGdVIaGC5%|HZ^83Gh;9^Ibt$oVlZMdSOPc(hyoS}Iyz}{Uu0o)Whf~iV{dMAbO0k^Hf1(2HZWsiF)}kVVmLQsH)1t6VKQMdFf%wgF=R4fS^_u*hyoS}Iyz}{Uu0o)WnXk@ZDlAaAY*TCb94YBVL34|H8LZ*_AhZf|5|UvznJWh@|WZ)9aECMf_TVKz8qWi~fAGG#I~Ib~)sGBRT@Fk&!aIb%0sHZwIbHedoc5r_g7A38c|b6;q0ZEt5~Ze?$Eb0}_aWMyA;d2nScAY*TCb95kXZ)9aECMh6eZ*FsR03%^IGc;u}FlA$9F*#%~G-5PlH#an7HD)q0G-Nd}VmM}E0yrIr0u~WEI%#uXXm4$AXJu|>Z*_AhZf|5|UvznJWho$IZ*FsR03%^FWH~W8F=S&kG&N;oWMyPCVq-XFH#aagV>UBoWMO1v0yqzd0u~55I%#uXXm4$AXJu|>Z*_AhDIjBSZgX@1BVjjWGGaF~HZWl_WnnZlGB`3gIWT20WMyPCWHUK5HeqH0I0lFU76>{zX>(s`Zggd5WpXGfAY*TCb94YBVKrrAWMVcrG%`3iGB-72WidB6HZnLdW@2SAI5ah5V`u_628aR{2s%1xb6;+CZDM6|C@COgZ*FsR03%^BWMVdCVm3E9G%#Z|IbvooWHx3uVr4NnG-72lH8C-20yqYU0u~55I%#uXb98cPZf7VdAY*TCb94YBVP$4!Gc`FkH(@klF*9amFlJ?DVmV{zX>(t6X>DaFDIjBSZgX@1BVjaQH#RmiVKibfH8wRcV`exrGh{VmI5RV4Gchw{Ibv`EI0lFU76>{zX>(t8VQh6}C@COgZ*FsR03%^#WMpPJWo2SwWHe=CWj8rFWi>W8HDxknIb=0CWi(-O0yqYU0u~55I&^t(Whf~iV{dMAbO0k^F)(H`I5{vgHDhHlGht$4Ffd^;F*z|aH8^2rHZwCcbOJaAhyoS_Iy!P?W+*8jCIBO0FlI7hHa9e7I51*3I5J{0GC4IdGi5hrV>w}EWH>Z3b^Gc{#mG-NSkVKz8sI5A~pWH&cvdIC5IhyoS}Iy!b?Y;|QQDIjBSZgX@1BVjZ+FgZA6VmLH1Wj0|lFfutXGG#VnI5jgeHfA?5Vl;dLI0lFU76>{zc42IFWnX1@VPkYCDIjBSZgX@1BVl7PG%+_~Vl*=`Gh#9}GBjl~WnnTmFkv(}H)b(4Gh%)MI0lFU77IE$c42IFWnXV{C{!jUDIjBSZgX@1BVjZ$Gh}3AV`DQmGc+|dG&MFcHDxj|GC43~Ibk?qHZ_0(I0=XX7798#c4>2IbSOr3Zeu1UDIg{QBVlATH#0dfW-~Z5GBP$WWMVgBW-vBmWHLB1H90skG%$h!I0%9Q7z-umCIWUF-I1W+(06IEuZ)9ZvV{Bn_b98TQY+o^7F>Y^UWiDuRZEVE?A38c?Z*FsRUukq@a$$6DasVS?VrDrqW@chEIAbwpG-NPlF)}%3G%zzVH!wJ4G+|;e#R4BXI%#xea$$6DasVS?VP!QiGh;C^WjSU!F*Y(}Wi?}BWo9*HGGjSrG&nXh#R4A!Iyz!yXK8LIDF7p3GiEk4F=aV4GG;L~F*syqW?^JDW@BSFWMeTiI5{(9ivmH50wD+>V{dMAbO1RqFlI3`IWse1Ff}wcVKO-~Ff=eUGB`IlGC4OmF=mYdK?cPF9|$@+V`61zX>KSfAY*TCb94YBVP-WrGBGk_IAJq3H)SV{dMAbO13mG-NX}Vq;-5WnnciWMefjGcYqZGB!6gVK_BmHZ_$3K?cPF9|Sr&WpZ+FawsVvCIBO0WoBYxIbmUDWM(ihW??a5V>vfDIW{t6GBRZ`GG#V6mjXcomjWRLCIDhEH#sphGBP-3Ic7IBGd4CdIAb|EWM(uqG-fe3H)NRtK?B7C9|}4;WpZ+FawsVvV{dMAbRZ@GBVjpVH90alVlXjeW;tOuW;bRzI5uK9G&3<{WoBeDVmO-uK?ubH9|$@+W?^Y;Wn?HRAY*TCb94YBVL324H)3NoH8LGXVsCG3C@COgZ*FsR03%^$Ha2BpH#lK7WMnuvF*PzVV`VrtHDNP1GBPmWrHDxqoGcaMH0zn4F0v`xEI&W}ga$$6Dav)=GZgX@XbZ>2JIy!V=Vr*q5C@COgZ*FsR03%^JWH2>3GB`P9WMO7DV>f1EH!(ReHexa{VKQbpV>xD{0zn4F0v`f8I&W}ga$$6Dav*SFa&u*0WpZ+FawaG#03%^yV>n?pIWuEoH8VIgG%;c|IX5(AW@a-uV>dB2Ha0n>0zt(B9|Af$Z*XODVRUbDAaG%Fb7fy;a&m8SCMGB;03%^JW;ZZlVKz23WH>ZoVP-XEIWsn7WHL8qHe)$8V>Dr>0zt(B9|Af$Z*XODVRUbDAarkSY&tr0VPb4$CMYQYBVjdVF*Ic|GGsJlHaKE3H)Am|H!(3`Gcz$cWMejBW;v+>LB#?e0y;WxaAk5~bZ>GXbZ>2JIy!V=Vr*q5CMYQYBVjmXV_`8iFfcecHaRskVly~mIXPi8VKinrV`4WqV>GJ*LB#?e5IQ<G!C~#qNb7fz0Wpj0GbS5S#03%^xG-EPjH#ab0IAk(0G-f$uH840eI5ILbGiGKnWH>af0znSN0v`=JI&W}ga$$6Da$8*}b98cPZf9S1X=QgQ03%^xVK_4~Fg0N^IW%NtWMnuvH8(gkG-NPhHZwOkH8wD>0znI}0wEJ1V{dMAbO1AAI5=csWHUE6WHU2mF=k|BVKXr|F*i3bGBsvmVKuP=K@r6Q9}_w{Z*XODVRUbDTU{t~bYwa@cXM=dX>MmMzlW@Ke!IX7fEW;J0qW;r%yvjRa8vjQO*AY*TCb94YTIAJqoWjQx7GBPkUIX7iyIWjV4V=`f4HDfnnIb$%j0zntW0v`}MI&fifb7fz0Wpj0GbSQ9Pa&u*0a%FRMY;-0jDF7p3Ff}-0H#TN7Ic8!tVL3N3H8?djGdN~4WHc~2IAUQnw*o;9#R4A)Iy!T8V`F7yWMyP1DIjBSZgX@1BVl4SVrFAxHf3ZpI5jXaHZwUjFfut}WHvcrWH&frGh?{|K?cPF9|Sr&bYWs_Whf~iCIBO0G&f{2WnpA8FkxjmWHB~4F)}eQV>UB0F*#v2VKFu`y8=N1y8325HZWv1F=a4gFlI6}Vllx2LB#?eFgiMKaAk5~bZ>GzJScN?WI8%xVRLC?UvG1Ca%Ev{JVR(DdDF7p3IAS?6V>UD~Wn?lkW;Z!EHZ(RcHe_ZuIX7lAGB-G7!vaArQUCxtI&fifb7fz0Wpj0GbO2*)VRLhIZ*6Q}F<&uoVRCb2Ute-%b9HQVE@*UZY$O95FgiMKaAk5~bZ>GzJScN?WI8%xVRLC?UvG1Ca%Ev{JVR(e=EVr4aEW-((kVPj!pWMySBI5aUZIWRXi#sWSrBm*1>Iy!D|WMwERAY*TCb94YBVP;}9GGbviW@Kb!W@0ojH)3QnH)1w9H(@j|H!?IfWXJ+O1|$O<0y;WwZ)9a(c4=jIC@BCVVK8JkVrDflF=S#fF=941FgP({WnnWlV=^^mG-F{oWy%6RBm*1{Iy!D|WMyA=X=QgPc4=jIWn^D;d2nSaDF7p3F*!M7VK8GbF=aA0VK+2lGGSykWMXACH8e3XGiG8q%mO|PBm*1{Iy!D|WMyA=X=QgPc4=jIWn^D;d2nSWDF7p3W;8HkWn?%xFfwI0F=aC~G+|~mG+{6^GiER~WHvZ5&H_FRBm*1>Iy!G~WpZJ3Z*m}FZ*OcUDIjBSZgX@1BVl4VWo0mCW@BPGIXN~kF=07kFfueZV=y^6VPQEkH89WuJ_aNM93VP6Z*XODVRUbDJv}I6Z*FsRAZ~ADWnXq_Wp^elAY*TCb95kdVPb4$CMf_TVK+52Vq{`rH#j&pIbmjHHezFAVl-kkF=a4eH#cQ8HPQk;9wY-CAUZm4aAk5~bZ>G!Jt$*uZgX@XZf|5|Uv_C_cP1<#V{dMAbRc1Ja$$KUDF7p3Gh#D2VP#}uVPs)8GBPn?G-We5H8)}~W-u}{H8?ag)B-*pBm*2NIy!G~WpZJ3Z*o07C}VGKb95kXZ)9a(c4=jICM+OhZ*FsRAarkSY&tr2VQh6}JXAg=DF7p3WI1MJIW{;lHfCdGWi&HmWHDu7F=Jz9Hf1t0V>mfA)&f2!Bm*2AIy!G~WpZJ3Z*o07C}VGKb95kXZ)9a(c4=jICM+OhZ*FsRAXFwP03%^EH83|fFfw8@H!@~0IWRUkWMnsHGh$(5GB`0}WHB??0zMif0~|9tI&W}ga$$6Day>mLV{dMAbRceTWMyA=X=QgNEFfcVZgX@Xb97`nI%#fcbZKF1X?kUHUuF(d;VDLOiDaAk5~bZ>G!Jt$*uZgX@XZf|5|Uv_C_cP1<#V{dMAbRctdWI8%_Wn*-2ay(Q%CMf_TVKHVhGd5#4Vl*;jI5aV1F*#y5HaB85GdX5tV=!i9W84BhCnN(L7&H7T_|&OWI8%?baH8KXJ2+{Wp^ncV{dMAbO0k^GGt_BF)}zgG-fw2H8U_|I51>oG&Nx`Gi70AH#lZt-U2=rBm*27Iy!G~WpZJ3Z*p5*D06gVIy!fAbaH8KXJ2+{Wp^ncV{dMAbO0k^W;iopI5=i7H)AwnVmC2kH)c3FWj0|nH8C+|FlA$7-~v7uBm*1{Iy!G~WpZJ3Z*p5*D069gWnXkDAY*TCb94YBVKrniGh#3@Hf3gGWHT{1F)}nUHDzIBGcaXkVm3KsV&Vcm3?u^_2s%1pb0{ewV{dMAbO0k^Ic8=yG&neAIW;*mVq`L8VKrf8H!))~H!w0eGcz$XIyzxIyzxHIyzxN37XJv9IDIjBSZgX@1BVjl&I5#pfI5an6I5agiHe_KqV>mZtW@0opV`VdCVP^0GJ_aNM90)o(VRK(|baH8KXDBHkV{dMAbO0k^HZn6~FflVRIA&xuGh;Y0Wn(ZiGc+|bG&5vlHZwIg@&Y~vBm*1>IyzxmHfCWkGdVM2V`DjCW%L3*1|$O<2s%1pb6<36ZDlAaAY*TCb94YBVP$19GBG)0Vq`ctH)UfqH#Rh7IWjUdF=8+_GB`9aIQ9ZQ1|$O<2s%1xb0{ewV{dMAbO0k^GBIQ~V>LBlGc#dfF=IG3IAmmHHDh97VK-$pG-YEl_yRr#Bm*1>Iyz}{Utw}`VRIyz}{Ut(`>Y-M3?C@COgZ*FsR03%^xH)UloWHDwlIW}c6GB`71G+{9@WH2{kIW#aZI5{`|0zL*L0~`oCI%#uXWMOn=C@COgZ*FsR03%^EWMemDW;kIrH)LWrGiG5oIXPiDGdX5AVPj-9G&y7d13m^M0~`oCI%#uXWMOn=Uvz10Whf~iV{dMAbO0k^HDNP2FlIM5Ght;iIWc27G%{f@Gi5Y2VK_KrIW%H00s}qIyz}{UuJA?VRUJ3XJ2q{X>N2VDIjBSZgX@1BVjZ%WnnXAWn?#EFlI3`GiG5oWH&W3VL3B0GGjM2IAsI_J_aNM93VP6X>(s_Z*6a9Wo~6}b#o|gZ)9a(ba`-PEFgAiWp`y{UvznJWhy2qAY*TCb94YBVKQMdIWRIXHZ(LcF=jL{F=aR~WnnfrH)CaHH8VD3VFm*}9wY-C5jr|)b6;q0ZEt5~Ze?$Eb0}_aWMyA;d2nSZAY*TCb94YBVP<78VPa%8F=a4iF)%n{GcYz{WinwiWo0=vHZfykVF&|04Iyz}{UukZ1WoKn_C@COgZ*FsR03%^yIb%38HDqLFFflh~GBq${I5cKqHDon6Gd5*7H8L;^13m^M0~`oCI%#uXZgp*9WpXGfAY*TCb94YBVKFc_H#0IbH!x#1GBhwUVlgo=F=012Wj8Z8GG=5rVh#g71|$O<2s%1xb6<0Ga%pa7C@COgZ*FsR03%^HIbt+7GB!9dH8o^8H8o;5Win$hGB;u{V=`f7IXE*A13m^M0~`oCI%#uXbYWs_Whf~iV{dMAbO0k^H!xx~HaBHqH8?V3G&eG4WjQrrI5}c9VmLH1V`XJF5(7R4Bm*1>Iyz}{Uvz10Whf~iV{dMAbO0k^IXGc9Vq-HiWiw)7H8(S3GdE!{HaRgeHeq9CFk(1k6azj6Bm*1>Iyz}{Uv^<^b!8|iAY*TCb94YBVPQ2mW;kSJG&f>pHD)z4H#0b5F<~$?WH)6wWH2>hW)=fJ1|$O<2s%1+d2nSYDIjBSZgX@1BVjT$I5T5rF=03}F*G(dF*z|gVmUB2He+QrGGjS5GBFqfJ_aNM90)o(a%E;HDIjBSZgX@1BVlD@HDfn6G%`6eVK-%EVlpr=Fgal~I5c82G-NkpGhrG7J_aNM90)o(c42IFWhf~iV{dMAbO0k^G%;mlFk~`eW@Kb$GB-J4WH&c7VP-coI5#pgWn?p990NWEBm*1>Iy!b?Y;|Q{Wq4s@bSNnxV{dMAbO0k^W;bLrF=b+8I5lQ4H8f%|HZnG0W-??kFg0anHaIb59s@oGBm*1^Iy!b?Y;|Q{Z*nM9CMGE$V{dMAbO0k^H)UfvWMnckWic@}GBPqSH8o;1VmV|nH#0UgVrDWnAOk)LBm*1{Iy!b~b7^!aMs;puCMGE$V{dMAbO0k^VKrtrG-769VmCKAV>dBjFgIc_G-F{fVlrf6I5sn8A_G1QhyoE`c4=jI0AF8rX=QgVXmo9CCj%Z8Iy!G~WpZJ3Z*n3cUvzJ6Y$#)IZgX@XV`yP=Dl8y#X?kT}bSVHMVKgu?H8U_}H8wC~GGt>lG%z?_BVQh0QXmo9C0w4h-0xbbD0XG3X0YU>w155=_1yliA0A2uQ0cikmaA9X + + + toml::date struct | toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date struct +

                                                                                                                              +

                                                                                                                              A local date.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              uint16_t year +
                                                                                                                              +
                                                                                                                              The year component.
                                                                                                                              +
                                                                                                                              uint8_t month +
                                                                                                                              +
                                                                                                                              The month component, from 1 - 12.
                                                                                                                              +
                                                                                                                              uint8_t day +
                                                                                                                              +
                                                                                                                              The day component, from 1 - 31.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(date lhs, + date rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(date lhs, + date rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<=(date lhs, + date rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(date lhs, + date rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(date lhs, + date rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(date lhs, + date rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.4.0/structtoml_1_1date__time.html b/v2.4.0/structtoml_1_1date__time.html new file mode 100644 index 00000000..c89a86fe --- /dev/null +++ b/v2.4.0/structtoml_1_1date__time.html @@ -0,0 +1,279 @@ + + + + toml::date_time struct | toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date_time struct +

                                                                                                                              +

                                                                                                                              A date-time.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + date_time() constexpr noexcept +
                                                                                                                              +
                                                                                                                              Default-constructs a zero date-time.
                                                                                                                              +
                                                                                                                              + date_time(toml::date d, + toml::time t) constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs a local date-time.
                                                                                                                              +
                                                                                                                              + date_time(toml::date d, + toml::time t, + toml::time_offset off) constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs an offset date-time.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto is_local() const -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this date_time does not contain timezone offset information.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + toml::date date +
                                                                                                                              +
                                                                                                                              The date component.
                                                                                                                              +
                                                                                                                              + toml::time time +
                                                                                                                              +
                                                                                                                              The time component.
                                                                                                                              +
                                                                                                                              + optional<toml::time_offset> offset +
                                                                                                                              +
                                                                                                                              The timezone offset component.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<=(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date_time::date_time(toml::date d, + toml::time t) constexpr noexcept +

                                                                                                                              +

                                                                                                                              Constructs a local date-time.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              dThe date component.
                                                                                                                              tThe time component.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date_time::date_time(toml::date d, + toml::time t, + toml::time_offset off) constexpr noexcept +

                                                                                                                              +

                                                                                                                              Constructs an offset date-time.

                                                                                                                              + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              dThe date component.
                                                                                                                              tThe time component.
                                                                                                                              offThe timezone offset.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Variable documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + optional<toml::time_offset> toml::date_time::offset +

                                                                                                                              +

                                                                                                                              The timezone offset component.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.4.0/structtoml_1_1inserter.html b/v2.4.0/structtoml_1_1inserter.html new file mode 100644 index 00000000..60dc8c2e --- /dev/null +++ b/v2.4.0/structtoml_1_1inserter.html @@ -0,0 +1,129 @@ + + + + toml::inserter struct | toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + toml::inserter struct +

                                                                                                                              +

                                                                                                                              Helper class for suppressing move-construction in single-argument array constructors.

                                                                                                                              +
                                                                                                                              // desired result: [ [ 42 ] ]
                                                                                                                              +auto bad = toml::array{ toml::array{ 42 } }
                                                                                                                              +auto good = toml::array{ toml::inserter{ toml::array{ 42 } } }
                                                                                                                              +std::cout << "bad: " << bad << "\n";
                                                                                                                              +std::cout << "good:" << good << "\n";
                                                                                                                              bad:  [ 42 ]
                                                                                                                              +good: [ [ 42 ] ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.4.0/structtoml_1_1source__position.html b/v2.4.0/structtoml_1_1source__position.html new file mode 100644 index 00000000..fa97895f --- /dev/null +++ b/v2.4.0/structtoml_1_1source__position.html @@ -0,0 +1,203 @@ + + + + toml::source_position struct | toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::source_position struct +

                                                                                                                              +

                                                                                                                              A source document line-and-column pair.

                                                                                                                              + +
                                                                                                                              auto table = toml::parse_file("config.toml"sv);
                                                                                                                              +std::cout << "The node 'description' was defined at "sv
                                                                                                                              +    << table.get("description")->source().begin()
                                                                                                                              +    << "\n";
                                                                                                                              The value 'description' was defined at line 7, column 15
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + operator bool() const explicit constexpr noexcept +
                                                                                                                              +
                                                                                                                              Returns true if both line and column numbers are non-zero.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + source_index line +
                                                                                                                              +
                                                                                                                              The line number.
                                                                                                                              +
                                                                                                                              + source_index column +
                                                                                                                              +
                                                                                                                              The column number.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const source_position& lhs, + const source_position& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Returns true if two source_positions do not represent the same line and column.
                                                                                                                              +
                                                                                                                              + auto operator<(const source_position& lhs, + const source_position& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the LHS position is before the RHS position.
                                                                                                                              +
                                                                                                                              + auto operator<=(const source_position& lhs, + const source_position& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the LHS position is before the RHS position or equal to it.
                                                                                                                              +
                                                                                                                              + auto operator==(const source_position& lhs, + const source_position& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Returns true if two source_positions represent the same line and column.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Variable documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + source_index toml::source_position::line +

                                                                                                                              +

                                                                                                                              The line number.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + source_index toml::source_position::column +

                                                                                                                              +

                                                                                                                              The column number.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.4.0/structtoml_1_1source__region.html b/v2.4.0/structtoml_1_1source__region.html new file mode 100644 index 00000000..9cb02be1 --- /dev/null +++ b/v2.4.0/structtoml_1_1source__region.html @@ -0,0 +1,189 @@ + + + + toml::source_region struct | toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::source_region struct +

                                                                                                                              +

                                                                                                                              A source document region.

                                                                                                                              + +
                                                                                                                              auto tbl = toml::parse_file("config.toml"sv);
                                                                                                                              +if (auto server = tbl.get("server"))
                                                                                                                              +{
                                                                                                                              +    std::cout << "begin: "sv << server->source().begin << "\n";
                                                                                                                              +    std::cout << "end: "sv << server->source().end << "\n";
                                                                                                                              +    std::cout << "path: "sv << *server->source().path << "\n";
                                                                                                                              +}
                                                                                                                              begin: line 3, column 1
                                                                                                                              +end: line 3, column 22
                                                                                                                              +path: config.toml
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto wide_path() const -> optional<std::wstring> noexcept +
                                                                                                                              +
                                                                                                                              The path to the corresponding source document as a wide-string.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + source_position begin +
                                                                                                                              +
                                                                                                                              The beginning of the region (inclusive).
                                                                                                                              +
                                                                                                                              + source_position end +
                                                                                                                              +
                                                                                                                              The end of the region (exclusive).
                                                                                                                              +
                                                                                                                              + source_path_ptr path +
                                                                                                                              +
                                                                                                                              The path to the corresponding source document.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + optional<std::wstring> toml::source_region::wide_path() const noexcept +

                                                                                                                              +

                                                                                                                              The path to the corresponding source document as a wide-string.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Variable documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + source_path_ptr toml::source_region::path +

                                                                                                                              +

                                                                                                                              The path to the corresponding source document.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.4.0/structtoml_1_1time.html b/v2.4.0/structtoml_1_1time.html new file mode 100644 index 00000000..e9c7ed30 --- /dev/null +++ b/v2.4.0/structtoml_1_1time.html @@ -0,0 +1,186 @@ + + + + toml::time struct | toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::time struct +

                                                                                                                              +

                                                                                                                              A local time-of-day.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              uint8_t hour +
                                                                                                                              +
                                                                                                                              The hour component, from 0 - 23.
                                                                                                                              +
                                                                                                                              uint8_t minute +
                                                                                                                              +
                                                                                                                              The minute component, from 0 - 59.
                                                                                                                              +
                                                                                                                              uint8_t second +
                                                                                                                              +
                                                                                                                              The second component, from 0 - 59.
                                                                                                                              +
                                                                                                                              uint32_t nanosecond +
                                                                                                                              +
                                                                                                                              The fractional nanoseconds component, from 0 - 999999999.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const time& lhs, + const time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(time lhs, + time rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<=(time lhs, + time rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const time& lhs, + const time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(time lhs, + time rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(time lhs, + time rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.4.0/structtoml_1_1time__offset.html b/v2.4.0/structtoml_1_1time__offset.html new file mode 100644 index 00000000..98ebb40e --- /dev/null +++ b/v2.4.0/structtoml_1_1time__offset.html @@ -0,0 +1,224 @@ + + + + toml::time_offset struct | toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::time_offset struct +

                                                                                                                              +

                                                                                                                              A timezone offset.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + time_offset() constexpr noexcept +
                                                                                                                              +
                                                                                                                              Default-constructs a zero time-offset.
                                                                                                                              +
                                                                                                                              + time_offset(int8_t h, + int8_t m) constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs a timezone offset from separate hour and minute totals.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              int16_t minutes +
                                                                                                                              +
                                                                                                                              Offset from UTC+0, in minutes.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<=(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::time_offset::time_offset(int8_t h, + int8_t m) constexpr noexcept +

                                                                                                                              +

                                                                                                                              Constructs a timezone offset from separate hour and minute totals.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              hThe total hours.
                                                                                                                              mThe total minutes.
                                                                                                                              +
                                                                                                                              std::cout << toml::time_offset{ 2, 30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{ -2, 30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{ -2, -30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{ 0, 0 } << "\n";
                                                                                                                              +02:30
                                                                                                                              +-01:30
                                                                                                                              +-02:30
                                                                                                                              +Z
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.4.0/toml++.tagfile.xml b/v2.4.0/toml++.tagfile.xml new file mode 100644 index 00000000..5e24dc13 --- /dev/null +++ b/v2.4.0/toml++.tagfile.xml @@ -0,0 +1,5759 @@ + + + + toml::array + classtoml_1_1array.html + toml::node + + array_iterator + iterator + classtoml_1_1array.html + a62a18471ca7c5b06204d2e26c963f833 + + + + const_array_iterator + const_iterator + classtoml_1_1array.html + adfd38318d3390a76f073a83fd2f2aa21 + + + + + array + classtoml_1_1array.html + a29fc707cf66a79f3c3d93dadbe3b2719 + () noexcept + + + + array + classtoml_1_1array.html + a5883d7e1a7b9c9ba2b87fb8043ddb0d9 + (const array &) noexcept + + + + array + classtoml_1_1array.html + ac552a63c329598d671e6531b0cef957b + (array &&other) noexcept + + + array & + operator= + classtoml_1_1array.html + af9bf16bc9e21887dc1447651f6fbaba7 + (const array &) noexcept + + + array & + operator= + classtoml_1_1array.html + a7e5e45777e08941abb2069a5991e1f31 + (array &&rhs) noexcept + + + + ~array + classtoml_1_1array.html + ace30b5dcdbcb8ff7da2c49f7e55bdfaa + () noexcept override + + + + array + classtoml_1_1array.html + a8484f098f8bb1a7dd8426ec99f4bb807 + (ElemType &&val, ElemTypes &&... vals) + + + node_type + type + classtoml_1_1array.html + a10f914637ff56f5bc6f96b089fd141a3 + () const noexcept override + + + bool + is_table + classtoml_1_1array.html + a30764b48a4c5cb191b620b77df4c8b00 + () const noexcept override + + + bool + is_array + classtoml_1_1array.html + a17362a39f6ec6f14ce59f8a8ed2b88cf + () const noexcept override + + + bool + is_value + classtoml_1_1array.html + a7a38831cec7e7215a6101ba40fc1ce11 + () const noexcept override + + + array * + as_array + classtoml_1_1array.html + a92874b0f5a195ffc699dde0a5a25f118 + () noexcept override + + + bool + is_array_of_tables + classtoml_1_1array.html + ab8e15c4067237ab3192ab8f412bee0f6 + () const noexcept override + + + bool + is_homogeneous + classtoml_1_1array.html + a628574d1e47440545019a3467be64fdc + (node_type ntype) const noexcept override + + + bool + is_homogeneous + classtoml_1_1array.html + abff1c5e9bf3afb04ff16c15522aa55c4 + (node_type ntype, node *&first_nonmatch) noexcept override + + + bool + is_homogeneous + classtoml_1_1array.html + aa3f96a375f73b5378d06894ab40af641 + (node_type ntype, const node *&first_nonmatch) const noexcept override + + + node & + operator[] + classtoml_1_1array.html + a853bad0297ca4dcee57c97da2fe318e7 + (size_t index) noexcept + + + const node & + operator[] + classtoml_1_1array.html + ae9f72a1b877f2ac66327a152d55aa9c6 + (size_t index) const noexcept + + + node & + front + classtoml_1_1array.html + a9c78848129a2a703c154e7cbe1a973d3 + () noexcept + + + const node & + front + classtoml_1_1array.html + a5ba3af18c63546da6f9d2ac3b5b77f64 + () const noexcept + + + node & + back + classtoml_1_1array.html + a4c58dea5e8795e4b9f8df4f1e1473204 + () noexcept + + + const node & + back + classtoml_1_1array.html + ac7652c1ab60af2ca1c7d52f0658639b4 + () const noexcept + + + iterator + begin + classtoml_1_1array.html + a8ee8179ddf1cb44fdf0b8d0700f55c2f + () noexcept + + + const_iterator + begin + classtoml_1_1array.html + a7cff1526a6d1f6157e0eab231b4757aa + () const noexcept + + + const_iterator + cbegin + classtoml_1_1array.html + a56d1cba006dccc5ad9982b58a8b2ddc1 + () const noexcept + + + iterator + end + classtoml_1_1array.html + adaf908b0cc3e8bcb1ee9ec9ec706d223 + () noexcept + + + const_iterator + end + classtoml_1_1array.html + a778b5b807ff7329f7de10237d73f29c2 + () const noexcept + + + const_iterator + cend + classtoml_1_1array.html + a50e6b032805760f3930e02923d9a84b0 + () const noexcept + + + bool + empty + classtoml_1_1array.html + a5d527ea6bfddad1025e90e4363c822cc + () const noexcept + + + size_t + size + classtoml_1_1array.html + af81d7b6a1257ad766a47d9276855a7c9 + () const noexcept + + + void + reserve + classtoml_1_1array.html + a1ba073adc52c3df5ad29cfd7e5daa1d5 + (size_t new_capacity) + + + void + clear + classtoml_1_1array.html + adaa65bf63f29f898c27423306c165d68 + () noexcept + + + size_t + max_size + classtoml_1_1array.html + ae65a76add6d756fc7ba8f12a5aad983c + () const noexcept + + + size_t + capacity + classtoml_1_1array.html + a02b773a1ff337692e78da429030c1610 + () const noexcept + + + void + shrink_to_fit + classtoml_1_1array.html + a718c2031ead428aa52912741f6d094aa + () + + + iterator + insert + classtoml_1_1array.html + ab44c0e3568a683bc6d53c8f5b11abb88 + (const_iterator pos, ElemType &&val) noexcept + + + iterator + insert + classtoml_1_1array.html + aa454d276f2935b1e2b5c2caec9bc2a0d + (const_iterator pos, size_t count, ElemType &&val) noexcept + + + iterator + insert + classtoml_1_1array.html + a311fed9b54b87daab0646fbc1818170b + (const_iterator pos, Iter first, Iter last) noexcept + + + iterator + insert + classtoml_1_1array.html + a87500f1ea51f3b42dadc686a3e128fea + (const_iterator pos, std::initializer_list< ElemType > ilist) noexcept + + + iterator + emplace + classtoml_1_1array.html + a5b87d1345eccbb1b9406092e72fa0c38 + (const_iterator pos, Args &&... args) noexcept + + + iterator + erase + classtoml_1_1array.html + a22389a9ed9444fe52be10c4acbdec908 + (const_iterator pos) noexcept + + + iterator + erase + classtoml_1_1array.html + a723388860d72c9a162137d0293366fb2 + (const_iterator first, const_iterator last) noexcept + + + void + resize + classtoml_1_1array.html + a8694e01e9b0b1c5b9152518137d5b971 + (size_t new_size, ElemType &&default_init_val) noexcept + + + void + truncate + classtoml_1_1array.html + a6e3ac9962c706a88c1001ff83a4084f3 + (size_t new_size) + + + void + push_back + classtoml_1_1array.html + a2b3315295340dc76b69ce916d31fec35 + (ElemType &&val) noexcept + + + decltype(auto) + emplace_back + classtoml_1_1array.html + af82fb4fec1f33c323123fab0ec4a74ac + (Args &&... args) noexcept + + + void + pop_back + classtoml_1_1array.html + af99d72e29cef84f736d91d627b47a1dc + () noexcept + + + node * + get + classtoml_1_1array.html + a10664e00054ea4021fec5144b69b8792 + (size_t index) noexcept + + + const node * + get + classtoml_1_1array.html + a44db509dce6b7b77e563c822a5936abe + (size_t index) const noexcept + + + impl::wrap_node< ElemType > * + get_as + classtoml_1_1array.html + a5c2f4624498cba9e1e467b0eb2e9046e + (size_t index) noexcept + + + const impl::wrap_node< ElemType > * + get_as + classtoml_1_1array.html + ae47ca1cc4c61e94fed30aea72ca8d268 + (size_t index) const noexcept + + + array & + flatten + classtoml_1_1array.html + aa2a21958705629bde15aafae9598a2ec + () & + + + array && + flatten + classtoml_1_1array.html + ad307bea17e7640c57715d67ab8a777d4 + () && + + + virtual bool + is_string + classtoml_1_1node.html + aeff35977a4b13fe0fefb9a3b5917f98e + () const noexcept + + + virtual bool + is_integer + classtoml_1_1node.html + a5ecdb684288275ce1786281fbe1845cc + () const noexcept + + + virtual bool + is_floating_point + classtoml_1_1node.html + a3ea1296a95c43125119a6fe26af5b014 + () const noexcept + + + virtual bool + is_number + classtoml_1_1node.html + a1db6db67940c59bf0d6f7be184be3511 + () const noexcept + + + virtual bool + is_boolean + classtoml_1_1node.html + a47ca3bd6392029a065f13c029b2db0b2 + () const noexcept + + + virtual bool + is_date + classtoml_1_1node.html + a6e6060cb1233b87d7b57a2a203891d2a + () const noexcept + + + virtual bool + is_time + classtoml_1_1node.html + a4a7663a4b15650cf833d5c833e313d9b + () const noexcept + + + virtual bool + is_date_time + classtoml_1_1node.html + a9115204bee51ac6ef962dd9d47bf1b7e + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + virtual table * + as_table + classtoml_1_1node.html + aa696716239e7434145103173e880fb80 + () noexcept + + + virtual toml::value< std::string > * + as_string + classtoml_1_1node.html + ab8f42ecf095260b1d97363949a98267b + () noexcept + + + virtual toml::value< int64_t > * + as_integer + classtoml_1_1node.html + ac507d02b3b744e0624c504614e91c9e5 + () noexcept + + + virtual toml::value< double > * + as_floating_point + classtoml_1_1node.html + a480ae95e180992d152ad80e3b52a330a + () noexcept + + + virtual toml::value< bool > * + as_boolean + classtoml_1_1node.html + a40031abf671512f9fdcd31666ce481fd + () noexcept + + + virtual toml::value< date > * + as_date + classtoml_1_1node.html + a35ec7bd4efab69906d7874df736cdaaf + () noexcept + + + virtual toml::value< time > * + as_time + classtoml_1_1node.html + aeb23a8054899c4b0d57e10c4a3dcadf0 + () noexcept + + + virtual toml::value< date_time > * + as_date_time + classtoml_1_1node.html + a68cc63dfd8e435b00c7c99da298d6733 + () noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + ac1417bb4313b2624e3ea270a487f153b + () const noexcept + + + optional< T > + value + classtoml_1_1node.html + a48098db842e6a202902e6c85326f71b4 + () const noexcept + + + auto + value_or + classtoml_1_1node.html + a423ddccc36345545615e20290c9a8a65 + (T &&default_value) const noexcept + + + impl::unwrap_node< T > & + ref + classtoml_1_1node.html + a0f2b674e80b882b329513e7ec9aed842 + () &noexcept + + + impl::unwrap_node< T > && + ref + classtoml_1_1node.html + a292bce25bfe779dc51403e88f0cc4bcc + () &&noexcept + + + const impl::unwrap_node< T > & + ref + classtoml_1_1node.html + a378e94ebc00235eb4d1da68f81edd77f + () const &noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + friend std::basic_ostream< Char > & + operator<< + classtoml_1_1array.html + a8574290131ff09ae36a4535e2ac25261 + (std::basic_ostream< Char > &, const array &) + + + node_type + type + classtoml_1_1array.html + a10f914637ff56f5bc6f96b089fd141a3 + () const noexcept override + + + bool + is_table + classtoml_1_1array.html + a30764b48a4c5cb191b620b77df4c8b00 + () const noexcept override + + + bool + is_array + classtoml_1_1array.html + a17362a39f6ec6f14ce59f8a8ed2b88cf + () const noexcept override + + + bool + is_value + classtoml_1_1array.html + a7a38831cec7e7215a6101ba40fc1ce11 + () const noexcept override + + + array * + as_array + classtoml_1_1array.html + a92874b0f5a195ffc699dde0a5a25f118 + () noexcept override + + + bool + is_array_of_tables + classtoml_1_1array.html + ab8e15c4067237ab3192ab8f412bee0f6 + () const noexcept override + + + bool + is_homogeneous + classtoml_1_1array.html + a628574d1e47440545019a3467be64fdc + (node_type ntype) const noexcept override + + + bool + is_homogeneous + classtoml_1_1array.html + abff1c5e9bf3afb04ff16c15522aa55c4 + (node_type ntype, node *&first_nonmatch) noexcept override + + + bool + is_homogeneous + classtoml_1_1array.html + aa3f96a375f73b5378d06894ab40af641 + (node_type ntype, const node *&first_nonmatch) const noexcept override + + + node & + operator[] + classtoml_1_1array.html + a853bad0297ca4dcee57c97da2fe318e7 + (size_t index) noexcept + + + const node & + operator[] + classtoml_1_1array.html + ae9f72a1b877f2ac66327a152d55aa9c6 + (size_t index) const noexcept + + + node & + front + classtoml_1_1array.html + a9c78848129a2a703c154e7cbe1a973d3 + () noexcept + + + const node & + front + classtoml_1_1array.html + a5ba3af18c63546da6f9d2ac3b5b77f64 + () const noexcept + + + node & + back + classtoml_1_1array.html + a4c58dea5e8795e4b9f8df4f1e1473204 + () noexcept + + + const node & + back + classtoml_1_1array.html + ac7652c1ab60af2ca1c7d52f0658639b4 + () const noexcept + + + iterator + begin + classtoml_1_1array.html + a8ee8179ddf1cb44fdf0b8d0700f55c2f + () noexcept + + + const_iterator + begin + classtoml_1_1array.html + a7cff1526a6d1f6157e0eab231b4757aa + () const noexcept + + + const_iterator + cbegin + classtoml_1_1array.html + a56d1cba006dccc5ad9982b58a8b2ddc1 + () const noexcept + + + iterator + end + classtoml_1_1array.html + adaf908b0cc3e8bcb1ee9ec9ec706d223 + () noexcept + + + const_iterator + end + classtoml_1_1array.html + a778b5b807ff7329f7de10237d73f29c2 + () const noexcept + + + const_iterator + cend + classtoml_1_1array.html + a50e6b032805760f3930e02923d9a84b0 + () const noexcept + + + bool + empty + classtoml_1_1array.html + a5d527ea6bfddad1025e90e4363c822cc + () const noexcept + + + size_t + size + classtoml_1_1array.html + af81d7b6a1257ad766a47d9276855a7c9 + () const noexcept + + + void + reserve + classtoml_1_1array.html + a1ba073adc52c3df5ad29cfd7e5daa1d5 + (size_t new_capacity) + + + void + clear + classtoml_1_1array.html + adaa65bf63f29f898c27423306c165d68 + () noexcept + + + size_t + max_size + classtoml_1_1array.html + ae65a76add6d756fc7ba8f12a5aad983c + () const noexcept + + + size_t + capacity + classtoml_1_1array.html + a02b773a1ff337692e78da429030c1610 + () const noexcept + + + void + shrink_to_fit + classtoml_1_1array.html + a718c2031ead428aa52912741f6d094aa + () + + + iterator + insert + classtoml_1_1array.html + ab44c0e3568a683bc6d53c8f5b11abb88 + (const_iterator pos, ElemType &&val) noexcept + + + iterator + insert + classtoml_1_1array.html + aa454d276f2935b1e2b5c2caec9bc2a0d + (const_iterator pos, size_t count, ElemType &&val) noexcept + + + iterator + insert + classtoml_1_1array.html + a311fed9b54b87daab0646fbc1818170b + (const_iterator pos, Iter first, Iter last) noexcept + + + iterator + insert + classtoml_1_1array.html + a87500f1ea51f3b42dadc686a3e128fea + (const_iterator pos, std::initializer_list< ElemType > ilist) noexcept + + + iterator + emplace + classtoml_1_1array.html + a5b87d1345eccbb1b9406092e72fa0c38 + (const_iterator pos, Args &&... args) noexcept + + + iterator + erase + classtoml_1_1array.html + a22389a9ed9444fe52be10c4acbdec908 + (const_iterator pos) noexcept + + + iterator + erase + classtoml_1_1array.html + a723388860d72c9a162137d0293366fb2 + (const_iterator first, const_iterator last) noexcept + + + void + resize + classtoml_1_1array.html + a8694e01e9b0b1c5b9152518137d5b971 + (size_t new_size, ElemType &&default_init_val) noexcept + + + void + truncate + classtoml_1_1array.html + a6e3ac9962c706a88c1001ff83a4084f3 + (size_t new_size) + + + void + push_back + classtoml_1_1array.html + a2b3315295340dc76b69ce916d31fec35 + (ElemType &&val) noexcept + + + decltype(auto) + emplace_back + classtoml_1_1array.html + af82fb4fec1f33c323123fab0ec4a74ac + (Args &&... args) noexcept + + + void + pop_back + classtoml_1_1array.html + af99d72e29cef84f736d91d627b47a1dc + () noexcept + + + node * + get + classtoml_1_1array.html + a10664e00054ea4021fec5144b69b8792 + (size_t index) noexcept + + + const node * + get + classtoml_1_1array.html + a44db509dce6b7b77e563c822a5936abe + (size_t index) const noexcept + + + impl::wrap_node< ElemType > * + get_as + classtoml_1_1array.html + a5c2f4624498cba9e1e467b0eb2e9046e + (size_t index) noexcept + + + const impl::wrap_node< ElemType > * + get_as + classtoml_1_1array.html + ae47ca1cc4c61e94fed30aea72ca8d268 + (size_t index) const noexcept + + + array & + flatten + classtoml_1_1array.html + aa2a21958705629bde15aafae9598a2ec + () & + + + array && + flatten + classtoml_1_1array.html + ad307bea17e7640c57715d67ab8a777d4 + () && + + + virtual bool + is_string + classtoml_1_1node.html + aeff35977a4b13fe0fefb9a3b5917f98e + () const noexcept + + + virtual bool + is_integer + classtoml_1_1node.html + a5ecdb684288275ce1786281fbe1845cc + () const noexcept + + + virtual bool + is_floating_point + classtoml_1_1node.html + a3ea1296a95c43125119a6fe26af5b014 + () const noexcept + + + virtual bool + is_number + classtoml_1_1node.html + a1db6db67940c59bf0d6f7be184be3511 + () const noexcept + + + virtual bool + is_boolean + classtoml_1_1node.html + a47ca3bd6392029a065f13c029b2db0b2 + () const noexcept + + + virtual bool + is_date + classtoml_1_1node.html + a6e6060cb1233b87d7b57a2a203891d2a + () const noexcept + + + virtual bool + is_time + classtoml_1_1node.html + a4a7663a4b15650cf833d5c833e313d9b + () const noexcept + + + virtual bool + is_date_time + classtoml_1_1node.html + a9115204bee51ac6ef962dd9d47bf1b7e + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + virtual table * + as_table + classtoml_1_1node.html + aa696716239e7434145103173e880fb80 + () noexcept + + + virtual toml::value< std::string > * + as_string + classtoml_1_1node.html + ab8f42ecf095260b1d97363949a98267b + () noexcept + + + virtual toml::value< int64_t > * + as_integer + classtoml_1_1node.html + ac507d02b3b744e0624c504614e91c9e5 + () noexcept + + + virtual toml::value< double > * + as_floating_point + classtoml_1_1node.html + a480ae95e180992d152ad80e3b52a330a + () noexcept + + + virtual toml::value< bool > * + as_boolean + classtoml_1_1node.html + a40031abf671512f9fdcd31666ce481fd + () noexcept + + + virtual toml::value< date > * + as_date + classtoml_1_1node.html + a35ec7bd4efab69906d7874df736cdaaf + () noexcept + + + virtual toml::value< time > * + as_time + classtoml_1_1node.html + aeb23a8054899c4b0d57e10c4a3dcadf0 + () noexcept + + + virtual toml::value< date_time > * + as_date_time + classtoml_1_1node.html + a68cc63dfd8e435b00c7c99da298d6733 + () noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + ac1417bb4313b2624e3ea270a487f153b + () const noexcept + + + optional< T > + value + classtoml_1_1node.html + a48098db842e6a202902e6c85326f71b4 + () const noexcept + + + auto + value_or + classtoml_1_1node.html + a423ddccc36345545615e20290c9a8a65 + (T &&default_value) const noexcept + + + impl::unwrap_node< T > & + ref + classtoml_1_1node.html + a0f2b674e80b882b329513e7ec9aed842 + () &noexcept + + + impl::unwrap_node< T > && + ref + classtoml_1_1node.html + a292bce25bfe779dc51403e88f0cc4bcc + () &&noexcept + + + const impl::unwrap_node< T > & + ref + classtoml_1_1node.html + a378e94ebc00235eb4d1da68f81edd77f + () const &noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + friend bool + operator== + classtoml_1_1array.html + a06cf25e3f80c98d88e041ef9823976c0 + (const array &lhs, const array &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1array.html + af06c7437a0946a9d5e093d903b59f6a4 + (const array &lhs, const array &rhs) noexcept + + + friend bool + operator== + classtoml_1_1array.html + ab87e435c5a41140e60cd2e703df96fbd + (const array &lhs, const std::initializer_list< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1array.html + a5b3c615e4ba8fd780b966f175070b554 + (const array &lhs, const std::vector< T > &rhs) noexcept + + + + toml::date + structtoml_1_1date.html + + uint16_t + year + structtoml_1_1date.html + ad1dc522b115c69dc908540b1c6ff792b + + + + uint8_t + month + structtoml_1_1date.html + a0528c722d0a81741a95f6e3a1116614e + + + + uint8_t + day + structtoml_1_1date.html + a8ec7a7238b8edd3341b450a7b43ec011 + + + + constexpr friend bool + operator== + structtoml_1_1date.html + a07ff3f69b41d69e780aac60d11e8a2a8 + (date lhs, date rhs) noexcept + + + constexpr friend bool + operator!= + structtoml_1_1date.html + af2ad5cc7af0b184e6fab182f32df8a1c + (date lhs, date rhs) noexcept + + + constexpr friend bool + operator< + structtoml_1_1date.html + af143f183b354544eb5f63a1887e65daa + (date lhs, date rhs) noexcept + + + constexpr friend bool + operator<= + structtoml_1_1date.html + af353d0dbb3eda43ee136ac12b4b94fdd + (date lhs, date rhs) noexcept + + + constexpr friend bool + operator> + structtoml_1_1date.html + a399f4b20d6b9f84a9c093026de0965c2 + (date lhs, date rhs) noexcept + + + constexpr friend bool + operator>= + structtoml_1_1date.html + aac65e3db8d117aad6dc469d4e5ec77bb + (date lhs, date rhs) noexcept + + + + toml::date_time + structtoml_1_1date__time.html + + constexpr + date_time + structtoml_1_1date__time.html + a58660e699081a0e3b44ea9564dcbec64 + () noexcept + + + constexpr + date_time + structtoml_1_1date__time.html + ae96326775192b72b5a20016b800d6d0c + (toml::date d, toml::time t) noexcept + + + constexpr + date_time + structtoml_1_1date__time.html + afb5f47a37cd051f4f4647dc071ed1e0f + (toml::date d, toml::time t, toml::time_offset off) noexcept + + + constexpr bool + is_local + structtoml_1_1date__time.html + af0d6119984645eb015f2fad0ef487bbc + () const noexcept + + + toml::date + date + structtoml_1_1date__time.html + a89f398585f373d1e7bd59fe440212074 + + + + toml::time + time + structtoml_1_1date__time.html + a18d5e772db4f61635643cda390c2b720 + + + + optional< toml::time_offset > + offset + structtoml_1_1date__time.html + af8596013f522b94a88d2caf69e90a1f5 + + + + constexpr friend bool + operator== + structtoml_1_1date__time.html + a885cbe902aeadacb0953230ade9d8b9a + (const date_time &lhs, const date_time &rhs) noexcept + + + constexpr friend bool + operator!= + structtoml_1_1date__time.html + a9ae0e032ffe90928c47b40bd8155dea3 + (const date_time &lhs, const date_time &rhs) noexcept + + + constexpr friend bool + operator< + structtoml_1_1date__time.html + a4f67803fdc02fb5549ba213a9273a63b + (const date_time &lhs, const date_time &rhs) noexcept + + + constexpr friend bool + operator<= + structtoml_1_1date__time.html + a7b2f0261ae38ef6dbb6de0fb35fbbf3b + (const date_time &lhs, const date_time &rhs) noexcept + + + constexpr friend bool + operator> + structtoml_1_1date__time.html + a1bceb05028f33a829d61ffc768eab78a + (const date_time &lhs, const date_time &rhs) noexcept + + + constexpr friend bool + operator>= + structtoml_1_1date__time.html + a361fb1904f477e0a1f7acaa3cdd14abf + (const date_time &lhs, const date_time &rhs) noexcept + + + + toml::default_formatter + classtoml_1_1default__formatter.html + + + + default_formatter + classtoml_1_1default__formatter.html + af2e597925932cf03b0df8f7379621582 + (const toml::node &source, format_flags flags=default_flags) noexcept + + + + default_formatter + classtoml_1_1default__formatter.html + a4ddc92e5b0c25edfffe95be72bb043a2 + (const toml::parse_result &result, format_flags flags=default_flags) noexcept + + + static constexpr format_flags + default_flags + classtoml_1_1default__formatter.html + a5672645717f5a096d64af5d25690f8e5 + + + + friend std::basic_ostream< T > & + operator<< + classtoml_1_1default__formatter.html + a516a015d387a195a4abb0f6262f88698 + (std::basic_ostream< T > &, default_formatter< U > &) + + + friend std::basic_ostream< T > & + operator<< + classtoml_1_1default__formatter.html + a09799f1ec6ad5804b5001fb37053e377 + (std::basic_ostream< T > &, default_formatter< U > &&) + + + + toml::inserter + structtoml_1_1inserter.html + + + + toml::json_formatter + classtoml_1_1json__formatter.html + + + + json_formatter + classtoml_1_1json__formatter.html + ace8cd7a487b042df7b78767022d54bc5 + (const toml::node &source, format_flags flags=default_flags) noexcept + + + + json_formatter + classtoml_1_1json__formatter.html + a89e23abb89d86f79e232654cf0f9e22d + (const toml::parse_result &result, format_flags flags=default_flags) noexcept + + + static constexpr format_flags + default_flags + classtoml_1_1json__formatter.html + ab4a448a50aa58f3111ce6e829d428b55 + + + + friend std::basic_ostream< T > & + operator<< + classtoml_1_1json__formatter.html + ababd7a7f97d0673d75407a612bfc887d + (std::basic_ostream< T > &, json_formatter< U > &) + + + friend std::basic_ostream< T > & + operator<< + classtoml_1_1json__formatter.html + a7a4c90e29dbda20e5fbcfbe5e7121f62 + (std::basic_ostream< T > &, json_formatter< U > &&) + + + + toml::node + classtoml_1_1node.html + + virtual node_type + type + classtoml_1_1node.html + a10f389035ce13abb00a1191358af6334 + () const noexcept=0 + + + virtual bool + is_table + classtoml_1_1node.html + a50a2501af7e42b0fab060206dde7a99e + () const noexcept=0 + + + virtual bool + is_array + classtoml_1_1node.html + accce7655b0cc340591a755412fde2ed7 + () const noexcept=0 + + + virtual bool + is_value + classtoml_1_1node.html + aeddf9eebbd4ece799e5675e2d9d59e4a + () const noexcept=0 + + + virtual bool + is_string + classtoml_1_1node.html + aeff35977a4b13fe0fefb9a3b5917f98e + () const noexcept + + + virtual bool + is_integer + classtoml_1_1node.html + a5ecdb684288275ce1786281fbe1845cc + () const noexcept + + + virtual bool + is_floating_point + classtoml_1_1node.html + a3ea1296a95c43125119a6fe26af5b014 + () const noexcept + + + virtual bool + is_number + classtoml_1_1node.html + a1db6db67940c59bf0d6f7be184be3511 + () const noexcept + + + virtual bool + is_boolean + classtoml_1_1node.html + a47ca3bd6392029a065f13c029b2db0b2 + () const noexcept + + + virtual bool + is_date + classtoml_1_1node.html + a6e6060cb1233b87d7b57a2a203891d2a + () const noexcept + + + virtual bool + is_time + classtoml_1_1node.html + a4a7663a4b15650cf833d5c833e313d9b + () const noexcept + + + virtual bool + is_date_time + classtoml_1_1node.html + a9115204bee51ac6ef962dd9d47bf1b7e + () const noexcept + + + virtual bool + is_array_of_tables + classtoml_1_1node.html + a1697f7da1cd6a5e4c3d3e25e08274b34 + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a68de6772e259ef122c00b0a9c7b63516 + (node_type ntype, node *&first_nonmatch) noexcept=0 + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a834e10ece19d04b4d774d5f224d50b8f + (node_type ntype, const node *&first_nonmatch) const noexcept=0 + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a5d9191dc545ecded3bc8f7706c63edad + (node_type ntype) const noexcept=0 + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + virtual table * + as_table + classtoml_1_1node.html + aa696716239e7434145103173e880fb80 + () noexcept + + + virtual array * + as_array + classtoml_1_1node.html + adac204f1c1e3ae99beaa79bb1624cc95 + () noexcept + + + virtual toml::value< std::string > * + as_string + classtoml_1_1node.html + ab8f42ecf095260b1d97363949a98267b + () noexcept + + + virtual toml::value< int64_t > * + as_integer + classtoml_1_1node.html + ac507d02b3b744e0624c504614e91c9e5 + () noexcept + + + virtual toml::value< double > * + as_floating_point + classtoml_1_1node.html + a480ae95e180992d152ad80e3b52a330a + () noexcept + + + virtual toml::value< bool > * + as_boolean + classtoml_1_1node.html + a40031abf671512f9fdcd31666ce481fd + () noexcept + + + virtual toml::value< date > * + as_date + classtoml_1_1node.html + a35ec7bd4efab69906d7874df736cdaaf + () noexcept + + + virtual toml::value< time > * + as_time + classtoml_1_1node.html + aeb23a8054899c4b0d57e10c4a3dcadf0 + () noexcept + + + virtual toml::value< date_time > * + as_date_time + classtoml_1_1node.html + a68cc63dfd8e435b00c7c99da298d6733 + () noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + ac1417bb4313b2624e3ea270a487f153b + () const noexcept + + + optional< T > + value + classtoml_1_1node.html + a48098db842e6a202902e6c85326f71b4 + () const noexcept + + + auto + value_or + classtoml_1_1node.html + a423ddccc36345545615e20290c9a8a65 + (T &&default_value) const noexcept + + + impl::unwrap_node< T > & + ref + classtoml_1_1node.html + a0f2b674e80b882b329513e7ec9aed842 + () &noexcept + + + impl::unwrap_node< T > && + ref + classtoml_1_1node.html + a292bce25bfe779dc51403e88f0cc4bcc + () &&noexcept + + + const impl::unwrap_node< T > & + ref + classtoml_1_1node.html + a378e94ebc00235eb4d1da68f81edd77f + () const &noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + virtual node_type + type + classtoml_1_1node.html + a10f389035ce13abb00a1191358af6334 + () const noexcept=0 + + + virtual bool + is_table + classtoml_1_1node.html + a50a2501af7e42b0fab060206dde7a99e + () const noexcept=0 + + + virtual bool + is_array + classtoml_1_1node.html + accce7655b0cc340591a755412fde2ed7 + () const noexcept=0 + + + virtual bool + is_value + classtoml_1_1node.html + aeddf9eebbd4ece799e5675e2d9d59e4a + () const noexcept=0 + + + virtual bool + is_string + classtoml_1_1node.html + aeff35977a4b13fe0fefb9a3b5917f98e + () const noexcept + + + virtual bool + is_integer + classtoml_1_1node.html + a5ecdb684288275ce1786281fbe1845cc + () const noexcept + + + virtual bool + is_floating_point + classtoml_1_1node.html + a3ea1296a95c43125119a6fe26af5b014 + () const noexcept + + + virtual bool + is_number + classtoml_1_1node.html + a1db6db67940c59bf0d6f7be184be3511 + () const noexcept + + + virtual bool + is_boolean + classtoml_1_1node.html + a47ca3bd6392029a065f13c029b2db0b2 + () const noexcept + + + virtual bool + is_date + classtoml_1_1node.html + a6e6060cb1233b87d7b57a2a203891d2a + () const noexcept + + + virtual bool + is_time + classtoml_1_1node.html + a4a7663a4b15650cf833d5c833e313d9b + () const noexcept + + + virtual bool + is_date_time + classtoml_1_1node.html + a9115204bee51ac6ef962dd9d47bf1b7e + () const noexcept + + + virtual bool + is_array_of_tables + classtoml_1_1node.html + a1697f7da1cd6a5e4c3d3e25e08274b34 + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a68de6772e259ef122c00b0a9c7b63516 + (node_type ntype, node *&first_nonmatch) noexcept=0 + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a834e10ece19d04b4d774d5f224d50b8f + (node_type ntype, const node *&first_nonmatch) const noexcept=0 + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a5d9191dc545ecded3bc8f7706c63edad + (node_type ntype) const noexcept=0 + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + virtual table * + as_table + classtoml_1_1node.html + aa696716239e7434145103173e880fb80 + () noexcept + + + virtual array * + as_array + classtoml_1_1node.html + adac204f1c1e3ae99beaa79bb1624cc95 + () noexcept + + + virtual toml::value< std::string > * + as_string + classtoml_1_1node.html + ab8f42ecf095260b1d97363949a98267b + () noexcept + + + virtual toml::value< int64_t > * + as_integer + classtoml_1_1node.html + ac507d02b3b744e0624c504614e91c9e5 + () noexcept + + + virtual toml::value< double > * + as_floating_point + classtoml_1_1node.html + a480ae95e180992d152ad80e3b52a330a + () noexcept + + + virtual toml::value< bool > * + as_boolean + classtoml_1_1node.html + a40031abf671512f9fdcd31666ce481fd + () noexcept + + + virtual toml::value< date > * + as_date + classtoml_1_1node.html + a35ec7bd4efab69906d7874df736cdaaf + () noexcept + + + virtual toml::value< time > * + as_time + classtoml_1_1node.html + aeb23a8054899c4b0d57e10c4a3dcadf0 + () noexcept + + + virtual toml::value< date_time > * + as_date_time + classtoml_1_1node.html + a68cc63dfd8e435b00c7c99da298d6733 + () noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + ac1417bb4313b2624e3ea270a487f153b + () const noexcept + + + optional< T > + value + classtoml_1_1node.html + a48098db842e6a202902e6c85326f71b4 + () const noexcept + + + auto + value_or + classtoml_1_1node.html + a423ddccc36345545615e20290c9a8a65 + (T &&default_value) const noexcept + + + impl::unwrap_node< T > & + ref + classtoml_1_1node.html + a0f2b674e80b882b329513e7ec9aed842 + () &noexcept + + + impl::unwrap_node< T > && + ref + classtoml_1_1node.html + a292bce25bfe779dc51403e88f0cc4bcc + () &&noexcept + + + const impl::unwrap_node< T > & + ref + classtoml_1_1node.html + a378e94ebc00235eb4d1da68f81edd77f + () const &noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + + toml::node_view + classtoml_1_1node__view.html + + + + node_view + classtoml_1_1node__view.html + a0d8bf511db11b67081bea35c25e4ca9e + () noexcept=default + + + + node_view + classtoml_1_1node__view.html + a199ca0c01e27a74b2ad6dbe554113fb8 + (viewed_type *node) noexcept + + + + node_view + classtoml_1_1node__view.html + af40ced8902e81e354af44a033f05d682 + (viewed_type &node) noexcept + + + + operator bool + classtoml_1_1node__view.html + ab8ee0ffcb999601a9b0247c099aa9250 + () const noexcept + + + viewed_type * + node + classtoml_1_1node__view.html + afb42ba6fdddfb407bd37b697a407246d + () const noexcept + + + node_type + type + classtoml_1_1node__view.html + a2483cf1a8314661919b9066ce62c9621 + () const noexcept + + + bool + is_table + classtoml_1_1node__view.html + a70b567ea582c472fe95a89b5b842cee6 + () const noexcept + + + bool + is_array + classtoml_1_1node__view.html + a879d945d2880fc216085d7deb087ad38 + () const noexcept + + + bool + is_value + classtoml_1_1node__view.html + aa58f8de47be5f53738b1a04d7e9d05af + () const noexcept + + + bool + is_string + classtoml_1_1node__view.html + a79b47268155d955b8e2c027b0c2ae983 + () const noexcept + + + bool + is_integer + classtoml_1_1node__view.html + ab9c835ddf017f250d84fa5d5736e8520 + () const noexcept + + + bool + is_floating_point + classtoml_1_1node__view.html + a43ea3eed7b0f133fa7d752a9322c758e + () const noexcept + + + bool + is_number + classtoml_1_1node__view.html + a107732370c62402b1101a78e7382fd8b + () const noexcept + + + bool + is_boolean + classtoml_1_1node__view.html + aa7ee0d1f396e1283c4a11d07b9400897 + () const noexcept + + + bool + is_date + classtoml_1_1node__view.html + a4dc7cf8a57db73fa799a939f7acd549d + () const noexcept + + + bool + is_time + classtoml_1_1node__view.html + a98a6bc33e3ba573c37a069126acf0b8c + () const noexcept + + + bool + is_date_time + classtoml_1_1node__view.html + a5a380f773ae291c942a03e45a88c94b0 + () const noexcept + + + bool + is_array_of_tables + classtoml_1_1node__view.html + a6cc459be36698ec5a9ac0d00b4480eae + () const noexcept + + + bool + is + classtoml_1_1node__view.html + a21d7c55a33aa1c868dde5cbaa7e54ec2 + () const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + a2a2902064421f401e80ea687cef536da + (node_type ntype, viewed_type *&first_nonmatch) const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + afe0abd51e0e108b306be2a3ee9561cca + (node_type ntype) const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + a29c82d83b1d64f016eb42f95fd37e346 + () const noexcept + + + auto + as_table + classtoml_1_1node__view.html + a687f80c2867f3ec72cc6fa0393bcc9ae + () const noexcept + + + auto + as_array + classtoml_1_1node__view.html + ad9e760e9e044bc34136ca167eba2da5c + () const noexcept + + + auto + as_string + classtoml_1_1node__view.html + a623c01318fd53c81ec03345343dc6356 + () const noexcept + + + auto + as_integer + classtoml_1_1node__view.html + a808722847b84556da8c87dfb46ce3eaf + () const noexcept + + + auto + as_floating_point + classtoml_1_1node__view.html + a23427a5b4bb7e07c61288ae292a3bd17 + () const noexcept + + + auto + as_boolean + classtoml_1_1node__view.html + a1e8221c23cc396edfe87b204ba07e63f + () const noexcept + + + auto + as_date + classtoml_1_1node__view.html + a33b269772c65f484f56be8d0371d07ad + () const noexcept + + + auto + as_time + classtoml_1_1node__view.html + aee2219cbd887ec4764e92241b0628408 + () const noexcept + + + auto + as_date_time + classtoml_1_1node__view.html + a4f614692d13ec415558290d21e0a7a87 + () const noexcept + + + auto + as + classtoml_1_1node__view.html + a9ff6488e9593bd2da5ae71c370293314 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node__view.html + af7d31ebd85f054b1626af2d105ef681e + () const noexcept + + + optional< T > + value + classtoml_1_1node__view.html + a41ed0d2afddf279ad774af738723ed3a + () const noexcept + + + auto + value_or + classtoml_1_1node__view.html + a7ec9dd23e116222055b4b9d17364bf26 + (T &&default_value) const noexcept + + + decltype(auto) + ref + classtoml_1_1node__view.html + aec5c764293a7eeb20009a484b34d7c3a + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node__view.html + aa5f84bfab779c71a07b04ca0b2db863f + (Func &&visitor) const noexcept(visit_is_nothrow< Func && >) + + + node_view + operator[] + classtoml_1_1node__view.html + a2dde12894f70530d80de45a03eae78fa + (std::string_view key) const noexcept + + + node_view + operator[] + classtoml_1_1node__view.html + af83a88f07c4bb71c7f89e6a4511e0ecc + (std::wstring_view key) const noexcept + + + node_view + operator[] + classtoml_1_1node__view.html + a5d13b026efcd31812415ead30eeb69db + (size_t index) const noexcept + + + friend std::basic_ostream< Char > & + operator<< + classtoml_1_1node__view.html + a34a8c7bfbe5ff1c3acabdee184109076 + (std::basic_ostream< Char > &, const node_view< T > &) + + + friend bool + operator== + classtoml_1_1node__view.html + a754bdba78869afe6bccb4b51e0a77e45 + (const node_view &lhs, const table &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a3b39aedbada6221a4e3857b0f0235843 + (const node_view &lhs, const array &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + ad9fd96826fcee43cd1ea1ccf6e22c895 + (const node_view &lhs, const toml::value< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a4507702b372f09069dd7f3bac281bd13 + (const node_view &lhs, const T &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + abb9edf3ed931fff246a0f9e4ae09e350 + (const node_view &lhs, const std::initializer_list< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a1f236c7b42d841c19b867b539fdc0fdc + (const node_view &lhs, const std::vector< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a754bdba78869afe6bccb4b51e0a77e45 + (const node_view &lhs, const table &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a3b39aedbada6221a4e3857b0f0235843 + (const node_view &lhs, const array &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + ad9fd96826fcee43cd1ea1ccf6e22c895 + (const node_view &lhs, const toml::value< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a4507702b372f09069dd7f3bac281bd13 + (const node_view &lhs, const T &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + abb9edf3ed931fff246a0f9e4ae09e350 + (const node_view &lhs, const std::initializer_list< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a1f236c7b42d841c19b867b539fdc0fdc + (const node_view &lhs, const std::vector< T > &rhs) noexcept + + + node_type + type + classtoml_1_1node__view.html + a2483cf1a8314661919b9066ce62c9621 + () const noexcept + + + bool + is_table + classtoml_1_1node__view.html + a70b567ea582c472fe95a89b5b842cee6 + () const noexcept + + + bool + is_array + classtoml_1_1node__view.html + a879d945d2880fc216085d7deb087ad38 + () const noexcept + + + bool + is_value + classtoml_1_1node__view.html + aa58f8de47be5f53738b1a04d7e9d05af + () const noexcept + + + bool + is_string + classtoml_1_1node__view.html + a79b47268155d955b8e2c027b0c2ae983 + () const noexcept + + + bool + is_integer + classtoml_1_1node__view.html + ab9c835ddf017f250d84fa5d5736e8520 + () const noexcept + + + bool + is_floating_point + classtoml_1_1node__view.html + a43ea3eed7b0f133fa7d752a9322c758e + () const noexcept + + + bool + is_number + classtoml_1_1node__view.html + a107732370c62402b1101a78e7382fd8b + () const noexcept + + + bool + is_boolean + classtoml_1_1node__view.html + aa7ee0d1f396e1283c4a11d07b9400897 + () const noexcept + + + bool + is_date + classtoml_1_1node__view.html + a4dc7cf8a57db73fa799a939f7acd549d + () const noexcept + + + bool + is_time + classtoml_1_1node__view.html + a98a6bc33e3ba573c37a069126acf0b8c + () const noexcept + + + bool + is_date_time + classtoml_1_1node__view.html + a5a380f773ae291c942a03e45a88c94b0 + () const noexcept + + + bool + is_array_of_tables + classtoml_1_1node__view.html + a6cc459be36698ec5a9ac0d00b4480eae + () const noexcept + + + bool + is + classtoml_1_1node__view.html + a21d7c55a33aa1c868dde5cbaa7e54ec2 + () const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + a2a2902064421f401e80ea687cef536da + (node_type ntype, viewed_type *&first_nonmatch) const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + afe0abd51e0e108b306be2a3ee9561cca + (node_type ntype) const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + a29c82d83b1d64f016eb42f95fd37e346 + () const noexcept + + + auto + as_table + classtoml_1_1node__view.html + a687f80c2867f3ec72cc6fa0393bcc9ae + () const noexcept + + + auto + as_array + classtoml_1_1node__view.html + ad9e760e9e044bc34136ca167eba2da5c + () const noexcept + + + auto + as_string + classtoml_1_1node__view.html + a623c01318fd53c81ec03345343dc6356 + () const noexcept + + + auto + as_integer + classtoml_1_1node__view.html + a808722847b84556da8c87dfb46ce3eaf + () const noexcept + + + auto + as_floating_point + classtoml_1_1node__view.html + a23427a5b4bb7e07c61288ae292a3bd17 + () const noexcept + + + auto + as_boolean + classtoml_1_1node__view.html + a1e8221c23cc396edfe87b204ba07e63f + () const noexcept + + + auto + as_date + classtoml_1_1node__view.html + a33b269772c65f484f56be8d0371d07ad + () const noexcept + + + auto + as_time + classtoml_1_1node__view.html + aee2219cbd887ec4764e92241b0628408 + () const noexcept + + + auto + as_date_time + classtoml_1_1node__view.html + a4f614692d13ec415558290d21e0a7a87 + () const noexcept + + + auto + as + classtoml_1_1node__view.html + a9ff6488e9593bd2da5ae71c370293314 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node__view.html + af7d31ebd85f054b1626af2d105ef681e + () const noexcept + + + optional< T > + value + classtoml_1_1node__view.html + a41ed0d2afddf279ad774af738723ed3a + () const noexcept + + + auto + value_or + classtoml_1_1node__view.html + a7ec9dd23e116222055b4b9d17364bf26 + (T &&default_value) const noexcept + + + decltype(auto) + ref + classtoml_1_1node__view.html + aec5c764293a7eeb20009a484b34d7c3a + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node__view.html + aa5f84bfab779c71a07b04ca0b2db863f + (Func &&visitor) const noexcept(visit_is_nothrow< Func && >) + + + node_view + operator[] + classtoml_1_1node__view.html + a2dde12894f70530d80de45a03eae78fa + (std::string_view key) const noexcept + + + node_view + operator[] + classtoml_1_1node__view.html + af83a88f07c4bb71c7f89e6a4511e0ecc + (std::wstring_view key) const noexcept + + + node_view + operator[] + classtoml_1_1node__view.html + a5d13b026efcd31812415ead30eeb69db + (size_t index) const noexcept + + + + toml::parse_error + classtoml_1_1parse__error.html + + std::string_view + description + classtoml_1_1parse__error.html + a5582e9d66f8aa3f6ef442c0a04d5282f + () const noexcept + + + const source_region & + source + classtoml_1_1parse__error.html + a8168b4941305654cf4ba8fc96efd0514 + () const noexcept + + + + toml::parse_result + classtoml_1_1parse__result.html + + table_iterator + iterator + classtoml_1_1parse__result.html + aae503c11e9f9162de5cbef5e2c9f4863 + + + + const_table_iterator + const_iterator + classtoml_1_1parse__result.html + abf92ffb48c1f4d0f129f4032708d4ab0 + + + + bool + succeeded + classtoml_1_1parse__result.html + ab5bfcd6ed385016395029bd69ad78a3c + () const noexcept + + + bool + failed + classtoml_1_1parse__result.html + a9097bc552007537f840602ceca00e99b + () const noexcept + + + + operator bool + classtoml_1_1parse__result.html + af66ea78a6dd881521ce865a372298e12 + () const noexcept + + + toml::table & + table + classtoml_1_1parse__result.html + a47d2ead20ae9d1681210c63319a6a162 + () &noexcept + + + toml::table && + table + classtoml_1_1parse__result.html + a77b470b66dd401a0a929006dd788b882 + () &&noexcept + + + const toml::table & + table + classtoml_1_1parse__result.html + a993f5d59c4b10f87138f8abb8a16d51d + () const &noexcept + + + parse_error & + error + classtoml_1_1parse__result.html + aefbb9aafdf00fa1ac979962d22e12e68 + () &noexcept + + + parse_error && + error + classtoml_1_1parse__result.html + ab07914228f9f7436628c99df454f177d + () &&noexcept + + + const parse_error & + error + classtoml_1_1parse__result.html + a9a5929b01df9a7f7f986b8431cefd2b8 + () const &noexcept + + + + operator toml::table & + classtoml_1_1parse__result.html + a5e14e22d4d68b27c11711a3319dc6bf9 + () noexcept + + + + operator toml::table && + classtoml_1_1parse__result.html + a8dca1600886954b38b99a4a4f9cb77c4 + () noexcept + + + + operator const toml::table & + classtoml_1_1parse__result.html + a9d059289edaf6c7fb71916b21a2f9c9f + () const noexcept + + + + operator parse_error & + classtoml_1_1parse__result.html + abc8a693cb538441b5974eff38c716669 + () noexcept + + + + operator parse_error && + classtoml_1_1parse__result.html + a9f70aa665d84aaf5f936dd27f6c95c4a + () noexcept + + + + operator const parse_error & + classtoml_1_1parse__result.html + a43df64e02443b2abfd9d2c86c5e4c30a + () const noexcept + + + + parse_result + classtoml_1_1parse__result.html + a058b76f39fb5a971585538f2d4098ba5 + (parse_result &&res) noexcept + + + parse_result & + operator= + classtoml_1_1parse__result.html + aa4c2c770a8d214f9d508582233ff1d84 + (parse_result &&rhs) noexcept + + + + ~parse_result + classtoml_1_1parse__result.html + ad9e22f09854af4c36860d61e0c0f25b1 + () noexcept + + + node_view< node > + operator[] + classtoml_1_1parse__result.html + aaa83205a294dedd8857844d0b6378560 + (string_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1parse__result.html + a3b88dad377d33e1fdda317177025fba5 + (string_view key) const noexcept + + + node_view< node > + operator[] + classtoml_1_1parse__result.html + ade8c625d35dcc5b4fdec97d9f5a7f96f + (std::wstring_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1parse__result.html + a58a3ee971220497ef922fc2ab5c7a9c0 + (std::wstring_view key) const noexcept + + + table_iterator + begin + classtoml_1_1parse__result.html + a3f641e942f1518dffad6fcc7dc13893d + () noexcept + + + const_table_iterator + begin + classtoml_1_1parse__result.html + a910f13933a0547a2920404287829781f + () const noexcept + + + const_table_iterator + cbegin + classtoml_1_1parse__result.html + af58212d8a367e5c1d38eb5d58708754b + () const noexcept + + + table_iterator + end + classtoml_1_1parse__result.html + a336d398e329f08195d714ff02fdffca6 + () noexcept + + + const_table_iterator + end + classtoml_1_1parse__result.html + a154d32bca3ea50dc5030372675a85a65 + () const noexcept + + + const_table_iterator + cend + classtoml_1_1parse__result.html + afa4f821ad60ceb06327cec6b42b05071 + () const noexcept + + + friend std::basic_ostream< Char > & + operator<< + classtoml_1_1parse__result.html + a8b92c641ed22f79764606df797f3278e + (std::basic_ostream< Char > &os, const parse_result &result) + + + + toml::source_position + structtoml_1_1source__position.html + + constexpr + operator bool + structtoml_1_1source__position.html + accba2f34a07d8b453b8f2f6baf2d73cf + () const noexcept + + + source_index + line + structtoml_1_1source__position.html + ab21cac59798d70e25fe97ac7433763cc + + + + source_index + column + structtoml_1_1source__position.html + a1ca6d0db40c69d2784703011f7cf5434 + + + + constexpr friend bool + operator== + structtoml_1_1source__position.html + a2661adb822c0291c5328d9d00e4b9a8f + (const source_position &lhs, const source_position &rhs) noexcept + + + constexpr friend bool + operator!= + structtoml_1_1source__position.html + a90fec8fa1014a1358a362f9171cdb073 + (const source_position &lhs, const source_position &rhs) noexcept + + + constexpr friend bool + operator< + structtoml_1_1source__position.html + a771714902fb113445597a1fd2a24e8cd + (const source_position &lhs, const source_position &rhs) noexcept + + + constexpr friend bool + operator<= + structtoml_1_1source__position.html + abb7d47c85374301ec48e7c5f3ee1c71a + (const source_position &lhs, const source_position &rhs) noexcept + + + + toml::source_region + structtoml_1_1source__region.html + + optional< std::wstring > + wide_path + structtoml_1_1source__region.html + ae4aaf4e5c7a8b178b4ba46e7f9d050bd + () const noexcept + + + source_position + begin + structtoml_1_1source__region.html + ab36a5db15201864a13fb628f331196d0 + + + + source_position + end + structtoml_1_1source__region.html + a054940b42dcf83391697ec2b8690531d + + + + source_path_ptr + path + structtoml_1_1source__region.html + a25fc23f579edb8afc0818c013c5ac5d7 + + + + + toml::table + classtoml_1_1table.html + toml::node + + table_iterator + iterator + classtoml_1_1table.html + aeecd89b0c0b321a9aff276ff1470f1d7 + + + + const_table_iterator + const_iterator + classtoml_1_1table.html + a5a6ce59c3fe438ac94eadaa8a2b17957 + + + + + table + classtoml_1_1table.html + a823f0d3385d2d8d8320a72f78c677a35 + () noexcept + + + + table + classtoml_1_1table.html + a94c0bf5a412f0bed2ad23914d9685b2f + (const table &) noexcept + + + + table + classtoml_1_1table.html + ab47a76ab242afa13f1a74e5e2bcded44 + (table &&other) noexcept + + + table & + operator= + classtoml_1_1table.html + a54571ed4637b4164cb559135807d00c0 + (const table &) noexcept + + + table & + operator= + classtoml_1_1table.html + a5c5fd0e11db828ab264eccc96dfdd619 + (table &&rhs) noexcept + + + + ~table + classtoml_1_1table.html + a5d3f92d3964aa9e47433bf7a61cbc0e7 + () noexcept override + + + + table + classtoml_1_1table.html + a58a5d740a7b210b1942915f98fe9d8fe + (impl::table_init_pair(&&arr)[N]) noexcept + + + node_type + type + classtoml_1_1table.html + afe589750b98c702710d643a81ed6b9af + () const noexcept override + + + bool + is_table + classtoml_1_1table.html + ad2f9333f6aeb634f4ddbec38493da7c2 + () const noexcept override + + + bool + is_array + classtoml_1_1table.html + a8d24e995e5cfab4933c82ccd95dd6fa3 + () const noexcept override + + + bool + is_value + classtoml_1_1table.html + af137c1e4cf632015709d6a566cc74edc + () const noexcept override + + + bool + is_homogeneous + classtoml_1_1table.html + ad138c03bdb93f587de1d80dc98386875 + (node_type ntype) const noexcept override + + + bool + is_homogeneous + classtoml_1_1table.html + aa6317598ad941866f288f0e7e0fa6e75 + (node_type ntype, node *&first_nonmatch) noexcept override + + + bool + is_homogeneous + classtoml_1_1table.html + a5ed119a41a0e771463233164f3bcc57b + (node_type ntype, const node *&first_nonmatch) const noexcept override + + + table * + as_table + classtoml_1_1table.html + aafd874c7b06b7f0f535e713b2640fe96 + () noexcept override + + + bool + is_inline + classtoml_1_1table.html + a53be1b93aa90608ed378323df835a2f3 + () const noexcept + + + void + is_inline + classtoml_1_1table.html + a8e797a683ff2bacd14d7e7461ecd2780 + (bool val) noexcept + + + node_view< node > + operator[] + classtoml_1_1table.html + a6d8386049f630c8551597a2180479c7c + (std::string_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1table.html + a9b13a19ddfcd2f76685f57587d28701c + (std::string_view key) const noexcept + + + node_view< node > + operator[] + classtoml_1_1table.html + a06fd3d9032b031b0363818939cd5cf38 + (std::wstring_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1table.html + a404ae83ed52c7b8ce294d3d4925c8a16 + (std::wstring_view key) const noexcept + + + iterator + begin + classtoml_1_1table.html + a334f050427eb20c8530254f4cd6dddf3 + () noexcept + + + const_iterator + begin + classtoml_1_1table.html + a3352f9954e03087b6f596ae23283bd3c + () const noexcept + + + const_iterator + cbegin + classtoml_1_1table.html + a15a5f8bd6d194fcbe925a24e5b73b1fb + () const noexcept + + + iterator + end + classtoml_1_1table.html + a96da67654c5ca131cfec2e3c07aa2730 + () noexcept + + + const_iterator + end + classtoml_1_1table.html + a40c72e81de1da66b7083cad11442cb05 + () const noexcept + + + const_iterator + cend + classtoml_1_1table.html + a311451209f990931ea25828c6091714f + () const noexcept + + + bool + empty + classtoml_1_1table.html + a554f495f6f2ebc993be1bd0379447051 + () const noexcept + + + size_t + size + classtoml_1_1table.html + ad7c4105854cc817bf6e781fa7fb1b6d6 + () const noexcept + + + void + clear + classtoml_1_1table.html + aa710f85c588a1b00c3192d1553de4eef + () noexcept + + + std::pair< iterator, bool > + insert + classtoml_1_1table.html + aa757797646986f2f2cce0fa84221963e + (KeyType &&key, ValueType &&val) noexcept + + + void + insert + classtoml_1_1table.html + acefff2dfe1efb072c9062b8f60146cd9 + (Iter first, Iter last) noexcept + + + std::pair< iterator, bool > + insert_or_assign + classtoml_1_1table.html + acb97b09eb0b36ea708178678f15d0614 + (KeyType &&key, ValueType &&val) noexcept + + + std::pair< iterator, bool > + emplace + classtoml_1_1table.html + a04815da57fe75169ceb1c20946faac6b + (KeyType &&key, ValueArgs &&... args) noexcept + + + iterator + erase + classtoml_1_1table.html + a1a90984876ccdd03aaa9e0f9801a839f + (iterator pos) noexcept + + + iterator + erase + classtoml_1_1table.html + a4dafb4ae116d92add973e5f27f880a9d + (const_iterator pos) noexcept + + + iterator + erase + classtoml_1_1table.html + a020e8f71bec1fbff52260a5a1e0cb12e + (const_iterator first, const_iterator last) noexcept + + + bool + erase + classtoml_1_1table.html + ad9d90151f332b24a0c747fa33ebb81e1 + (std::string_view key) noexcept + + + bool + erase + classtoml_1_1table.html + a53151a06151fbd78887e027e95c3f788 + (std::wstring_view key) noexcept + + + iterator + find + classtoml_1_1table.html + a087ecb9d9fd4562d79f83341f0c643c0 + (std::string_view key) noexcept + + + const_iterator + find + classtoml_1_1table.html + a65a894481bab5dd2bd00690931ed2692 + (std::string_view key) const noexcept + + + bool + contains + classtoml_1_1table.html + aacf6efa6e7865211f7a1283f79a88ee0 + (std::string_view key) const noexcept + + + iterator + find + classtoml_1_1table.html + a5b6b0b84c1d2fe24b7b370f989cbd98e + (std::wstring_view key) noexcept + + + const_iterator + find + classtoml_1_1table.html + ab55a7ed5c436a045c69a1f1adcb07b5c + (std::wstring_view key) const noexcept + + + bool + contains + classtoml_1_1table.html + a2449e053ad373e82d2500226bf084cb9 + (std::wstring_view key) const noexcept + + + node * + get + classtoml_1_1table.html + ae6811ea7c692ac71880693e225c66aed + (std::string_view key) noexcept + + + const node * + get + classtoml_1_1table.html + a43afae4f760f715c69b0b8aa0a7ef071 + (std::string_view key) const noexcept + + + node * + get + classtoml_1_1table.html + aa67b393855cbd706ce89d5a09f062002 + (std::wstring_view key) noexcept + + + const node * + get + classtoml_1_1table.html + a615c9124ee853eb6a7544c0ab3b9911f + (std::wstring_view key) const noexcept + + + impl::wrap_node< ValueType > * + get_as + classtoml_1_1table.html + a933f4a709d7bb5f51a756e571f6166f9 + (std::string_view key) noexcept + + + const impl::wrap_node< ValueType > * + get_as + classtoml_1_1table.html + a180f46103dda744bf75eeadb32659b7c + (std::string_view key) const noexcept + + + impl::wrap_node< ValueType > * + get_as + classtoml_1_1table.html + ade6422b39babbf9b3e4b87cd985f0d14 + (std::wstring_view key) noexcept + + + const impl::wrap_node< ValueType > * + get_as + classtoml_1_1table.html + ad734dfa38c76cf282235befd30354c90 + (std::wstring_view key) const noexcept + + + virtual bool + is_string + classtoml_1_1node.html + aeff35977a4b13fe0fefb9a3b5917f98e + () const noexcept + + + virtual bool + is_integer + classtoml_1_1node.html + a5ecdb684288275ce1786281fbe1845cc + () const noexcept + + + virtual bool + is_floating_point + classtoml_1_1node.html + a3ea1296a95c43125119a6fe26af5b014 + () const noexcept + + + virtual bool + is_number + classtoml_1_1node.html + a1db6db67940c59bf0d6f7be184be3511 + () const noexcept + + + virtual bool + is_boolean + classtoml_1_1node.html + a47ca3bd6392029a065f13c029b2db0b2 + () const noexcept + + + virtual bool + is_date + classtoml_1_1node.html + a6e6060cb1233b87d7b57a2a203891d2a + () const noexcept + + + virtual bool + is_time + classtoml_1_1node.html + a4a7663a4b15650cf833d5c833e313d9b + () const noexcept + + + virtual bool + is_date_time + classtoml_1_1node.html + a9115204bee51ac6ef962dd9d47bf1b7e + () const noexcept + + + virtual bool + is_array_of_tables + classtoml_1_1node.html + a1697f7da1cd6a5e4c3d3e25e08274b34 + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + virtual array * + as_array + classtoml_1_1node.html + adac204f1c1e3ae99beaa79bb1624cc95 + () noexcept + + + virtual toml::value< std::string > * + as_string + classtoml_1_1node.html + ab8f42ecf095260b1d97363949a98267b + () noexcept + + + virtual toml::value< int64_t > * + as_integer + classtoml_1_1node.html + ac507d02b3b744e0624c504614e91c9e5 + () noexcept + + + virtual toml::value< double > * + as_floating_point + classtoml_1_1node.html + a480ae95e180992d152ad80e3b52a330a + () noexcept + + + virtual toml::value< bool > * + as_boolean + classtoml_1_1node.html + a40031abf671512f9fdcd31666ce481fd + () noexcept + + + virtual toml::value< date > * + as_date + classtoml_1_1node.html + a35ec7bd4efab69906d7874df736cdaaf + () noexcept + + + virtual toml::value< time > * + as_time + classtoml_1_1node.html + aeb23a8054899c4b0d57e10c4a3dcadf0 + () noexcept + + + virtual toml::value< date_time > * + as_date_time + classtoml_1_1node.html + a68cc63dfd8e435b00c7c99da298d6733 + () noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + ac1417bb4313b2624e3ea270a487f153b + () const noexcept + + + optional< T > + value + classtoml_1_1node.html + a48098db842e6a202902e6c85326f71b4 + () const noexcept + + + auto + value_or + classtoml_1_1node.html + a423ddccc36345545615e20290c9a8a65 + (T &&default_value) const noexcept + + + impl::unwrap_node< T > & + ref + classtoml_1_1node.html + a0f2b674e80b882b329513e7ec9aed842 + () &noexcept + + + impl::unwrap_node< T > && + ref + classtoml_1_1node.html + a292bce25bfe779dc51403e88f0cc4bcc + () &&noexcept + + + const impl::unwrap_node< T > & + ref + classtoml_1_1node.html + a378e94ebc00235eb4d1da68f81edd77f + () const &noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + friend bool + operator== + classtoml_1_1table.html + af8ebaed8105e5de2098992764f2d534a + (const table &lhs, const table &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1table.html + abdeb5d9d9fc23c031c78e544c6196ea6 + (const table &lhs, const table &rhs) noexcept + + + friend std::basic_ostream< Char > & + operator<< + classtoml_1_1table.html + ab34ff6b624f5f39fa8002f3d6e539eca + (std::basic_ostream< Char > &, const table &) + + + friend bool + operator== + classtoml_1_1table.html + af8ebaed8105e5de2098992764f2d534a + (const table &lhs, const table &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1table.html + abdeb5d9d9fc23c031c78e544c6196ea6 + (const table &lhs, const table &rhs) noexcept + + + friend std::basic_ostream< Char > & + operator<< + classtoml_1_1table.html + ab34ff6b624f5f39fa8002f3d6e539eca + (std::basic_ostream< Char > &, const table &) + + + node_type + type + classtoml_1_1table.html + afe589750b98c702710d643a81ed6b9af + () const noexcept override + + + bool + is_table + classtoml_1_1table.html + ad2f9333f6aeb634f4ddbec38493da7c2 + () const noexcept override + + + bool + is_array + classtoml_1_1table.html + a8d24e995e5cfab4933c82ccd95dd6fa3 + () const noexcept override + + + bool + is_value + classtoml_1_1table.html + af137c1e4cf632015709d6a566cc74edc + () const noexcept override + + + bool + is_homogeneous + classtoml_1_1table.html + ad138c03bdb93f587de1d80dc98386875 + (node_type ntype) const noexcept override + + + bool + is_homogeneous + classtoml_1_1table.html + aa6317598ad941866f288f0e7e0fa6e75 + (node_type ntype, node *&first_nonmatch) noexcept override + + + bool + is_homogeneous + classtoml_1_1table.html + a5ed119a41a0e771463233164f3bcc57b + (node_type ntype, const node *&first_nonmatch) const noexcept override + + + table * + as_table + classtoml_1_1table.html + aafd874c7b06b7f0f535e713b2640fe96 + () noexcept override + + + bool + is_inline + classtoml_1_1table.html + a53be1b93aa90608ed378323df835a2f3 + () const noexcept + + + void + is_inline + classtoml_1_1table.html + a8e797a683ff2bacd14d7e7461ecd2780 + (bool val) noexcept + + + node_view< node > + operator[] + classtoml_1_1table.html + a6d8386049f630c8551597a2180479c7c + (std::string_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1table.html + a9b13a19ddfcd2f76685f57587d28701c + (std::string_view key) const noexcept + + + node_view< node > + operator[] + classtoml_1_1table.html + a06fd3d9032b031b0363818939cd5cf38 + (std::wstring_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1table.html + a404ae83ed52c7b8ce294d3d4925c8a16 + (std::wstring_view key) const noexcept + + + iterator + begin + classtoml_1_1table.html + a334f050427eb20c8530254f4cd6dddf3 + () noexcept + + + const_iterator + begin + classtoml_1_1table.html + a3352f9954e03087b6f596ae23283bd3c + () const noexcept + + + const_iterator + cbegin + classtoml_1_1table.html + a15a5f8bd6d194fcbe925a24e5b73b1fb + () const noexcept + + + iterator + end + classtoml_1_1table.html + a96da67654c5ca131cfec2e3c07aa2730 + () noexcept + + + const_iterator + end + classtoml_1_1table.html + a40c72e81de1da66b7083cad11442cb05 + () const noexcept + + + const_iterator + cend + classtoml_1_1table.html + a311451209f990931ea25828c6091714f + () const noexcept + + + bool + empty + classtoml_1_1table.html + a554f495f6f2ebc993be1bd0379447051 + () const noexcept + + + size_t + size + classtoml_1_1table.html + ad7c4105854cc817bf6e781fa7fb1b6d6 + () const noexcept + + + void + clear + classtoml_1_1table.html + aa710f85c588a1b00c3192d1553de4eef + () noexcept + + + std::pair< iterator, bool > + insert + classtoml_1_1table.html + aa757797646986f2f2cce0fa84221963e + (KeyType &&key, ValueType &&val) noexcept + + + void + insert + classtoml_1_1table.html + acefff2dfe1efb072c9062b8f60146cd9 + (Iter first, Iter last) noexcept + + + std::pair< iterator, bool > + insert_or_assign + classtoml_1_1table.html + acb97b09eb0b36ea708178678f15d0614 + (KeyType &&key, ValueType &&val) noexcept + + + std::pair< iterator, bool > + emplace + classtoml_1_1table.html + a04815da57fe75169ceb1c20946faac6b + (KeyType &&key, ValueArgs &&... args) noexcept + + + iterator + erase + classtoml_1_1table.html + a1a90984876ccdd03aaa9e0f9801a839f + (iterator pos) noexcept + + + iterator + erase + classtoml_1_1table.html + a4dafb4ae116d92add973e5f27f880a9d + (const_iterator pos) noexcept + + + iterator + erase + classtoml_1_1table.html + a020e8f71bec1fbff52260a5a1e0cb12e + (const_iterator first, const_iterator last) noexcept + + + bool + erase + classtoml_1_1table.html + ad9d90151f332b24a0c747fa33ebb81e1 + (std::string_view key) noexcept + + + bool + erase + classtoml_1_1table.html + a53151a06151fbd78887e027e95c3f788 + (std::wstring_view key) noexcept + + + iterator + find + classtoml_1_1table.html + a087ecb9d9fd4562d79f83341f0c643c0 + (std::string_view key) noexcept + + + const_iterator + find + classtoml_1_1table.html + a65a894481bab5dd2bd00690931ed2692 + (std::string_view key) const noexcept + + + bool + contains + classtoml_1_1table.html + aacf6efa6e7865211f7a1283f79a88ee0 + (std::string_view key) const noexcept + + + iterator + find + classtoml_1_1table.html + a5b6b0b84c1d2fe24b7b370f989cbd98e + (std::wstring_view key) noexcept + + + const_iterator + find + classtoml_1_1table.html + ab55a7ed5c436a045c69a1f1adcb07b5c + (std::wstring_view key) const noexcept + + + bool + contains + classtoml_1_1table.html + a2449e053ad373e82d2500226bf084cb9 + (std::wstring_view key) const noexcept + + + node * + get + classtoml_1_1table.html + ae6811ea7c692ac71880693e225c66aed + (std::string_view key) noexcept + + + const node * + get + classtoml_1_1table.html + a43afae4f760f715c69b0b8aa0a7ef071 + (std::string_view key) const noexcept + + + node * + get + classtoml_1_1table.html + aa67b393855cbd706ce89d5a09f062002 + (std::wstring_view key) noexcept + + + const node * + get + classtoml_1_1table.html + a615c9124ee853eb6a7544c0ab3b9911f + (std::wstring_view key) const noexcept + + + impl::wrap_node< ValueType > * + get_as + classtoml_1_1table.html + a933f4a709d7bb5f51a756e571f6166f9 + (std::string_view key) noexcept + + + const impl::wrap_node< ValueType > * + get_as + classtoml_1_1table.html + a180f46103dda744bf75eeadb32659b7c + (std::string_view key) const noexcept + + + impl::wrap_node< ValueType > * + get_as + classtoml_1_1table.html + ade6422b39babbf9b3e4b87cd985f0d14 + (std::wstring_view key) noexcept + + + const impl::wrap_node< ValueType > * + get_as + classtoml_1_1table.html + ad734dfa38c76cf282235befd30354c90 + (std::wstring_view key) const noexcept + + + virtual bool + is_string + classtoml_1_1node.html + aeff35977a4b13fe0fefb9a3b5917f98e + () const noexcept + + + virtual bool + is_integer + classtoml_1_1node.html + a5ecdb684288275ce1786281fbe1845cc + () const noexcept + + + virtual bool + is_floating_point + classtoml_1_1node.html + a3ea1296a95c43125119a6fe26af5b014 + () const noexcept + + + virtual bool + is_number + classtoml_1_1node.html + a1db6db67940c59bf0d6f7be184be3511 + () const noexcept + + + virtual bool + is_boolean + classtoml_1_1node.html + a47ca3bd6392029a065f13c029b2db0b2 + () const noexcept + + + virtual bool + is_date + classtoml_1_1node.html + a6e6060cb1233b87d7b57a2a203891d2a + () const noexcept + + + virtual bool + is_time + classtoml_1_1node.html + a4a7663a4b15650cf833d5c833e313d9b + () const noexcept + + + virtual bool + is_date_time + classtoml_1_1node.html + a9115204bee51ac6ef962dd9d47bf1b7e + () const noexcept + + + virtual bool + is_array_of_tables + classtoml_1_1node.html + a1697f7da1cd6a5e4c3d3e25e08274b34 + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + virtual array * + as_array + classtoml_1_1node.html + adac204f1c1e3ae99beaa79bb1624cc95 + () noexcept + + + virtual toml::value< std::string > * + as_string + classtoml_1_1node.html + ab8f42ecf095260b1d97363949a98267b + () noexcept + + + virtual toml::value< int64_t > * + as_integer + classtoml_1_1node.html + ac507d02b3b744e0624c504614e91c9e5 + () noexcept + + + virtual toml::value< double > * + as_floating_point + classtoml_1_1node.html + a480ae95e180992d152ad80e3b52a330a + () noexcept + + + virtual toml::value< bool > * + as_boolean + classtoml_1_1node.html + a40031abf671512f9fdcd31666ce481fd + () noexcept + + + virtual toml::value< date > * + as_date + classtoml_1_1node.html + a35ec7bd4efab69906d7874df736cdaaf + () noexcept + + + virtual toml::value< time > * + as_time + classtoml_1_1node.html + aeb23a8054899c4b0d57e10c4a3dcadf0 + () noexcept + + + virtual toml::value< date_time > * + as_date_time + classtoml_1_1node.html + a68cc63dfd8e435b00c7c99da298d6733 + () noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + ac1417bb4313b2624e3ea270a487f153b + () const noexcept + + + optional< T > + value + classtoml_1_1node.html + a48098db842e6a202902e6c85326f71b4 + () const noexcept + + + auto + value_or + classtoml_1_1node.html + a423ddccc36345545615e20290c9a8a65 + (T &&default_value) const noexcept + + + impl::unwrap_node< T > & + ref + classtoml_1_1node.html + a0f2b674e80b882b329513e7ec9aed842 + () &noexcept + + + impl::unwrap_node< T > && + ref + classtoml_1_1node.html + a292bce25bfe779dc51403e88f0cc4bcc + () &&noexcept + + + const impl::unwrap_node< T > & + ref + classtoml_1_1node.html + a378e94ebc00235eb4d1da68f81edd77f + () const &noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + + toml::time + structtoml_1_1time.html + + uint8_t + hour + structtoml_1_1time.html + a18f32a58846d333f9e866b725b7b7ae4 + + + + uint8_t + minute + structtoml_1_1time.html + a02de4fe041dfa9535eb4df60d86f7fb4 + + + + uint8_t + second + structtoml_1_1time.html + a8ae0ab849a761543207ca86a2e1d0fdf + + + + uint32_t + nanosecond + structtoml_1_1time.html + a3e9c60650ccd21f1e47132b777547185 + + + + constexpr friend bool + operator== + structtoml_1_1time.html + aa88d156f8ea405513e00702b3c88de2f + (const time &lhs, const time &rhs) noexcept + + + constexpr friend bool + operator!= + structtoml_1_1time.html + a76766a077e105960758caa4a9cbfd25b + (const time &lhs, const time &rhs) noexcept + + + constexpr friend bool + operator< + structtoml_1_1time.html + a6e53cc30a5701a18713e853d8abd4b20 + (time lhs, time rhs) noexcept + + + constexpr friend bool + operator<= + structtoml_1_1time.html + a108b128e5d6a831b110909e4f18c1cbb + (time lhs, time rhs) noexcept + + + constexpr friend bool + operator> + structtoml_1_1time.html + aaba3d9a66b122ab5a10a359d95d0171c + (time lhs, time rhs) noexcept + + + constexpr friend bool + operator>= + structtoml_1_1time.html + a59c7d66cd934fe5af4f85e2fdd1a3892 + (time lhs, time rhs) noexcept + + + + toml::time_offset + structtoml_1_1time__offset.html + + constexpr + time_offset + structtoml_1_1time__offset.html + a93151fbb3eca9339753b901aa3142c47 + () noexcept + + + constexpr + time_offset + structtoml_1_1time__offset.html + a8a875e9fa59060eec5d5d775e407d46d + (int8_t h, int8_t m) noexcept + + + int16_t + minutes + structtoml_1_1time__offset.html + a2f4cd0259300e318defc0c5efde592dd + + + + constexpr friend bool + operator== + structtoml_1_1time__offset.html + ad9423ee067d0a4c0ba39deb2679a07f6 + (time_offset lhs, time_offset rhs) noexcept + + + constexpr friend bool + operator!= + structtoml_1_1time__offset.html + a77e5bb056ffcd6a91b1740333f23b806 + (time_offset lhs, time_offset rhs) noexcept + + + constexpr friend bool + operator< + structtoml_1_1time__offset.html + afe1582662b6922546524d14c1588cf9d + (time_offset lhs, time_offset rhs) noexcept + + + constexpr friend bool + operator<= + structtoml_1_1time__offset.html + a4a0886d9ad65963a4e812576ba0c6928 + (time_offset lhs, time_offset rhs) noexcept + + + constexpr friend bool + operator> + structtoml_1_1time__offset.html + aa5270a5c11af2a9344d2c20911643429 + (time_offset lhs, time_offset rhs) noexcept + + + constexpr friend bool + operator>= + structtoml_1_1time__offset.html + a0146123daf63c677b2559aaf9bda1338 + (time_offset lhs, time_offset rhs) noexcept + + + + toml::value + classtoml_1_1value.html + + toml::node + + ValueType + value_type + classtoml_1_1value.html + ad87b8c7ec465c424b861aba2d4cd5526 + + + + std::conditional_t< std::is_same_v< value_type, std::string >, std::string_view, std::conditional_t< impl::is_one_of< value_type, double, int64_t, bool >, value_type, const value_type & > > + value_arg + classtoml_1_1value.html + ad31666efce027c28c5383357badfa555 + + + + + value + classtoml_1_1value.html + a919970cca7c6545878a9ff5b79f7567d + (Args &&... args) noexcept(noexcept(value_type(impl::native_value_maker< value_type, std::decay_t< Args >... >::make(std::forward< Args >(args)...)))) + + + + value + classtoml_1_1value.html + a62ace5d37c6cf09fdc589efa5e0a0905 + (const value &other) noexcept + + + + value + classtoml_1_1value.html + adfb0250a9769fea9d585609db77bc64a + (value &&other) noexcept + + + value & + operator= + classtoml_1_1value.html + a339731a8213b5e0993b5547067fde1f7 + (const value &rhs) noexcept + + + value & + operator= + classtoml_1_1value.html + a958da7aae3ff90094e348ebceaa4aa5d + (value &&rhs) noexcept + + + value & + operator= + classtoml_1_1value.html + a08950deffd1a5568154d58d27517c973 + (value_arg rhs) noexcept + + + node_type + type + classtoml_1_1value.html + a6fae24eb3eca5e298e4211d2f3503fa4 + () const noexcept override + + + bool + is_table + classtoml_1_1value.html + a043bd619a674718f1404f554eaef41e3 + () const noexcept override + + + bool + is_array + classtoml_1_1value.html + a64d6b4223bcf8c124802bb8f97e0e40e + () const noexcept override + + + bool + is_value + classtoml_1_1value.html + a9679039a2bda46d148a8b3ff842d8702 + () const noexcept override + + + bool + is_string + classtoml_1_1value.html + aaec50db69c9e38159d6844394fe94dd5 + () const noexcept override + + + bool + is_integer + classtoml_1_1value.html + a48ff507b26ed64224f1866502b8eaf28 + () const noexcept override + + + bool + is_floating_point + classtoml_1_1value.html + adf9e031d41969de6d8b55f59da72cfa3 + () const noexcept override + + + bool + is_number + classtoml_1_1value.html + a4a81fff689d825a1717b1b439d130800 + () const noexcept override + + + bool + is_boolean + classtoml_1_1value.html + aa6218b2cf228431ab8933251cdd2827e + () const noexcept override + + + bool + is_date + classtoml_1_1value.html + a8efb92838ded8eee056a295b12f861b2 + () const noexcept override + + + bool + is_time + classtoml_1_1value.html + afa64172102844454bffe7ad2e757aace + () const noexcept override + + + bool + is_date_time + classtoml_1_1value.html + a0de55ce6d6abe26d1a94d4e2021bd331 + () const noexcept override + + + bool + is_homogeneous + classtoml_1_1value.html + a69ff59b2ee4d65a911382220856584b5 + (node_type ntype) const noexcept override + + + bool + is_homogeneous + classtoml_1_1value.html + a1f509d1a85224c6997b481d26ecdbf5c + (node_type ntype, toml::node *&first_nonmatch) noexcept override + + + bool + is_homogeneous + classtoml_1_1value.html + ad83111695c9a3fc792940e5e09d5954e + (node_type ntype, const toml::node *&first_nonmatch) const noexcept override + + + value< std::string > * + as_string + classtoml_1_1value.html + ad1a3c4dd6ffe9bbc53e1e0210a1dfcb9 + () noexcept override + + + value< int64_t > * + as_integer + classtoml_1_1value.html + af4ff7751b5220c599d5dcee7fc44a595 + () noexcept override + + + value< double > * + as_floating_point + classtoml_1_1value.html + a1a50e6ae4b77e2399e979e0e32e2c122 + () noexcept override + + + value< bool > * + as_boolean + classtoml_1_1value.html + a388205107db2b06f7f2954942cca8063 + () noexcept override + + + value< date > * + as_date + classtoml_1_1value.html + ad66d88e92f607a426a28ca3d933f641d + () noexcept override + + + value< time > * + as_time + classtoml_1_1value.html + ad0f53f0e903d09aecdbd62b956113457 + () noexcept override + + + value< date_time > * + as_date_time + classtoml_1_1value.html + a693ae6fa8490000bad7c4b947a71f352 + () noexcept override + + + value_type & + get + classtoml_1_1value.html + af607a8347e5918b35fcfb11e8f7d4398 + () &noexcept + + + value_type && + get + classtoml_1_1value.html + a0b4ea781b83a3c164df24129d0e73341 + () &&noexcept + + + const value_type & + get + classtoml_1_1value.html + a3a0ec9ea9604d68ba9a9a4692868f8d8 + () const &noexcept + + + value_type & + operator* + classtoml_1_1value.html + a054c1fb796a4e560d4afb27019bb1aef + () &noexcept + + + value_type && + operator* + classtoml_1_1value.html + a64ad94a1086eedde1a94f12f020498d2 + () &&noexcept + + + const value_type & + operator* + classtoml_1_1value.html + a15e56286d17f11a4d567eaddb36368f8 + () const &noexcept + + + + operator value_type & + classtoml_1_1value.html + adaf04b51fea2bdc3da39fbf63c240b3b + () &noexcept + + + + operator value_type && + classtoml_1_1value.html + ad5d4a1c818d7004bc4c42219edf84dd9 + () &&noexcept + + + + operator const value_type & + classtoml_1_1value.html + aeaa7f385c753bc7f11f0758d8ae325b6 + () const &noexcept + + + value_flags + flags + classtoml_1_1value.html + a1a213908a7297491a07e647967897fcb + () const noexcept + + + value & + flags + classtoml_1_1value.html + a4311828058d75bfaa2c01c3395d09385 + (value_flags new_flags) noexcept + + + virtual bool + is_array_of_tables + classtoml_1_1node.html + a1697f7da1cd6a5e4c3d3e25e08274b34 + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + virtual table * + as_table + classtoml_1_1node.html + aa696716239e7434145103173e880fb80 + () noexcept + + + virtual array * + as_array + classtoml_1_1node.html + adac204f1c1e3ae99beaa79bb1624cc95 + () noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + ac1417bb4313b2624e3ea270a487f153b + () const noexcept + + + optional< T > + value + classtoml_1_1node.html + a48098db842e6a202902e6c85326f71b4 + () const noexcept + + + auto + value_or + classtoml_1_1node.html + a423ddccc36345545615e20290c9a8a65 + (T &&default_value) const noexcept + + + impl::unwrap_node< T > & + ref + classtoml_1_1node.html + a0f2b674e80b882b329513e7ec9aed842 + () &noexcept + + + impl::unwrap_node< T > && + ref + classtoml_1_1node.html + a292bce25bfe779dc51403e88f0cc4bcc + () &&noexcept + + + const impl::unwrap_node< T > & + ref + classtoml_1_1node.html + a378e94ebc00235eb4d1da68f81edd77f + () const &noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + friend std::basic_ostream< Char > & + operator<< + classtoml_1_1value.html + a3559f8309f337e65ee1baba5f2130f48 + (std::basic_ostream< Char > &lhs, const value< T > &rhs) + + + friend bool + operator== + classtoml_1_1value.html + a0b90e4f85ecaf2c81e4ba8b42aa5ce34 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a1771aa33bd2d425b542d0b9d0e90866d + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a6bbe09942bd6046fa94addb911940491 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + a7d02565c608c663afc8f3d2102639740 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + a2f37f69d3e477c0c2e2ba16f6919815e + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + ace8c00e345c69ee93e5d2bd2df694340 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + af200f2be4273ed0923743f4b918f86e6 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a80417b5055072f20d3a6985d1b78af21 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a727e2acd21edf04a144918d174706ba6 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator== + classtoml_1_1value.html + a2fa446100047d052d0cca2c1f3f60085 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1value.html + a872e565adfbcd201f2ab1e3103699758 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a7fdc4f87f9ec3efb896cc3e09694328b + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + ac6af15f59d537d95d1afe887b12b697e + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + ab95d07a7f48e44baefbacbf5f6072837 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a0ebdea821d98546de4b686f450506637 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1value.html + a0b90e4f85ecaf2c81e4ba8b42aa5ce34 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a1771aa33bd2d425b542d0b9d0e90866d + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a6bbe09942bd6046fa94addb911940491 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + a7d02565c608c663afc8f3d2102639740 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + a2f37f69d3e477c0c2e2ba16f6919815e + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + ace8c00e345c69ee93e5d2bd2df694340 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + af200f2be4273ed0923743f4b918f86e6 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a80417b5055072f20d3a6985d1b78af21 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a727e2acd21edf04a144918d174706ba6 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator== + classtoml_1_1value.html + a2fa446100047d052d0cca2c1f3f60085 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1value.html + a872e565adfbcd201f2ab1e3103699758 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a7fdc4f87f9ec3efb896cc3e09694328b + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + ac6af15f59d537d95d1afe887b12b697e + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + ab95d07a7f48e44baefbacbf5f6072837 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a0ebdea821d98546de4b686f450506637 + (const value &lhs, const value< T > &rhs) noexcept + + + node_type + type + classtoml_1_1value.html + a6fae24eb3eca5e298e4211d2f3503fa4 + () const noexcept override + + + bool + is_table + classtoml_1_1value.html + a043bd619a674718f1404f554eaef41e3 + () const noexcept override + + + bool + is_array + classtoml_1_1value.html + a64d6b4223bcf8c124802bb8f97e0e40e + () const noexcept override + + + bool + is_value + classtoml_1_1value.html + a9679039a2bda46d148a8b3ff842d8702 + () const noexcept override + + + bool + is_string + classtoml_1_1value.html + aaec50db69c9e38159d6844394fe94dd5 + () const noexcept override + + + bool + is_integer + classtoml_1_1value.html + a48ff507b26ed64224f1866502b8eaf28 + () const noexcept override + + + bool + is_floating_point + classtoml_1_1value.html + adf9e031d41969de6d8b55f59da72cfa3 + () const noexcept override + + + bool + is_number + classtoml_1_1value.html + a4a81fff689d825a1717b1b439d130800 + () const noexcept override + + + bool + is_boolean + classtoml_1_1value.html + aa6218b2cf228431ab8933251cdd2827e + () const noexcept override + + + bool + is_date + classtoml_1_1value.html + a8efb92838ded8eee056a295b12f861b2 + () const noexcept override + + + bool + is_time + classtoml_1_1value.html + afa64172102844454bffe7ad2e757aace + () const noexcept override + + + bool + is_date_time + classtoml_1_1value.html + a0de55ce6d6abe26d1a94d4e2021bd331 + () const noexcept override + + + bool + is_homogeneous + classtoml_1_1value.html + a69ff59b2ee4d65a911382220856584b5 + (node_type ntype) const noexcept override + + + bool + is_homogeneous + classtoml_1_1value.html + a1f509d1a85224c6997b481d26ecdbf5c + (node_type ntype, toml::node *&first_nonmatch) noexcept override + + + bool + is_homogeneous + classtoml_1_1value.html + ad83111695c9a3fc792940e5e09d5954e + (node_type ntype, const toml::node *&first_nonmatch) const noexcept override + + + value< std::string > * + as_string + classtoml_1_1value.html + ad1a3c4dd6ffe9bbc53e1e0210a1dfcb9 + () noexcept override + + + value< int64_t > * + as_integer + classtoml_1_1value.html + af4ff7751b5220c599d5dcee7fc44a595 + () noexcept override + + + value< double > * + as_floating_point + classtoml_1_1value.html + a1a50e6ae4b77e2399e979e0e32e2c122 + () noexcept override + + + value< bool > * + as_boolean + classtoml_1_1value.html + a388205107db2b06f7f2954942cca8063 + () noexcept override + + + value< date > * + as_date + classtoml_1_1value.html + ad66d88e92f607a426a28ca3d933f641d + () noexcept override + + + value< time > * + as_time + classtoml_1_1value.html + ad0f53f0e903d09aecdbd62b956113457 + () noexcept override + + + value< date_time > * + as_date_time + classtoml_1_1value.html + a693ae6fa8490000bad7c4b947a71f352 + () noexcept override + + + value_type & + get + classtoml_1_1value.html + af607a8347e5918b35fcfb11e8f7d4398 + () &noexcept + + + value_type && + get + classtoml_1_1value.html + a0b4ea781b83a3c164df24129d0e73341 + () &&noexcept + + + const value_type & + get + classtoml_1_1value.html + a3a0ec9ea9604d68ba9a9a4692868f8d8 + () const &noexcept + + + value_type & + operator* + classtoml_1_1value.html + a054c1fb796a4e560d4afb27019bb1aef + () &noexcept + + + value_type && + operator* + classtoml_1_1value.html + a64ad94a1086eedde1a94f12f020498d2 + () &&noexcept + + + const value_type & + operator* + classtoml_1_1value.html + a15e56286d17f11a4d567eaddb36368f8 + () const &noexcept + + + + operator value_type & + classtoml_1_1value.html + adaf04b51fea2bdc3da39fbf63c240b3b + () &noexcept + + + + operator value_type && + classtoml_1_1value.html + ad5d4a1c818d7004bc4c42219edf84dd9 + () &&noexcept + + + + operator const value_type & + classtoml_1_1value.html + aeaa7f385c753bc7f11f0758d8ae325b6 + () const &noexcept + + + value_flags + flags + classtoml_1_1value.html + a1a213908a7297491a07e647967897fcb + () const noexcept + + + value & + flags + classtoml_1_1value.html + a4311828058d75bfaa2c01c3395d09385 + (value_flags new_flags) noexcept + + + virtual bool + is_array_of_tables + classtoml_1_1node.html + a1697f7da1cd6a5e4c3d3e25e08274b34 + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + virtual table * + as_table + classtoml_1_1node.html + aa696716239e7434145103173e880fb80 + () noexcept + + + virtual array * + as_array + classtoml_1_1node.html + adac204f1c1e3ae99beaa79bb1624cc95 + () noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + ac1417bb4313b2624e3ea270a487f153b + () const noexcept + + + optional< T > + value + classtoml_1_1node.html + a48098db842e6a202902e6c85326f71b4 + () const noexcept + + + auto + value_or + classtoml_1_1node.html + a423ddccc36345545615e20290c9a8a65 + (T &&default_value) const noexcept + + + impl::unwrap_node< T > & + ref + classtoml_1_1node.html + a0f2b674e80b882b329513e7ec9aed842 + () &noexcept + + + impl::unwrap_node< T > && + ref + classtoml_1_1node.html + a292bce25bfe779dc51403e88f0cc4bcc + () &&noexcept + + + const impl::unwrap_node< T > & + ref + classtoml_1_1node.html + a378e94ebc00235eb4d1da68f81edd77f + () const &noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + + toml + namespacetoml.html + toml::literals + toml::array + toml::inserter + toml::source_position + toml::source_region + toml::date + toml::time + toml::time_offset + toml::date_time + toml::default_formatter + toml::json_formatter + toml::node + toml::node_view + toml::parse_error + toml::parse_result + toml::table + toml::value + + impl::array_iterator< false > + array_iterator + namespacetoml.html + a2b0930b7b75df6f189d9815c000bef8b + + + + impl::array_iterator< true > + const_array_iterator + namespacetoml.html + acc99ae392186dc605aeb233d26f07013 + + + + std::optional< T > + optional + namespacetoml.html + af34a9fb3305e419784104609e6bbb7ac + + + + std::shared_ptr< const std::string > + source_path_ptr + namespacetoml.html + ac6cf446b480546ae1f71f5b86442368d + + + + uint16_t + source_index + namespacetoml.html + ae845239fd7271e3d8e529302d300ad5b + + + + impl::table_iterator< false > + table_iterator + namespacetoml.html + a57894617837065610e5746a3204fa8e9 + + + + impl::table_iterator< true > + const_table_iterator + namespacetoml.html + adeb2aa84bcd2bcb46e2cdfaa5dd6572f + + + + + node_type + namespacetoml.html + abac3e84bbf1f2c90717fca107055f48d + + none + table + array + string + integer + floating_point + boolean + date + time + date_time + + + + value_flags + namespacetoml.html + afb4d25262a72170134337eb67e6793de + + none + format_as_binary + format_as_octal + format_as_hexadecimal + + + + format_flags + namespacetoml.html + af1a6761a2f4d80b1a541ba819d9c8e0f + + none + quote_dates_and_times + allow_literal_strings + allow_multi_line_strings + allow_value_format_flags + + + std::basic_ostream< Char > & + operator<< + namespacetoml.html + aba6195d5e83ab18f30c9a211384e2c1a + (std::basic_ostream< Char > &lhs, node_type rhs) + + + std::basic_ostream< Char > & + operator<< + namespacetoml.html + ad6baa4a70ba588d799c8b5d47368daab + (std::basic_ostream< Char > &lhs, const date &rhs) + + + std::basic_ostream< Char > & + operator<< + namespacetoml.html + adbd4fa5a540b9013568db5ca31509611 + (std::basic_ostream< Char > &lhs, const time &rhs) + + + std::basic_ostream< Char > & + operator<< + namespacetoml.html + ae806dceb4c37542aef0b1603ecb24f93 + (std::basic_ostream< Char > &lhs, const time_offset &rhs) + + + std::basic_ostream< Char > & + operator<< + namespacetoml.html + a47918bf17e54f33e998e32b837d295ae + (std::basic_ostream< Char > &lhs, const date_time &rhs) + + + std::basic_ostream< T > & + operator<< + namespacetoml.html + a76e6f635590c5477371cfdbd9995e93c + (std::basic_ostream< T > &lhs, default_formatter< U > &rhs) + + + std::basic_ostream< T > & + operator<< + namespacetoml.html + a7751ef32d579a26d6d718bd20727c366 + (std::basic_ostream< T > &lhs, default_formatter< U > &&rhs) + + + std::basic_ostream< T > & + operator<< + namespacetoml.html + a71f00c85c2e052bc37e68901e528adf8 + (std::basic_ostream< T > &lhs, json_formatter< U > &rhs) + + + std::basic_ostream< T > & + operator<< + namespacetoml.html + a5950cf269cd3a637e75a0c5d862bb59e + (std::basic_ostream< T > &lhs, json_formatter< U > &&rhs) + + + std::basic_ostream< Char > & + operator<< + namespacetoml.html + af05142410823b801c5337566ec4167e9 + (std::basic_ostream< Char > &os, const node_view< T > &nv) + + + std::basic_ostream< Char > & + operator<< + namespacetoml.html + aa96d938e7e76fa6753e2c3b319af0ab6 + (std::basic_ostream< Char > &lhs, const parse_error &rhs) + + + parse_result + parse + namespacetoml.html + ada8654fb4ceef15c20fc1d5e0cc734dd + (std::string_view doc, std::string_view source_path={}) + + + parse_result + parse + namespacetoml.html + a20fa3e08d72759083fb17c772a357043 + (std::string_view doc, std::string &&source_path) + + + parse_result + parse + namespacetoml.html + a01565f26a7982d162949bac3b554a334 + (std::string_view doc, std::wstring_view source_path) + + + parse_result + parse + namespacetoml.html + a23fd62ae7ec77404532a589672ae1d0e + (std::basic_istream< Char > &doc, std::string_view source_path={}) + + + parse_result + parse + namespacetoml.html + a64954bc71af181daba9ef3a1d12f05db + (std::basic_istream< Char > &doc, std::string &&source_path) + + + parse_result + parse + namespacetoml.html + a2ad07c01e86daea5544e1d92261bab81 + (std::basic_istream< Char > &doc, std::wstring_view source_path) + + + parse_result + parse_file + namespacetoml.html + a8dbc58dad43c3b66f4476a7131f5741a + (std::string_view file_path) + + + parse_result + parse_file + namespacetoml.html + ad425af491341206589ca6acc37c3b19e + (std::wstring_view file_path) + + + std::basic_ostream< Char > & + operator<< + namespacetoml.html + a97327637eb536dde43a66ea3469bce9e + (std::basic_ostream< Char > &lhs, const source_position &rhs) + + + std::basic_ostream< Char > & + operator<< + namespacetoml.html + a86595b9c9187cb2c09cbffebe3752f0f + (std::basic_ostream< Char > &lhs, const source_region &rhs) + + + constexpr bool + is_table + namespacetoml.html + ad11c8c8a8286d6931e40658679aa7ddb + + + + constexpr bool + is_array + namespacetoml.html + a2251b703f3ec4d1a3036c82ead3d69cc + + + + constexpr bool + is_string + namespacetoml.html + aea14621807afe92a840d82c7139cde07 + + + + constexpr bool + is_integer + namespacetoml.html + a513bdc4a19071f0be70e92bb6cb1a1a3 + + + + constexpr bool + is_floating_point + namespacetoml.html + a1aaaa0e264cdd4f43518571f2f61ac36 + + + + constexpr bool + is_number + namespacetoml.html + a64ce7ed6974d2b17823565bc67c40873 + + + + constexpr bool + is_boolean + namespacetoml.html + a8e79820651cc9a835082cf9abd47d885 + + + + constexpr bool + is_date + namespacetoml.html + a3c5daa4563e3aff2b5e6460aa97d28df + + + + constexpr bool + is_time + namespacetoml.html + a87aee32768a32bb838150421e4e3cf97 + + + + constexpr bool + is_date_time + namespacetoml.html + a3285caf012789a607851026f9827a33d + + + + constexpr bool + is_node_view + namespacetoml.html + ab5b06dac8c1e0de9e06411917e10b618 + + + + + toml::literals + namespacetoml_1_1literals.html + + parse_result + operator""_toml + namespacetoml_1_1literals.html + a401530e560c2dc540729af01e10b2a74 + (const char *str, size_t len) + + + + configuration + Library Configuration + group__configuration.html + + #define + TOML_HEADER_ONLY + group__configuration.html + ga8219bfd7e75587516385b6022b28abc2 + + + + #define + TOML_API + group__configuration.html + gad443ebc67d9e196f296f2038b2ad5e46 + + + + #define + TOML_ASSERT + group__configuration.html + ga8c407a8f6fe52a795db35be3f00393f8 + (expr) + + + #define + TOML_CONFIG_HEADER + group__configuration.html + ga09204feb4a3ff5534623c2bd052dcec0 + + + + #define + TOML_EXCEPTIONS + group__configuration.html + ga93097ecd88ca4bca393f60a78bda643b + + + + #define + TOML_IMPLEMENTATION + group__configuration.html + ga27ee69835a1ddff9dbaf3015b4b08a11 + + + + #define + TOML_LARGE_FILES + group__configuration.html + ga55379d57f896d97994e0aca167297c7f + + + + #define + TOML_OPTIONAL_TYPE + group__configuration.html + ga9c2c03f867eb6d76a5f65b06eeb1186e + + + + #define + TOML_PARSER + group__configuration.html + ga53c34f99a546e479d2440b60e3e6588d + + + + #define + TOML_SMALL_FLOAT_TYPE + group__configuration.html + ga11a3368da40938a6b5cfd898320706f7 + + + + #define + TOML_SMALL_INT_TYPE + group__configuration.html + ga0722fa2c57da6360c7f2ba08c60e1a81 + + + + #define + TOML_UNRELEASED_FEATURES + group__configuration.html + ga337ec177a5d46e3b6d8fa4f23edf98e2 + + + + #define + TOML_WINDOWS_COMPAT + group__configuration.html + ga0785b375499ea976c627d775f8fc747b + + + + + index + toml++ + index.html + mainpage-features + mainpage-api-documentation + mainpage-example + mainpage-example-parsing-files + mainpage-example-parsing-strings + mainpage-example-parsing-without-exceptions + mainpage-example-custom-error-formatting + mainpage-example-manipulations + mainpage-example-serialization + mainpage-example-speed-up-compilation + mainpage-adding-lib + mainpage-adding-lib-old-school + mainpage-adding-lib-conan + mainpage-adding-lib-dds + mainpage-adding-lib-meson + mainpage-adding-lib-vcpkg + mainpage-adding-lib-cmake-fetch-content + mainpage-adding-lib-other + mainpage-adding-lib-python + mainpage-configuration + mainpage-contributing + mainpage-license + mainpage-contact + + diff --git a/v2.5.0/annotated.html b/v2.5.0/annotated.html new file mode 100644 index 00000000..3432b4c3 --- /dev/null +++ b/v2.5.0/annotated.html @@ -0,0 +1,158 @@ + + + + toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Classes

                                                                                                                              +
                                                                                                                                +
                                                                                                                              • + namespace toml The root namespace for all toml++ functions and types. +
                                                                                                                                  +
                                                                                                                                • class array final A TOML array.
                                                                                                                                • +
                                                                                                                                • struct date A local date.
                                                                                                                                • +
                                                                                                                                • struct date_time A date-time.
                                                                                                                                • +
                                                                                                                                • class default_formatter final A wrapper for printing TOML objects out to a stream as formatted TOML.
                                                                                                                                • +
                                                                                                                                • struct inserter Helper class for suppressing move-construction in single-argument array constructors.
                                                                                                                                • +
                                                                                                                                • class json_formatter final A wrapper for printing TOML objects out to a stream as formatted JSON.
                                                                                                                                • +
                                                                                                                                • class node A TOML node.
                                                                                                                                • +
                                                                                                                                • class node_view A view of a node.
                                                                                                                                • +
                                                                                                                                • class parse_error final An error generated when parsing fails.
                                                                                                                                • +
                                                                                                                                • class parse_result The result of a parsing operation.
                                                                                                                                • +
                                                                                                                                • struct source_position A source document line-and-column pair.
                                                                                                                                • +
                                                                                                                                • struct source_region A source document region.
                                                                                                                                • +
                                                                                                                                • class table final A TOML table.
                                                                                                                                • +
                                                                                                                                • struct time A local time-of-day.
                                                                                                                                • +
                                                                                                                                • struct time_offset A timezone offset.
                                                                                                                                • +
                                                                                                                                • class value final A TOML value.
                                                                                                                                • +
                                                                                                                                +
                                                                                                                              • +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.5.0/badge-C++20.svg b/v2.5.0/badge-C++20.svg new file mode 100644 index 00000000..92e9684c --- /dev/null +++ b/v2.5.0/badge-C++20.svg @@ -0,0 +1 @@ + standardC++20 \ No newline at end of file diff --git a/v2.5.0/badge-TOML.svg b/v2.5.0/badge-TOML.svg new file mode 100644 index 00000000..01db3c41 --- /dev/null +++ b/v2.5.0/badge-TOML.svg @@ -0,0 +1 @@ +TOML: v1.0.0TOMLv1.0.0 \ No newline at end of file diff --git a/v2.5.0/badge-awesome.svg b/v2.5.0/badge-awesome.svg new file mode 100644 index 00000000..5d9da969 --- /dev/null +++ b/v2.5.0/badge-awesome.svg @@ -0,0 +1 @@ +Mentioned in an Awesome list diff --git a/v2.5.0/banner_small.png b/v2.5.0/banner_small.png new file mode 100644 index 00000000..78640f65 Binary files /dev/null and b/v2.5.0/banner_small.png differ diff --git a/v2.5.0/classtoml_1_1array.html b/v2.5.0/classtoml_1_1array.html new file mode 100644 index 00000000..28710995 --- /dev/null +++ b/v2.5.0/classtoml_1_1array.html @@ -0,0 +1,1427 @@ + + + + toml::array class | toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::array class final +

                                                                                                                              +

                                                                                                                              A TOML array.

                                                                                                                              + +

                                                                                                                              The interface of this type is modeled after std::vector, with some additional considerations made for the heterogeneous nature of a TOML array.

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              toml::table tbl = toml::parse(R"( + arr = [1, 2, 3, 4, 'five'] +)"sv); + +// get the element as an array +toml::array& arr = *tbl.get_as<toml::array>("arr"); +std::cout << arr << "\n"; + +// increment each element with visit() +for (auto&& elem : arr) +{ + elem.visit([](auto&& el) noexcept + { + if constexpr (toml::is_number<decltype(el)>) + (*el)++; + else if constexpr (toml::is_string<decltype(el)>) + el = "six"sv; + }); +} +std::cout << arr << "\n"; + +// add and remove elements +arr.push_back(7); +arr.push_back(8.0f); +arr.push_back("nine"sv); +arr.erase(arr.cbegin()); +std::cout << arr << "\n"; + +// emplace elements +arr.emplace_back<std::string>("ten"); +arr.emplace_back<toml::array>(11, 12.0); +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3, 4, 'five' ]
                                                                                                                              +[ 2, 3, 4, 5, 'six' ]
                                                                                                                              +[ 3, 4, 5, 'six', 7, 8.0, 'nine' ]
                                                                                                                              +[ 3, 4, 5, 'six', 7, 8.0, 'nine', 'ten', [ 11, 12.0 ] ]
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Base classes

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + class node +
                                                                                                                              +
                                                                                                                              A TOML node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public types

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using const_iterator = const_array_iterator +
                                                                                                                              +
                                                                                                                              A RandomAccessIterator for iterating over const elements in a toml::array.
                                                                                                                              +
                                                                                                                              + using iterator = array_iterator +
                                                                                                                              +
                                                                                                                              A RandomAccessIterator for iterating over elements in a toml::array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + array() noexcept +
                                                                                                                              +
                                                                                                                              Default constructor.
                                                                                                                              +
                                                                                                                              + array(const array&) noexcept +
                                                                                                                              +
                                                                                                                              Copy constructor.
                                                                                                                              +
                                                                                                                              + array(array&& other) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType, typename... ElemTypes, typename = std::enable_if_t< (sizeof...(ElemTypes)> 0_sz) || !std::is_same_v<impl::remove_cvref_t<ElemType>, array> >>
                                                                                                                              + array(ElemType&& val, + ElemTypes && ... vals) explicit +
                                                                                                                              +
                                                                                                                              Constructs an array with one or more initial elements.
                                                                                                                              +
                                                                                                                              + ~array() override noexcept +
                                                                                                                              +
                                                                                                                              Destructor.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator=(const array&) -> array& noexcept +
                                                                                                                              +
                                                                                                                              Copy-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(array&& rhs) -> array& noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Array operations

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto back() -> node& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the last element in the array.
                                                                                                                              +
                                                                                                                              + auto back() const -> const node& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the last element in the array.
                                                                                                                              +
                                                                                                                              + auto begin() -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first element.
                                                                                                                              +
                                                                                                                              + auto begin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first element.
                                                                                                                              +
                                                                                                                              + auto capacity() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the current max number of elements that may be held in the array's internal storage.
                                                                                                                              +
                                                                                                                              + auto cbegin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first element.
                                                                                                                              +
                                                                                                                              + auto cend() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last element.
                                                                                                                              +
                                                                                                                              + void clear() noexcept +
                                                                                                                              +
                                                                                                                              Removes all elements from the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType, typename... Args>
                                                                                                                              + auto emplace(const_iterator pos, + Args && ... args) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Emplaces a new element at a specific position in the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType, typename... Args>
                                                                                                                              + auto emplace_back(Args && ... args) -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Emplaces a new element at the end of the array.
                                                                                                                              +
                                                                                                                              + auto empty() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the array is empty.
                                                                                                                              +
                                                                                                                              + auto end() -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last element.
                                                                                                                              +
                                                                                                                              + auto end() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last element.
                                                                                                                              +
                                                                                                                              + auto erase(const_iterator pos) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Removes the specified element from the array.
                                                                                                                              +
                                                                                                                              + auto erase(const_iterator first, + const_iterator last) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Removes the elements in the range [first, last) from the array.
                                                                                                                              +
                                                                                                                              + auto flatten() & -> array& +
                                                                                                                              +
                                                                                                                              Flattens this array, recursively hoisting the contents of child arrays up into itself.
                                                                                                                              +
                                                                                                                              + auto flatten() && -> array&& +
                                                                                                                              +
                                                                                                                              Flattens this array, recursively hoisting the contents of child arrays up into itself (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto front() -> node& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the first element in the array.
                                                                                                                              +
                                                                                                                              + auto front() const -> const node& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the first element in the array.
                                                                                                                              +
                                                                                                                              + auto get(size_t index) -> node* noexcept +
                                                                                                                              +
                                                                                                                              Gets the element at a specific index.
                                                                                                                              +
                                                                                                                              + auto get(size_t index) const -> const node* noexcept +
                                                                                                                              +
                                                                                                                              Gets the element at a specific index (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto get_as(size_t index) -> impl::wrap_node<ElemType>* noexcept +
                                                                                                                              +
                                                                                                                              Gets the element at a specific index if it is a particular type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto get_as(size_t index) const -> const impl::wrap_node<ElemType>* noexcept +
                                                                                                                              +
                                                                                                                              Gets the element at a specific index if it is a particular type (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto insert(const_iterator pos, + ElemType&& val) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Inserts a new element at a specific position in the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto insert(const_iterator pos, + size_t count, + ElemType&& val) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Repeatedly inserts a new element starting at a specific position in the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Iter>
                                                                                                                              + auto insert(const_iterator pos, + Iter first, + Iter last) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Inserts a range of elements into the array at a specific position.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto insert(const_iterator pos, + std::initializer_list<ElemType> ilist) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Inserts a range of elements into the array at a specific position.
                                                                                                                              +
                                                                                                                              + auto max_size() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the maximum number of elements that can be stored in an array on the current platform.
                                                                                                                              +
                                                                                                                              + auto operator[](size_t index) -> node& noexcept +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific index.
                                                                                                                              +
                                                                                                                              + auto operator[](size_t index) const -> const node& noexcept +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific index.
                                                                                                                              +
                                                                                                                              + void pop_back() noexcept +
                                                                                                                              +
                                                                                                                              Removes the last element from the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + void push_back(ElemType&& val) noexcept +
                                                                                                                              +
                                                                                                                              Appends a new element to the end of the array.
                                                                                                                              +
                                                                                                                              + void reserve(size_t new_capacity) +
                                                                                                                              +
                                                                                                                              Reserves internal storage capacity up to a pre-determined number of elements.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + void resize(size_t new_size, + ElemType&& default_init_val) noexcept +
                                                                                                                              +
                                                                                                                              Resizes the array.
                                                                                                                              +
                                                                                                                              + void shrink_to_fit() +
                                                                                                                              +
                                                                                                                              Requests the removal of any unused internal storage capacity.
                                                                                                                              +
                                                                                                                              + auto size() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the number of elements in the array.
                                                                                                                              +
                                                                                                                              + void truncate(size_t new_size) +
                                                                                                                              +
                                                                                                                              Shrinks the array to the given size.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const array& lhs, + const array& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const array& lhs, + const array& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const array& lhs, + const std::initializer_list<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Initializer list equality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const array& lhs, + const std::vector<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Vector equality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Metadata

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the source region responsible for generating this node during parsing.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Node views

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + operator node_view<const node>() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node (const overload).
                                                                                                                              +
                                                                                                                              + operator node_view<node>() explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type casts

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() -> impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() const -> const impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type (const overload).
                                                                                                                              +
                                                                                                                              + auto as_boolean() -> toml::value<bool>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<bool>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date() -> toml::value<date>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<date>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date_time() -> toml::value<date_time>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<date_time>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() -> toml::value<double>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<double>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_integer() -> toml::value<int64_t>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<int64_t>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_string() -> toml::value<std::string>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<string>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_table() -> table* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::table, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_time() -> toml::value<time>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<time>, if it is one.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type checks

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto as_array() -> array* override noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::array, if it is one.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto is() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node is a specific type.
                                                                                                                              +
                                                                                                                              + auto is_array() const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an array.
                                                                                                                              +
                                                                                                                              + auto is_array_of_tables() const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an array containing only tables.
                                                                                                                              +
                                                                                                                              + auto is_boolean() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a boolean value.
                                                                                                                              +
                                                                                                                              + auto is_date() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a local date value.
                                                                                                                              +
                                                                                                                              + auto is_date_time() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a date-time value.
                                                                                                                              +
                                                                                                                              + auto is_floating_point() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an floating-point value.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype) const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + node*& first_nonmatch) -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + const node*& first_nonmatch) const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type (const overload).
                                                                                                                              +
                                                                                                                              + auto is_integer() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an integer value.
                                                                                                                              +
                                                                                                                              + auto is_number() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an integer or floating-point value.
                                                                                                                              +
                                                                                                                              + auto is_string() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a string value.
                                                                                                                              +
                                                                                                                              + auto is_table() const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a table.
                                                                                                                              +
                                                                                                                              + auto is_time() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a local time value.
                                                                                                                              +
                                                                                                                              + auto is_value() const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a value.
                                                                                                                              +
                                                                                                                              + auto type() const -> node_type override noexcept +
                                                                                                                              +
                                                                                                                              Returns the node's type identifier.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Value retrieval

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() & -> impl::unwrap_node<T>& noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a value node's underlying data.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() && -> impl::unwrap_node<T>&& noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a value node's underlying data (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const & -> const impl::unwrap_node<T>& noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a value node's underlying data (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value() const -> optional<T> noexcept +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_exact() const -> optional<T> noexcept +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_or(T&& default_value) const -> auto noexcept +
                                                                                                                              +
                                                                                                                              Gets the raw value contained by this node, or a default.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Visitation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char>
                                                                                                                              + auto operator<<(std::basic_ostream<Char>&, + const array&) -> std::basic_ostream<Char>& +
                                                                                                                              +
                                                                                                                              Prints the array out to a stream as formatted TOML.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType, typename... ElemTypes, typename = std::enable_if_t< (sizeof...(ElemTypes)> 0_sz) || !std::is_same_v<impl::remove_cvref_t<ElemType>, array> >> +
                                                                                                                              + toml::array::array(ElemType&& val, + ElemTypes && ... vals) explicit +

                                                                                                                              +

                                                                                                                              Constructs an array with one or more initial elements.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypeOne of the TOML node or value types (or a type promotable to one).
                                                                                                                              ElemTypesOne of the TOML node or value types (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              valThe node or value used to initialize element 0.
                                                                                                                              valsThe nodes or values used to initialize elements 1...N.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2.0, "three"sv, toml::array{ 4, 5 } };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2.0, 'three', [ 4, 5 ] ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType, typename... Args> +
                                                                                                                              + iterator toml::array::emplace(const_iterator pos, + Args && ... args) noexcept +

                                                                                                                              +

                                                                                                                              Emplaces a new element at a specific position in the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::table, toml::array, or any native TOML value type.
                                                                                                                              ArgsValue constructor argument types.
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              argsArguments to forward to the value's constructor.
                                                                                                                              ReturnsAn iterator to the inserted element.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2 };
                                                                                                                              +
                                                                                                                              +//add a string using std::string's substring constructor
                                                                                                                              +arr.emplace<std::string>(arr.cbegin() + 1, "this is not a drill"sv, 14, 5);
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 'drill', 2 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType, typename... Args> +
                                                                                                                              + decltype(auto) toml::array::emplace_back(Args && ... args) noexcept +

                                                                                                                              +

                                                                                                                              Emplaces a new element at the end of the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::table, toml::array, or a native TOML value type
                                                                                                                              ArgsValue constructor argument types.
                                                                                                                              Parameters
                                                                                                                              argsArguments to forward to the value's constructor.
                                                                                                                              ReturnsA reference to the newly-constructed element.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2 };
                                                                                                                              +arr.emplace_back<toml::array>(3, "four"sv);
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, [ 3, 'four' ] ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::array::erase(const_iterator pos) noexcept +

                                                                                                                              +

                                                                                                                              Removes the specified element from the array.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              posIterator to the element being erased.
                                                                                                                              ReturnsIterator to the first element immediately following the removed element.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +
                                                                                                                              +arr.erase(arr.cbegin() + 1);
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3 ]
                                                                                                                              +[ 1, 3 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::array::erase(const_iterator first, + const_iterator last) noexcept +

                                                                                                                              +

                                                                                                                              Removes the elements in the range [first, last) from the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              firstIterator to the first element being erased.
                                                                                                                              lastIterator to the one-past-the-last element being erased.
                                                                                                                              ReturnsIterator to the first element immediately following the last removed element.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, "bad", "karma" 2 };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +
                                                                                                                              +arr.erase(arr.cbegin() + 1, arr.cbegin() + 3);
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 'bad', 'karma', 3 ]
                                                                                                                              +[ 1, 3 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + array& toml::array::flatten() & +

                                                                                                                              +

                                                                                                                              Flattens this array, recursively hoisting the contents of child arrays up into itself.

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsA reference to the array.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, toml::array{ 3, 4, toml::array{ 5 } }, 6, toml::array{} };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +
                                                                                                                              +arr.flatten();
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, [ 3, 4, [ 5 ] ], 6, [] ]
                                                                                                                              +[ 1, 2, 3, 4, 5, 6 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + array&& toml::array::flatten() && +

                                                                                                                              +

                                                                                                                              Flattens this array, recursively hoisting the contents of child arrays up into itself (rvalue overload).

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsAn rvalue reference to the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node* toml::array::get(size_t index) noexcept +

                                                                                                                              +

                                                                                                                              Gets the element at a specific index.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              indexThe element's index.
                                                                                                                              ReturnsA pointer to the element at the specified index if one existed, or nullptr.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 99, "bottles of beer on the wall" };
                                                                                                                              +std::cout << "element [0] exists: "sv << !!arr.get(0) << "\n";
                                                                                                                              +std::cout << "element [1] exists: "sv << !!arr.get(1) << "\n";
                                                                                                                              +std::cout << "element [2] exists: "sv << !!arr.get(2) << "\n";
                                                                                                                              +if (toml::node* val = arr.get(0))
                                                                                                                              +    std::cout << "element [0] is an "sv << val->type() << "\n";
                                                                                                                              element [0] exists: true
                                                                                                                              +element [1] exists: true
                                                                                                                              +element [2] exists: false
                                                                                                                              +element [0] is an integer
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const node* toml::array::get(size_t index) const noexcept +

                                                                                                                              +

                                                                                                                              Gets the element at a specific index (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              indexThe element's index.
                                                                                                                              ReturnsA pointer to the element at the specified index if one existed, or nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + impl::wrap_node<ElemType>* toml::array::get_as(size_t index) noexcept +

                                                                                                                              +

                                                                                                                              Gets the element at a specific index if it is a particular type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::table, toml::array, or a native TOML value type
                                                                                                                              Parameters
                                                                                                                              indexThe element's index.
                                                                                                                              ReturnsA pointer to the selected element if it existed and was of the specified type, or nullptr.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 42, "is the meaning of life, apparently."sv };
                                                                                                                              +if (toml::value<int64_t>* val = arr.get_as<int64_t>(0))
                                                                                                                              +    std::cout << "element [0] is an integer with value "sv << *val << "\n";
                                                                                                                              element [0] is an integer with value 42
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + const impl::wrap_node<ElemType>* toml::array::get_as(size_t index) const noexcept +

                                                                                                                              +

                                                                                                                              Gets the element at a specific index if it is a particular type (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::table, toml::array, or a native TOML value type
                                                                                                                              Parameters
                                                                                                                              indexThe element's index.
                                                                                                                              ReturnsA pointer to the selected element if it existed and was of the specified type, or nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + iterator toml::array::insert(const_iterator pos, + ElemType&& val) noexcept +

                                                                                                                              +

                                                                                                                              Inserts a new element at a specific position in the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              valThe node or value being inserted.
                                                                                                                              ReturnsValid input: An iterator to the newly-inserted element. Input is an empty toml::node_view: + end()
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 3 };
                                                                                                                              +arr.insert(arr.cbegin() + 1, "two");
                                                                                                                              +arr.insert(arr.cend(), toml::array{ 4, 5 });
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 'two', 3, [ 4, 5 ] ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + iterator toml::array::insert(const_iterator pos, + size_t count, + ElemType&& val) noexcept +

                                                                                                                              +

                                                                                                                              Repeatedly inserts a new element starting at a specific position in the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              countThe number of times the node or value should be inserted.
                                                                                                                              valThe node or value being inserted.
                                                                                                                              ReturnsValid input: An iterator to the newly-inserted element. count == 0: A copy of pos Input is an empty toml::node_view: + end()
                                                                                                                              +
                                                                                                                              auto arr = toml::array{
                                                                                                                              +    "with an evil twinkle in its eye the goose said",
                                                                                                                              +    "and immediately we knew peace was never an option."
                                                                                                                              +};
                                                                                                                              +arr.insert(arr.cbegin() + 1, 3, "honk");
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [
                                                                                                                              +    'with an evil twinkle in its eye the goose said',
                                                                                                                              +    'honk',
                                                                                                                              +    'honk',
                                                                                                                              +    'honk',
                                                                                                                              +    'and immediately we knew peace was never an option.'
                                                                                                                              +]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Iter> +
                                                                                                                              + iterator toml::array::insert(const_iterator pos, + Iter first, + Iter last) noexcept +

                                                                                                                              +

                                                                                                                              Inserts a range of elements into the array at a specific position.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              IterAn iterator type. Must satisfy ForwardIterator.
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              firstIterator to the first node or value being inserted.
                                                                                                                              lastIterator to the one-past-the-last node or value being inserted.
                                                                                                                              ReturnsValid input: An iterator to the first newly-inserted element. first >= last: A copy of pos All objects in the range were empty toml::node_views: A copy of pos
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + iterator toml::array::insert(const_iterator pos, + std::initializer_list<ElemType> ilist) noexcept +

                                                                                                                              +

                                                                                                                              Inserts a range of elements into the array at a specific position.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              ilistAn initializer list containing the values to be inserted.
                                                                                                                              ReturnsValid input: An iterator to the first newly-inserted element. Input list is empty: A copy of pos All objects in the list were empty toml::node_views: A copy of pos
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + void toml::array::push_back(ElemType&& val) noexcept +

                                                                                                                              +

                                                                                                                              Appends a new element to the end of the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type
                                                                                                                              Parameters
                                                                                                                              valThe node or value being added.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2 };
                                                                                                                              +arr.push_back(3);
                                                                                                                              +arr.push_back(4.0);
                                                                                                                              +arr.push_back(toml::array{ 5, "six"sv });
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3, 4.0, [ 5, 'six' ] ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + void toml::array::resize(size_t new_size, + ElemType&& default_init_val) noexcept +

                                                                                                                              +

                                                                                                                              Resizes the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              new_sizeThe number of elements the array will have after resizing.
                                                                                                                              default_init_valThe node or value used to initialize new elements if the array needs to grow.
                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto arr = toml::array{ 1, 2, 3 }; +std::cout << arr << "\n"; + +arr.resize(6, 42); +std::cout << arr << "\n"; + +arr.resize(2, 0); +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3 ]
                                                                                                                              +[ 1, 2, 3, 42, 42, 42 ]
                                                                                                                              +[ 1, 2 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + void toml::array::truncate(size_t new_size) +

                                                                                                                              +

                                                                                                                              Shrinks the array to the given size.

                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto arr = toml::array{ 1, 2, 3 }; +std::cout << arr << "\n"; + +arr.truncate(5); // no-op +std::cout << arr << "\n"; + +arr.truncate(1); +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3 ]
                                                                                                                              +[ 1, 2, 3 ]
                                                                                                                              +[ 1]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::array::operator!=(const array& lhs, + const array& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Inequality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS array.
                                                                                                                              rhsThe RHS array.
                                                                                                                              ReturnsTrue if the arrays did not contain the same elements.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::array::operator==(const array& lhs, + const array& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Equality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS array.
                                                                                                                              rhsThe RHS array.
                                                                                                                              ReturnsTrue if the arrays contained the same elements.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::array::is_homogeneous(node_type ntype) const override noexcept +

                                                                                                                              +

                                                                                                                              Checks if the node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << "homogenous: "sv << arr.is_homogeneous(toml::node_type::none) << "\n";
                                                                                                                              +std::cout << "all floats: "sv << arr.is_homogeneous(toml::node_type::floating_point) << "\n";
                                                                                                                              +std::cout << "all arrays: "sv << arr.is_homogeneous(toml::node_type::array) << "\n";
                                                                                                                              +std::cout << "all ints:   "sv << arr.is_homogeneous(toml::node_type::integer) << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::array::is_homogeneous(node_type ntype, + node*& first_nonmatch) override noexcept +

                                                                                                                              +

                                                                                                                              Checks if a node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              first_nonmatchReference to a pointer in which the address of the first non-matching element will be stored if the return value is false.
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]");
                                                                                                                              +toml::array& arr = *cfg["arr"].as_array();
                                                                                                                              +
                                                                                                                              +toml::node* nonmatch{};
                                                                                                                              +if (arr.is_homogeneous(toml::node_type::integer, nonmatch))
                                                                                                                              +    std::cout << "array was homogeneous"sv << "\n";
                                                                                                                              +else
                                                                                                                              +    std::cout << "array was not homogeneous!\n"
                                                                                                                              +    << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
                                                                                                                              array was not homogeneous!
                                                                                                                              +first non-match was a floating-point at line 1, column 18
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.5.0/classtoml_1_1default__formatter.html b/v2.5.0/classtoml_1_1default__formatter.html new file mode 100644 index 00000000..652fe80e --- /dev/null +++ b/v2.5.0/classtoml_1_1default__formatter.html @@ -0,0 +1,263 @@ + + + + toml::default_formatter class | toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              template <typename Char = char>
                                                                                                                              + toml::default_formatter class final +

                                                                                                                              +

                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted TOML.

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              CharThe underlying character type of the output stream. Must be 1 byte in size.
                                                                                                                              + +
                                                                                                                              auto tbl = toml::table{{
                                                                                                                              +    { "description", "This is some TOML, yo." },
                                                                                                                              +    { "fruit", toml::array{ "apple", "orange", "pear" } },
                                                                                                                              +    { "numbers", toml::array{ 1, 2, 3, 4, 5 } },
                                                                                                                              +    { "table", toml::table{{ { "foo", "bar" } }} }
                                                                                                                              +}};
                                                                                                                              +
                                                                                                                              +// these two lines are equivalent:
                                                                                                                              +std::cout << toml::default_formatter{ tbl } << "\n";
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              description = "This is some TOML, yo."
                                                                                                                              +fruit = ["apple", "orange", "pear"]
                                                                                                                              +numbers = [1, 2, 3, 4, 5]
                                                                                                                              +
                                                                                                                              +[table]
                                                                                                                              +foo = "bar"
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public static variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + static format_flags default_flags constexpr +
                                                                                                                              +
                                                                                                                              The default flags for a default_formatter.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + default_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a default formatter and binds it to a TOML object.
                                                                                                                              +
                                                                                                                              + default_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a default TOML formatter and binds it to a toml::parse_result.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T, typename U>
                                                                                                                              + auto operator<<(std::basic_ostream<T>&, + default_formatter<U>&) -> std::basic_ostream<T>& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as formatted TOML.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T, typename U>
                                                                                                                              + auto operator<<(std::basic_ostream<T>&, + default_formatter<U>&&) -> std::basic_ostream<T>& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as formatted TOML (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Char> +
                                                                                                                              + toml::default_formatter::default_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a default formatter and binds it to a TOML object.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              sourceThe source TOML object.
                                                                                                                              flagsFormat option flags.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Char> +
                                                                                                                              + toml::default_formatter::default_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a default TOML formatter and binds it to a toml::parse_result.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              resultThe parse result.
                                                                                                                              flagsFormat option flags.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.5.0/classtoml_1_1json__formatter.html b/v2.5.0/classtoml_1_1json__formatter.html new file mode 100644 index 00000000..d9d36d38 --- /dev/null +++ b/v2.5.0/classtoml_1_1json__formatter.html @@ -0,0 +1,271 @@ + + + + toml::json_formatter class | toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              template <typename Char = char>
                                                                                                                              + toml::json_formatter class final +

                                                                                                                              +

                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted JSON.

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              CharThe underlying character type of the output stream. Must be 1 byte in size.
                                                                                                                              + +
                                                                                                                              auto some_toml = toml::parse(R"(
                                                                                                                              +    [fruit]
                                                                                                                              +    apple.color = "red"
                                                                                                                              +    apple.taste.sweet = true
                                                                                                                              +
                                                                                                                              +    [fruit.apple.texture]
                                                                                                                              +    smooth = true
                                                                                                                              +)"sv);
                                                                                                                              +std::cout << toml::json_formatter{ some_toml } << "\n";
                                                                                                                              {
                                                                                                                              +    "fruit" : {
                                                                                                                              +        "apple" : {
                                                                                                                              +            "color" : "red",
                                                                                                                              +            "taste" : {
                                                                                                                              +                "sweet" : true
                                                                                                                              +            },
                                                                                                                              +            "texture" : {
                                                                                                                              +                "smooth" : true
                                                                                                                              +            }
                                                                                                                              +        }
                                                                                                                              +    }
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public static variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + static format_flags default_flags constexpr +
                                                                                                                              +
                                                                                                                              The default flags for a json_formatter.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + json_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a JSON formatter and binds it to a TOML object.
                                                                                                                              +
                                                                                                                              + json_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a JSON formatter and binds it to a toml::parse_result.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T, typename U>
                                                                                                                              + auto operator<<(std::basic_ostream<T>&, + json_formatter<U>&) -> std::basic_ostream<T>& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as JSON.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T, typename U>
                                                                                                                              + auto operator<<(std::basic_ostream<T>&, + json_formatter<U>&&) -> std::basic_ostream<T>& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as JSON (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Char> +
                                                                                                                              + toml::json_formatter::json_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a JSON formatter and binds it to a TOML object.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              sourceThe source TOML object.
                                                                                                                              flagsFormat option flags.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Char> +
                                                                                                                              + toml::json_formatter::json_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a JSON formatter and binds it to a toml::parse_result.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              resultThe parse result.
                                                                                                                              flagsFormat option flags.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.5.0/classtoml_1_1node.html b/v2.5.0/classtoml_1_1node.html new file mode 100644 index 00000000..258c01c4 --- /dev/null +++ b/v2.5.0/classtoml_1_1node.html @@ -0,0 +1,802 @@ + + + + toml::node class | toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::node class +

                                                                                                                              +

                                                                                                                              A TOML node.

                                                                                                                              + +

                                                                                                                              A parsed TOML document forms a tree made up of tables, arrays and values. This type is the base of each of those, providing a lot of the polymorphic plumbing.

                                                                                                                              +
                                                                                                                              +

                                                                                                                              Derived classes

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + class array final +
                                                                                                                              +
                                                                                                                              A TOML array.
                                                                                                                              +
                                                                                                                              + class table final +
                                                                                                                              +
                                                                                                                              A TOML table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ValueType>
                                                                                                                              + class value final +
                                                                                                                              +
                                                                                                                              A TOML value.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Metadata

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the source region responsible for generating this node during parsing.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Node views

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + operator node_view<const node>() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node (const overload).
                                                                                                                              +
                                                                                                                              + operator node_view<node>() explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type casts

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() -> impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() const -> const impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type (const overload).
                                                                                                                              +
                                                                                                                              + auto as_array() -> array* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::array, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_boolean() -> toml::value<bool>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<bool>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date() -> toml::value<date>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<date>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date_time() -> toml::value<date_time>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<date_time>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() -> toml::value<double>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<double>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_integer() -> toml::value<int64_t>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<int64_t>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_string() -> toml::value<std::string>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<string>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_table() -> table* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::table, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_time() -> toml::value<time>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<time>, if it is one.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type checks

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto is() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node is a specific type.
                                                                                                                              +
                                                                                                                              + auto is_array() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an array.
                                                                                                                              +
                                                                                                                              + auto is_array_of_tables() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an array containing only tables.
                                                                                                                              +
                                                                                                                              + auto is_boolean() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a boolean value.
                                                                                                                              +
                                                                                                                              + auto is_date() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a local date value.
                                                                                                                              +
                                                                                                                              + auto is_date_time() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a date-time value.
                                                                                                                              +
                                                                                                                              + auto is_floating_point() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an floating-point value.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + node*& first_nonmatch) -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + const node*& first_nonmatch) const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type (const overload).
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype) const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType = void>
                                                                                                                              + auto is_homogeneous() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_integer() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an integer value.
                                                                                                                              +
                                                                                                                              + auto is_number() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an integer or floating-point value.
                                                                                                                              +
                                                                                                                              + auto is_string() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a string value.
                                                                                                                              +
                                                                                                                              + auto is_table() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a table.
                                                                                                                              +
                                                                                                                              + auto is_time() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a local time value.
                                                                                                                              +
                                                                                                                              + auto is_value() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a value.
                                                                                                                              +
                                                                                                                              + auto type() const -> node_type pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns the node's type identifier.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Value retrieval

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() & -> impl::unwrap_node<T>& noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a value node's underlying data.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() && -> impl::unwrap_node<T>&& noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a value node's underlying data (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const & -> const impl::unwrap_node<T>& noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a value node's underlying data (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value() const -> optional<T> noexcept +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_exact() const -> optional<T> noexcept +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_or(T&& default_value) const -> auto noexcept +
                                                                                                                              +
                                                                                                                              Gets the raw value contained by this node, or a default.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Visitation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + impl::wrap_node<T>* toml::node::as() noexcept +

                                                                                                                              +

                                                                                                                              Gets a pointer to the node as a more specific node type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TThe node type or TOML value type to cast to.
                                                                                                                              ReturnsA pointer to the node as the given type, or nullptr if it was a different type.
                                                                                                                              +
                                                                                                                              toml::value<int64_t>* int_value = node->as<int64_t>();
                                                                                                                              +toml::table* tbl = node->as<toml::table>();
                                                                                                                              +if (int_value)
                                                                                                                              +    std::cout << "Node is a value<int64_t>\n";
                                                                                                                              +else if (tbl)
                                                                                                                              +    std::cout << "Node is a table\n";
                                                                                                                              +
                                                                                                                              +// fully-qualified value node types also work (useful for template code):
                                                                                                                              +toml::value<int64_t>* int_value2 = node->as<toml::value<int64_t>>();
                                                                                                                              +if (int_value2)
                                                                                                                              +    std::cout << "Node is a value<int64_t>\n";
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::node::is() const noexcept +

                                                                                                                              +

                                                                                                                              Checks if a node is a specific type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TA TOML node or value type.
                                                                                                                              ReturnsReturns true if this node is an instance of the specified type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::node::is_homogeneous(node_type ntype, + node*& first_nonmatch) pure virtual noexcept +

                                                                                                                              +

                                                                                                                              Checks if a node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              first_nonmatchReference to a pointer in which the address of the first non-matching element will be stored if the return value is false.
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]");
                                                                                                                              +toml::array& arr = *cfg["arr"].as_array();
                                                                                                                              +
                                                                                                                              +toml::node* nonmatch{};
                                                                                                                              +if (arr.is_homogeneous(toml::node_type::integer, nonmatch))
                                                                                                                              +    std::cout << "array was homogeneous"sv << "\n";
                                                                                                                              +else
                                                                                                                              +    std::cout << "array was not homogeneous!\n"
                                                                                                                              +    << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
                                                                                                                              array was not homogeneous!
                                                                                                                              +first non-match was a floating-point at line 1, column 18
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::node::is_homogeneous(node_type ntype) const pure virtual noexcept +

                                                                                                                              +

                                                                                                                              Checks if the node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << "homogenous: "sv << arr.is_homogeneous(toml::node_type::none) << "\n";
                                                                                                                              +std::cout << "all floats: "sv << arr.is_homogeneous(toml::node_type::floating_point) << "\n";
                                                                                                                              +std::cout << "all arrays: "sv << arr.is_homogeneous(toml::node_type::array) << "\n";
                                                                                                                              +std::cout << "all ints:   "sv << arr.is_homogeneous(toml::node_type::integer) << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType = void> +
                                                                                                                              + bool toml::node::is_homogeneous() const noexcept +

                                                                                                                              +

                                                                                                                              Checks if the node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypeA TOML node or value type.
                                                                                                                              Left as void: "is every element the same type?"
                                                                                                                              Explicitly specified: "is every element a T?"
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << "homogenous:   "sv << arr.is_homogeneous() << "\n";
                                                                                                                              +std::cout << "all doubles:  "sv << arr.is_homogeneous<double>() << "\n";
                                                                                                                              +std::cout << "all arrays:   "sv << arr.is_homogeneous<toml::array>() << "\n";
                                                                                                                              +std::cout << "all integers: "sv << arr.is_homogeneous<int64_t>() << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + impl::unwrap_node<T>& toml::node::ref() & noexcept +

                                                                                                                              +

                                                                                                                              Gets a raw reference to a value node's underlying data.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the TOML value types.
                                                                                                                              ReturnsA reference to the underlying data.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + optional<T> toml::node::value() const noexcept +

                                                                                                                              +

                                                                                                                              Gets the value contained by this node.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the native TOML value types, or a type capable of converting to one.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or convertible to it) and within the range of the output type, or an empty optional.
                                                                                                                              +

                                                                                                                              This function has 'permissive' retrieval semantics; some value types are allowed to convert to others (e.g. retrieving a boolean as an integer), and the specified return value type can be any type where a reasonable conversion from a native TOML value exists (e.g. std::wstring on Windows). If the source value cannot be represented by the destination type, an empty optional is returned.

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto tbl = toml::parse(R"( + int = -10 + flt = 25.0 + pi = 3.14159 + bool = false + huge = 9223372036854775807 + str = "foo" +)"sv); + +const auto print_value_with_typename = + [&](std::string_view key, std::string_view type_name, auto* dummy) + { + std::cout << "- " << std::setw(18) << std::left << type_name; + using type = std::remove_pointer_t<decltype(dummy)>; + if (std::optional<type> val = tbl.get(key)->value<type>()) + std::cout << *val << "\n"; + else + std::cout << "n/a\n"; + }; + +#define print_value(key, T) print_value_with_typename(key, #T, (T*)nullptr) + +for (auto key : { "int", "flt", "pi", "bool", "huge", "str" }) +{ + std::cout << tbl[key].type() << " value '" << key << "' as:\n"; + print_value(key, bool); + print_value(key, int); + print_value(key, unsigned int); + print_value(key, long long); + print_value(key, float); + print_value(key, double); + print_value(key, std::string); + print_value(key, std::string_view); + print_value(key, const char*); + std::cout << "\n"; +}
                                                                                                                              integer value 'int' as:
                                                                                                                              +- bool              true
                                                                                                                              +- int               -10
                                                                                                                              +- unsigned int      n/a
                                                                                                                              +- long long         -10
                                                                                                                              +- float             -10
                                                                                                                              +- double            -10
                                                                                                                              +- std::string       n/a
                                                                                                                              +- std::string_view  n/a
                                                                                                                              +- const char*       n/a
                                                                                                                              +
                                                                                                                              +floating-point value 'flt' as:
                                                                                                                              +- bool              n/a
                                                                                                                              +- int               25
                                                                                                                              +- unsigned int      25
                                                                                                                              +- long long         25
                                                                                                                              +- float             25
                                                                                                                              +- double            25
                                                                                                                              +- std::string       n/a
                                                                                                                              +- std::string_view  n/a
                                                                                                                              +- const char*       n/a
                                                                                                                              +
                                                                                                                              +floating-point value 'pi' as:
                                                                                                                              +- bool              n/a
                                                                                                                              +- int               n/a
                                                                                                                              +- unsigned int      n/a
                                                                                                                              +- long long         n/a
                                                                                                                              +- float             3.14159
                                                                                                                              +- double            3.14159
                                                                                                                              +- std::string       n/a
                                                                                                                              +- std::string_view  n/a
                                                                                                                              +- const char*       n/a
                                                                                                                              +
                                                                                                                              +boolean value 'bool' as:
                                                                                                                              +- bool              false
                                                                                                                              +- int               0
                                                                                                                              +- unsigned int      0
                                                                                                                              +- long long         0
                                                                                                                              +- float             n/a
                                                                                                                              +- double            n/a
                                                                                                                              +- std::string       n/a
                                                                                                                              +- std::string_view  n/a
                                                                                                                              +- const char*       n/a
                                                                                                                              +
                                                                                                                              +integer value 'huge' as:
                                                                                                                              +- bool              true
                                                                                                                              +- int               n/a
                                                                                                                              +- unsigned int      n/a
                                                                                                                              +- long long         9223372036854775807
                                                                                                                              +- float             n/a
                                                                                                                              +- double            n/a
                                                                                                                              +- std::string       n/a
                                                                                                                              +- std::string_view  n/a
                                                                                                                              +- const char*       n/a
                                                                                                                              +
                                                                                                                              +string value 'str' as:
                                                                                                                              +- bool              n/a
                                                                                                                              +- int               n/a
                                                                                                                              +- unsigned int      n/a
                                                                                                                              +- long long         n/a
                                                                                                                              +- float             n/a
                                                                                                                              +- double            n/a
                                                                                                                              +- std::string       foo
                                                                                                                              +- std::string_view  foo
                                                                                                                              +- const char*       foo
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + optional<T> toml::node::value_exact() const noexcept +

                                                                                                                              +

                                                                                                                              Gets the value contained by this node.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the native TOML value types, or a type capable of losslessly representing one.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or losslessly convertible to it), or an empty optional.
                                                                                                                              +

                                                                                                                              This function has 'exact' retrieval semantics; the only return value types allowed are the TOML native value types, or types that can losslessly represent a native value type (e.g. std::wstring on Windows).

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + auto toml::node::value_or(T&& default_value) const noexcept +

                                                                                                                              +

                                                                                                                              Gets the raw value contained by this node, or a default.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TDefault value type. Must be one of the native TOML value types, or convertible to it.
                                                                                                                              Parameters
                                                                                                                              default_valueThe default value to return if the node wasn't a value, wasn't the correct type, or no conversion was possible.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or convertible to it) and within the range of the output type, or the provided default.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Func> +
                                                                                                                              + decltype(auto) toml::node::visit(Func&& visitor) & noexcept(…) +

                                                                                                                              +

                                                                                                                              Invokes a visitor on the node based on the node's concrete type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              FuncA callable type invocable with one or more of the toml++ node types.
                                                                                                                              Parameters
                                                                                                                              visitorThe visitor object.
                                                                                                                              ReturnsThe return value of the visitor. Can be void. Non-exhaustive visitors must return a default-constructible type.
                                                                                                                              +

                                                                                                                              Visitation is useful when you expect a node to be one of a set number of types and need to handle these types differently. Using visit() allows you to eliminate some of the casting/conversion boilerplate:

                                                                                                                              node.visit([](auto&& n)
                                                                                                                              +{
                                                                                                                              +    if constexpr (toml::is_string<decltype(n)>)
                                                                                                                              +        do_something_with_a_string(*n)); //n is a toml::value<std::string>
                                                                                                                              +    else if constexpr (toml::is_integer<decltype(n)>)
                                                                                                                              +        do_something_with_an_int(*n); //n is a toml::value<int64_t>
                                                                                                                              +    else
                                                                                                                              +        throw std::exception{ "Expected string or integer" };
                                                                                                                              +});
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.5.0/classtoml_1_1node__view.html b/v2.5.0/classtoml_1_1node__view.html new file mode 100644 index 00000000..fc0824ed --- /dev/null +++ b/v2.5.0/classtoml_1_1node__view.html @@ -0,0 +1,821 @@ + + + + toml::node_view class | toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              template <typename ViewedType>
                                                                                                                              + toml::node_view class +

                                                                                                                              +

                                                                                                                              A view of a node.

                                                                                                                              + +

                                                                                                                              A node_view is like a std::optional<toml::node&> (if such a construct were legal), with lots of toml-specific stuff built-in. It may represent a node, and allows you to do many of the same operations that you'd do on nodes directly, as well as easily traversing the node tree by creating subviews (via node_view::operator[]).

                                                                                                                              auto tbl = toml::parse(R"(
                                                                                                                              +
                                                                                                                              +    title = "my hardware store"
                                                                                                                              +    
                                                                                                                              +    [[products]]
                                                                                                                              +    name = "Hammer"
                                                                                                                              +    sku = 738594937
                                                                                                                              +    keywords = [ "hammer", "construction", "build" ]
                                                                                                                              +
                                                                                                                              +    [[products]]
                                                                                                                              +    name = "Nail"
                                                                                                                              +    sku = 284758393
                                                                                                                              +    color = "gray"
                                                                                                                              +    
                                                                                                                              +)"sv);
                                                                                                                              +
                                                                                                                              +std::cout << tbl["title"] << "\n";
                                                                                                                              +std::cout << tbl["products"][0]["name"] << "\n";
                                                                                                                              +std::cout << tbl["products"][0]["keywords"] << "\n";
                                                                                                                              +std::cout << tbl["products"][0]["keywords"][2] << "\n";
                                                                                                                              +
                                                                                                                              +tbl["products"][0]["keywords"].as_array()->push_back("heavy");
                                                                                                                              +std::cout << tbl["products"][0]["keywords"] << "\n";
                                                                                                                              +std::cout << "has product[2]: "sv << !!tbl["products"][2] << "\n";
                                                                                                                              +std::cout << "product[2]: "sv << tbl["products"][2] << "\n";
                                                                                                                              "my hardware store"
                                                                                                                              +"Hammer"
                                                                                                                              +[ "hammer", "construction", "build" ]
                                                                                                                              +"build"
                                                                                                                              +[ "hammer", "construction", "build", "heavy" ]
                                                                                                                              +has product[2]: false
                                                                                                                              +product[2]:
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + node_view() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Constructs an empty node view.
                                                                                                                              +
                                                                                                                              + node_view(viewed_type* node) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs node_view of a specific node.
                                                                                                                              +
                                                                                                                              + node_view(viewed_type& node) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs node_view of a specific node.
                                                                                                                              +
                                                                                                                              + operator bool() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the view references a node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto node() const -> viewed_type* noexcept +
                                                                                                                              +
                                                                                                                              Returns the node that's being referenced by the view.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator==(const node_view& lhs, + const table& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a table with the same contents as RHS.
                                                                                                                              +
                                                                                                                              + auto operator==(const node_view& lhs, + const array& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is an array with the same contents as RHS.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const node_view& lhs, + const toml::value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a value with the same value as RHS.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T, typename = std::enable_if_t< impl::is_native<T> || impl::is_losslessly_convertible_to_native<T> >>
                                                                                                                              + auto operator==(const node_view& lhs, + const T& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a value with the same value as RHS.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const node_view& lhs, + const std::initializer_list<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is an array with the same contents as the RHS initializer list.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const node_view& lhs, + const std::vector<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is an array with the same contents as the RHS vector.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Subviews

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator[](std::string_view key) const -> node_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the selected subnode.
                                                                                                                              +
                                                                                                                              + auto operator[](std::wstring_view key) const -> node_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the selected subnode.
                                                                                                                              +
                                                                                                                              + auto operator[](size_t index) const -> node_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the selected subnode.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type casts

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() const -> auto noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the viewed node as a more specific node type.
                                                                                                                              +
                                                                                                                              + auto as_array() const -> auto noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::array, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_boolean() const -> auto noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<bool>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date() const -> auto noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<date>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date_time() const -> auto noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<date_time>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() const -> auto noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<double>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_integer() const -> auto noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<int64_t>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_string() const -> auto noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<string>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_table() const -> auto noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::table, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_time() const -> auto noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<time>, if it is one.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type checks

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto is() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if this view references a node of a specific type.
                                                                                                                              +
                                                                                                                              + auto is_array() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::array.
                                                                                                                              +
                                                                                                                              + auto is_array_of_tables() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::array that contains only tables.
                                                                                                                              +
                                                                                                                              + auto is_boolean() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<bool>.
                                                                                                                              +
                                                                                                                              + auto is_date() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<date>.
                                                                                                                              +
                                                                                                                              + auto is_date_time() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<date_time>.
                                                                                                                              +
                                                                                                                              + auto is_floating_point() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<double>.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + viewed_type*& first_nonmatch) const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the viewed node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype) const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the viewed node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType = void>
                                                                                                                              + auto is_homogeneous() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the viewed node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_integer() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<int64_t>.
                                                                                                                              +
                                                                                                                              + auto is_number() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<int64_t> or toml::value<double>.
                                                                                                                              +
                                                                                                                              + auto is_string() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<string>.
                                                                                                                              +
                                                                                                                              + auto is_table() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::table.
                                                                                                                              +
                                                                                                                              + auto is_time() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<time>.
                                                                                                                              +
                                                                                                                              + auto is_value() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<>.
                                                                                                                              +
                                                                                                                              + auto type() const -> node_type noexcept +
                                                                                                                              +
                                                                                                                              Returns the type identifier for the viewed node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Value retrieval

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to the viewed node's underlying data.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value() const -> optional<T> noexcept +
                                                                                                                              +
                                                                                                                              Gets the value contained by the referenced node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_exact() const -> optional<T> noexcept +
                                                                                                                              +
                                                                                                                              Gets the value contained by the referenced node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_or(T&& default_value) const -> auto noexcept +
                                                                                                                              +
                                                                                                                              Gets the raw value contained by the referenced node, or a default.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Visitation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the viewed node based on its concrete type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char, typename T>
                                                                                                                              + auto operator<<(std::basic_ostream<Char>&, + const node_view<T>&) -> std::basic_ostream<Char>& +
                                                                                                                              +
                                                                                                                              Prints the viewed node out to a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::operator[](std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the selected subnode.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key of the node to retrieve
                                                                                                                              ReturnsA view of the selected node if this node represented a table and it contained a value at the given key, or an empty view.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::operator[](std::wstring_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the selected subnode.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key of the node to retrieve
                                                                                                                              ReturnsA view of the selected node if this node represented a table and it contained a value at the given key, or an empty view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::operator[](size_t index) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the selected subnode.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              indexThe index of the node to retrieve
                                                                                                                              ReturnsA view of the selected node if this node represented an array and it contained a value at the given index, or an empty view.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + auto toml::node_view::as() const noexcept +

                                                                                                                              +

                                                                                                                              Gets a pointer to the viewed node as a more specific node type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TThe node type or TOML value type to cast to.
                                                                                                                              ReturnsA pointer to the node as the given type, or nullptr if it was a different type.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::node_view::is() const noexcept +

                                                                                                                              +

                                                                                                                              Checks if this view references a node of a specific type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TA TOML node or value type.
                                                                                                                              ReturnsReturns true if the viewed node is an instance of the specified type.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + bool toml::node_view::is_homogeneous(node_type ntype, + viewed_type*& first_nonmatch) const noexcept +

                                                                                                                              +

                                                                                                                              Checks if the viewed node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              first_nonmatchReference to a pointer in which the address of the first non-matching element will be stored if the return value is false.
                                                                                                                              ReturnsTrue if the viewed node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]");
                                                                                                                              +
                                                                                                                              +toml::node* nonmatch{};
                                                                                                                              +if (cfg["arr"].is_homogeneous(toml::node_type::integer, nonmatch))
                                                                                                                              +    std::cout << "array was homogeneous"sv << "\n";
                                                                                                                              +else
                                                                                                                              +    std::cout << "array was not homogeneous!\n"
                                                                                                                              +    << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
                                                                                                                              array was not homogeneous!
                                                                                                                              +first non-match was a floating-point at line 1, column 18
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + bool toml::node_view::is_homogeneous(node_type ntype) const noexcept +

                                                                                                                              +

                                                                                                                              Checks if the viewed node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              ReturnsTrue if the viewed node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3 ]");
                                                                                                                              +std::cout << "homogenous: "sv << cfg["arr"].is_homogeneous(toml::node_type::none) << "\n";
                                                                                                                              +std::cout << "all floats: "sv << cfg["arr"].is_homogeneous(toml::node_type::floating_point) << "\n";
                                                                                                                              +std::cout << "all arrays: "sv << cfg["arr"].is_homogeneous(toml::node_type::array) << "\n";
                                                                                                                              +std::cout << "all ints:   "sv << cfg["arr"].is_homogeneous(toml::node_type::integer) << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename ElemType = void> +
                                                                                                                              + bool toml::node_view::is_homogeneous() const noexcept +

                                                                                                                              +

                                                                                                                              Checks if the viewed node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypeA TOML node or value type.
                                                                                                                              Left as void: "is every element the same type?"
                                                                                                                              Explicitly specified: "is every element a T?"
                                                                                                                              ReturnsTrue if the viewed node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3 ]");
                                                                                                                              +std::cout << "homogenous:   "sv << cfg["arr"].is_homogeneous() << "\n";
                                                                                                                              +std::cout << "all doubles:  "sv << cfg["arr"].is_homogeneous<double>() << "\n";
                                                                                                                              +std::cout << "all arrays:   "sv << cfg["arr"].is_homogeneous<toml::array>() << "\n";
                                                                                                                              +std::cout << "all integers: "sv << cfg["arr"].is_homogeneous<int64_t>() << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + decltype(auto) toml::node_view::ref() const noexcept +

                                                                                                                              +

                                                                                                                              Gets a raw reference to the viewed node's underlying data.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the TOML value types.
                                                                                                                              ReturnsA reference to the underlying data.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + optional<T> toml::node_view::value() const noexcept +

                                                                                                                              +

                                                                                                                              Gets the value contained by the referenced node.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the native TOML value types, or a type capable of convertible to one.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or convertible to it) and within the range of the output type, or an empty optional.
                                                                                                                              +

                                                                                                                              This function has 'permissive' retrieval semantics; some value types are allowed to convert to others (e.g. retrieving a boolean as an integer), and the specified return value type can be any type where a reasonable conversion from a native TOML value exists (e.g. std::wstring on Windows). If the source value cannot be represented by the destination type, an empty optional is returned. See node::value() for examples.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + optional<T> toml::node_view::value_exact() const noexcept +

                                                                                                                              +

                                                                                                                              Gets the value contained by the referenced node.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the native TOML value types, or a type capable of losslessly representing one.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or losslessly convertible to it), or an empty optional.
                                                                                                                              +

                                                                                                                              This function has 'exact' retrieval semantics; the only return value types allowed are the TOML native value types, or types that can losslessly represent a native value type (e.g. std::wstring on Windows).

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + auto toml::node_view::value_or(T&& default_value) const noexcept +

                                                                                                                              +

                                                                                                                              Gets the raw value contained by the referenced node, or a default.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TDefault value type. Must be one of the native TOML value types, or convertible to it.
                                                                                                                              Parameters
                                                                                                                              default_valueThe default value to return if the node wasn't a value, wasn't the correct type, or no conversion was possible.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or convertible to it) and within the range of the output type, or the provided default.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename Func> +
                                                                                                                              + decltype(auto) toml::node_view::visit(Func&& visitor) const noexcept(…) +

                                                                                                                              +

                                                                                                                              Invokes a visitor on the viewed node based on its concrete type.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.5.0/classtoml_1_1parse__error.html b/v2.5.0/classtoml_1_1parse__error.html new file mode 100644 index 00000000..23b2c7a4 --- /dev/null +++ b/v2.5.0/classtoml_1_1parse__error.html @@ -0,0 +1,157 @@ + + + + toml::parse_error class | toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::parse_error class final +

                                                                                                                              +

                                                                                                                              An error generated when parsing fails.

                                                                                                                              + + +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto description() const -> std::string_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a textual description of the error.
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the region of the source document responsible for the error.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::string_view toml::parse_error::description() const noexcept +

                                                                                                                              +

                                                                                                                              Returns a textual description of the error.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.5.0/classtoml_1_1parse__result.html b/v2.5.0/classtoml_1_1parse__result.html new file mode 100644 index 00000000..3699ad04 --- /dev/null +++ b/v2.5.0/classtoml_1_1parse__result.html @@ -0,0 +1,436 @@ + + + + toml::parse_result class | toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::parse_result class +

                                                                                                                              +

                                                                                                                              The result of a parsing operation.

                                                                                                                              + +

                                                                                                                              A parse_result is effectively a discriminated union containing either a toml::table or a toml::parse_error. Most member functions assume a particular one of these two states, and calling them when in the wrong state will cause errors (e.g. attempting to access the error object when parsing was successful).

                                                                                                                              parse_result result = toml::parse_file("config.toml");
                                                                                                                              +if (result)
                                                                                                                              +    do_stuff_with_a_table(result); //implicitly converts to table&
                                                                                                                              +else
                                                                                                                              +    std::cerr << "Parse failed:\n"sv << result.error() << "\n";
                                                                                                                              example output:
                                                                                                                              +
                                                                                                                              +Parse failed:
                                                                                                                              +Encountered unexpected character while parsing boolean; expected 'true', saw 'trU'
                                                                                                                              +    (error occurred at line 1, column 13 of 'config.toml')

                                                                                                                              Getting node_views (operator[]) and using the iterator accessor functions (begin(), end() etc.) are unconditionally safe; when parsing fails these just return 'empty' values. A ranged-for loop on a failed parse_result is also safe since begin() and end() return the same iterator and will not lead to any dereferences and iterations.

                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public types

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using const_iterator = const_table_iterator +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over const key-value pairs in a wrapped toml::table.
                                                                                                                              +
                                                                                                                              + using iterator = table_iterator +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over key-value pairs in a wrapped toml::table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + operator bool() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns true if parsing succeeded.
                                                                                                                              +
                                                                                                                              + operator const parse_error&() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error (const lvalue overload).
                                                                                                                              +
                                                                                                                              + operator const toml::table&() const noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table (const lvalue overload).
                                                                                                                              +
                                                                                                                              + operator parse_error&() explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error.
                                                                                                                              +
                                                                                                                              + operator parse_error&&() explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error (rvalue overload).
                                                                                                                              +
                                                                                                                              + operator toml::table&() noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table.
                                                                                                                              +
                                                                                                                              + operator toml::table&&() noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table (rvalue overload).
                                                                                                                              +
                                                                                                                              + parse_result(parse_result&& res) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              + ~parse_result() noexcept +
                                                                                                                              +
                                                                                                                              Destructor.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto begin() -> table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto begin() const -> const_table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto cbegin() const -> const_table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto cend() const -> const_table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto end() -> table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto end() const -> const_table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto error() & -> parse_error& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error.
                                                                                                                              +
                                                                                                                              + auto error() && -> parse_error&& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto error() const & -> const parse_error& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error (const lvalue overload).
                                                                                                                              +
                                                                                                                              + auto failed() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if parsing failed.
                                                                                                                              +
                                                                                                                              + auto operator=(parse_result&& rhs) -> parse_result& noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator[](string_view key) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto operator[](string_view key) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table (const overload).
                                                                                                                              +
                                                                                                                              + auto operator[](std::wstring_view key) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto operator[](std::wstring_view key) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table (const overload).
                                                                                                                              +
                                                                                                                              + auto succeeded() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if parsing succeeeded.
                                                                                                                              +
                                                                                                                              + auto table() & -> toml::table& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table.
                                                                                                                              +
                                                                                                                              + auto table() && -> toml::table&& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto table() const & -> const toml::table& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char>
                                                                                                                              + auto operator<<(std::basic_ostream<Char>& os, + const parse_result& result) -> std::basic_ostream<Char>& +
                                                                                                                              +
                                                                                                                              Prints the held error or table object out to a text stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + table_iterator toml::parse_result::begin() noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_table_iterator toml::parse_result::begin() const noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_table_iterator toml::parse_result::cbegin() const noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_table_iterator toml::parse_result::cend() const noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to one-past-the-last key-value pair in the wrapped table.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + table_iterator toml::parse_result::end() noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to one-past-the-last key-value pair in the wrapped table.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_table_iterator toml::parse_result::end() const noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to one-past-the-last key-value pair in the wrapped table.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::parse_result::operator[](string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if parsing was successful and a matching key existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::parse_result::operator[](string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if parsing was successful and a matching key existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::parse_result::operator[](std::wstring_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if parsing was successful and a matching key existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::parse_result::operator[](std::wstring_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if parsing was successful and a matching key existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.5.0/classtoml_1_1table.html b/v2.5.0/classtoml_1_1table.html new file mode 100644 index 00000000..39273496 --- /dev/null +++ b/v2.5.0/classtoml_1_1table.html @@ -0,0 +1,1682 @@ + + + + toml::table class | toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::table class final +

                                                                                                                              +

                                                                                                                              A TOML table.

                                                                                                                              + + +
                                                                                                                              +

                                                                                                                              Base classes

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + class node +
                                                                                                                              +
                                                                                                                              A TOML node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public types

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using const_iterator = const_table_iterator +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over const key-value pairs in a toml::table.
                                                                                                                              +
                                                                                                                              + using iterator = table_iterator +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over key-value pairs in a toml::table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + table() noexcept +
                                                                                                                              +
                                                                                                                              Default constructor.
                                                                                                                              +
                                                                                                                              + table(const table&) noexcept +
                                                                                                                              +
                                                                                                                              Copy constructor.
                                                                                                                              +
                                                                                                                              + table(table&& other) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <size_t N>
                                                                                                                              + table(impl::table_init_pair( && arr)[N]) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a table with one or more initial key-value pairs.
                                                                                                                              +
                                                                                                                              + ~table() override noexcept +
                                                                                                                              +
                                                                                                                              Destructor.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator=(const table&) -> table& noexcept +
                                                                                                                              +
                                                                                                                              Copy-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(table&& rhs) -> table& noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const table& lhs, + const table& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char>
                                                                                                                              + auto operator<<(std::basic_ostream<Char>&, + const table&) -> std::basic_ostream<Char>& +
                                                                                                                              +
                                                                                                                              Prints the table out to a stream as formatted TOML.
                                                                                                                              +
                                                                                                                              + auto operator==(const table& lhs, + const table& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Metadata

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto is_inline() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this table is an inline table.
                                                                                                                              +
                                                                                                                              + void is_inline(bool val) noexcept +
                                                                                                                              +
                                                                                                                              Sets whether this table is a TOML inline table.
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the source region responsible for generating this node during parsing.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Node views

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + operator node_view<const node>() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node (const overload).
                                                                                                                              +
                                                                                                                              + operator node_view<node>() explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node.
                                                                                                                              +
                                                                                                                              + auto operator[](std::string_view key) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected key-value pair.
                                                                                                                              +
                                                                                                                              + auto operator[](std::string_view key) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected key-value pair (const overload).
                                                                                                                              +
                                                                                                                              + auto operator[](std::wstring_view key) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected key-value pair.
                                                                                                                              +
                                                                                                                              + auto operator[](std::wstring_view key) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected key-value pair (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Table operations

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto begin() -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair.
                                                                                                                              +
                                                                                                                              + auto begin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair.
                                                                                                                              +
                                                                                                                              + auto cbegin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair.
                                                                                                                              +
                                                                                                                              + auto cend() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair.
                                                                                                                              +
                                                                                                                              + void clear() noexcept +
                                                                                                                              +
                                                                                                                              Removes all key-value pairs from the table.
                                                                                                                              +
                                                                                                                              + auto contains(std::string_view key) const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the table contains a node at the given key.
                                                                                                                              +
                                                                                                                              + auto contains(std::wstring_view key) const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the table contains a node at the given key.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ValueType, typename KeyType, typename... ValueArgs>
                                                                                                                              + auto emplace(KeyType&& key, + ValueArgs && ... args) -> std::pair<iterator, bool> noexcept +
                                                                                                                              +
                                                                                                                              Emplaces a new value at a specific key if one did not already exist.
                                                                                                                              +
                                                                                                                              + auto empty() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the table is empty.
                                                                                                                              +
                                                                                                                              + auto end() -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair.
                                                                                                                              +
                                                                                                                              + auto end() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair.
                                                                                                                              +
                                                                                                                              + auto erase(iterator pos) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Removes the specified key-value pair from the table.
                                                                                                                              +
                                                                                                                              + auto erase(const_iterator pos) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Removes the specified key-value pair from the table (const iterator overload).
                                                                                                                              +
                                                                                                                              + auto erase(const_iterator first, + const_iterator last) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Removes the key-value pairs in the range [first, last) from the table.
                                                                                                                              +
                                                                                                                              + auto erase(std::string_view key) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Removes the value with the given key from the table.
                                                                                                                              +
                                                                                                                              + auto erase(std::wstring_view key) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Removes the value with the given key from the table.
                                                                                                                              +
                                                                                                                              + auto find(std::string_view key) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Gets an iterator to the node at a specific key.
                                                                                                                              +
                                                                                                                              + auto find(std::string_view key) const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Gets an iterator to the node at a specific key (const overload)
                                                                                                                              +
                                                                                                                              + auto find(std::wstring_view key) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Gets an iterator to the node at a specific key.
                                                                                                                              +
                                                                                                                              + auto find(std::wstring_view key) const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Gets an iterator to the node at a specific key (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename KeyType, typename ValueType, typename = std::enable_if_t< std::is_convertible_v<KeyType && , std::string_view> || impl::is_wide_string<KeyType> >>
                                                                                                                              + auto insert(KeyType&& key, + ValueType&& val) -> std::pair<iterator, bool> noexcept +
                                                                                                                              +
                                                                                                                              Inserts a new value at a specific key if one did not already exist.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Iter, typename = std::enable_if_t< !std::is_convertible_v<Iter, std::string_view> && !impl::is_wide_string<Iter> >>
                                                                                                                              + void insert(Iter first, + Iter last) noexcept +
                                                                                                                              +
                                                                                                                              Inserts a series of key-value pairs into the table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename KeyType, typename ValueType>
                                                                                                                              + auto insert_or_assign(KeyType&& key, + ValueType&& val) -> std::pair<iterator, bool> noexcept +
                                                                                                                              +
                                                                                                                              Inserts or assigns a value at a specific key.
                                                                                                                              +
                                                                                                                              + auto size() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the number of key-value pairs in the table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type casts

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() -> impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() const -> const impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type (const overload).
                                                                                                                              +
                                                                                                                              + auto as_array() -> array* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::array, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_boolean() -> toml::value<bool>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<bool>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date() -> toml::value<date>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<date>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date_time() -> toml::value<date_time>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<date_time>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() -> toml::value<double>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<double>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_integer() -> toml::value<int64_t>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<int64_t>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_string() -> toml::value<std::string>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<string>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_table() -> table* override noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::table, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_time() -> toml::value<time>* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<time>, if it is one.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type checks

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto is() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node is a specific type.
                                                                                                                              +
                                                                                                                              + auto is_array() const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an array.
                                                                                                                              +
                                                                                                                              + auto is_array_of_tables() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an array containing only tables.
                                                                                                                              +
                                                                                                                              + auto is_boolean() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a boolean value.
                                                                                                                              +
                                                                                                                              + auto is_date() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a local date value.
                                                                                                                              +
                                                                                                                              + auto is_date_time() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a date-time value.
                                                                                                                              +
                                                                                                                              + auto is_floating_point() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an floating-point value.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype) const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + node*& first_nonmatch) -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + const node*& first_nonmatch) const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type (const overload).
                                                                                                                              +
                                                                                                                              + auto is_integer() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an integer value.
                                                                                                                              +
                                                                                                                              + auto is_number() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an integer or floating-point value.
                                                                                                                              +
                                                                                                                              + auto is_string() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a string value.
                                                                                                                              +
                                                                                                                              + auto is_table() const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a table.
                                                                                                                              +
                                                                                                                              + auto is_time() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a local time value.
                                                                                                                              +
                                                                                                                              + auto is_value() const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a value.
                                                                                                                              +
                                                                                                                              + auto type() const -> node_type override noexcept +
                                                                                                                              +
                                                                                                                              Returns the node's type identifier.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Value retrieval

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto get(std::string_view key) -> node* noexcept +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key.
                                                                                                                              +
                                                                                                                              + auto get(std::string_view key) const -> const node* noexcept +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key (const overload).
                                                                                                                              +
                                                                                                                              + auto get(std::wstring_view key) -> node* noexcept +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key.
                                                                                                                              +
                                                                                                                              + auto get(std::wstring_view key) const -> const node* noexcept +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ValueType>
                                                                                                                              + auto get_as(std::string_view key) -> impl::wrap_node<ValueType>* noexcept +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key if it is a particular type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ValueType>
                                                                                                                              + auto get_as(std::string_view key) const -> const impl::wrap_node<ValueType>* noexcept +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key if it is a particular type (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ValueType>
                                                                                                                              + auto get_as(std::wstring_view key) -> impl::wrap_node<ValueType>* noexcept +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key if it is a particular type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ValueType>
                                                                                                                              + auto get_as(std::wstring_view key) const -> const impl::wrap_node<ValueType>* noexcept +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key if it is a particular type (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() & -> impl::unwrap_node<T>& noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a value node's underlying data.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() && -> impl::unwrap_node<T>&& noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a value node's underlying data (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const & -> const impl::unwrap_node<T>& noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a value node's underlying data (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value() const -> optional<T> noexcept +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_exact() const -> optional<T> noexcept +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_or(T&& default_value) const -> auto noexcept +
                                                                                                                              +
                                                                                                                              Gets the raw value contained by this node, or a default.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Visitation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <size_t N> +
                                                                                                                              + toml::table::table(impl::table_init_pair( && arr)[N]) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a table with one or more initial key-value pairs.

                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              NNumber of key-value pairs used to initialize the table.
                                                                                                                              Parameters
                                                                                                                              arrAn array of key-value pairs used to initialize the table.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{{ // double braces required :( - see remark
                                                                                                                              +    { "foo", 1 },
                                                                                                                              +    { "bar", 2.0 },
                                                                                                                              +    { "kek", "three" }
                                                                                                                              +}};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { foo = 1, bar = 2.0, kek = "three" }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::operator!=(const table& lhs, + const table& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Inequality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS table.
                                                                                                                              rhsThe RHS table.
                                                                                                                              ReturnsTrue if the tables did not contain the same keys and map.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::operator==(const table& lhs, + const table& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Equality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS table.
                                                                                                                              rhsThe RHS table.
                                                                                                                              ReturnsTrue if the tables contained the same keys and map.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::is_inline() const noexcept +

                                                                                                                              +

                                                                                                                              Returns true if this table is an inline table.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + void toml::table::is_inline(bool val) noexcept +

                                                                                                                              +

                                                                                                                              Sets whether this table is a TOML inline table.

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              valThe new value for 'inline'.
                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto tbl = toml::table{{ + { "a", 1 }, + { "b", 2 }, + { "c", 3 }, + { "d", toml::table{{ { "e", 4 } }} } +}}; +std::cout << "is inline? "sv << tbl.is_inline() << "\n"; +std::cout << tbl << "\n\n"; + +tbl.is_inline(!tbl.is_inline()); +std::cout << "is inline? "sv << tbl.is_inline() << "\n"; +std::cout << tbl << "\n";
                                                                                                                              is inline? false
                                                                                                                              +a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +
                                                                                                                              +[d]
                                                                                                                              +e = 4
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +is inline? true
                                                                                                                              +{ a = 1, b = 2, c = 3, d = { e = 4 } }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::table::operator[](std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected key-value pair.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if one existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::table::operator[](std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected key-value pair (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if one existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::table::operator[](std::wstring_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected key-value pair.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if one existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::table::operator[](std::wstring_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected key-value pair (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if one existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::contains(std::wstring_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Returns true if the table contains a node at the given key.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType, typename KeyType, typename... ValueArgs> +
                                                                                                                              + std::pair<iterator, bool> toml::table::emplace(KeyType&& key, + ValueArgs && ... args) noexcept +

                                                                                                                              +

                                                                                                                              Emplaces a new value at a specific key if one did not already exist.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ValueTypetoml::table, toml::array, or any native TOML value type.
                                                                                                                              KeyTypestd::string (or a type convertible to it).
                                                                                                                              ValueArgsValue constructor argument types.
                                                                                                                              Parameters
                                                                                                                              keyThe key at which to emplace the new value.
                                                                                                                              argsArguments to forward to the value's constructor.
                                                                                                                              Returns

                                                                                                                              A std::pair containing:

                                                                                                                              • An iterator to the emplacement position (or the position of the value that prevented emplacement)
                                                                                                                              • A boolean indicating if the emplacement was successful.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{{
                                                                                                                              +    { "a", 1 },
                                                                                                                              +    { "b", 2 },
                                                                                                                              +    { "c", 3 }
                                                                                                                              +}};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +
                                                                                                                              +for (auto k : { "a", "d" })
                                                                                                                              +{
                                                                                                                              +    // add a string using std::string's substring constructor
                                                                                                                              +    auto result = tbl.emplace<std::string>(k, "this is not a drill"sv, 14, 5);
                                                                                                                              +    std::cout << "emplaced with key '"sv << k << "': "sv << result.second << "\n";
                                                                                                                              +}
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { a = 1, b = 2, c = 3 }
                                                                                                                              +emplaced with key 'a': false
                                                                                                                              +emplaced with key 'd': true
                                                                                                                              +{ a = 1, b = 2, c = 3, d = "drill" }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::erase(iterator pos) noexcept +

                                                                                                                              +

                                                                                                                              Removes the specified key-value pair from the table.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              posIterator to the key-value pair being erased.
                                                                                                                              ReturnsIterator to the first key-value pair immediately following the removed key-value pair.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{{
                                                                                                                              +    { "a", 1 },
                                                                                                                              +    { "b", 2 },
                                                                                                                              +    { "c", 3 }
                                                                                                                              +}};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +
                                                                                                                              +tbl.erase(tbl.begin() + 1);
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { a = 1, b = 2, c = 3 }
                                                                                                                              +{ a = 1, c = 3 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::erase(const_iterator pos) noexcept +

                                                                                                                              +

                                                                                                                              Removes the specified key-value pair from the table (const iterator overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              posIterator to the key-value pair being erased.
                                                                                                                              ReturnsIterator to the first key-value pair immediately following the removed key-value pair.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{{
                                                                                                                              +    { "a", 1 },
                                                                                                                              +    { "b", 2 },
                                                                                                                              +    { "c", 3 }
                                                                                                                              +}};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +
                                                                                                                              +tbl.erase(tbl.cbegin() + 1);
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { a = 1, b = 2, c = 3 }
                                                                                                                              +{ a = 1, c = 3 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::erase(const_iterator first, + const_iterator last) noexcept +

                                                                                                                              +

                                                                                                                              Removes the key-value pairs in the range [first, last) from the table.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              firstIterator to the first key-value pair being erased.
                                                                                                                              lastIterator to the one-past-the-last key-value pair being erased.
                                                                                                                              ReturnsIterator to the first key-value pair immediately following the last removed key-value pair.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{{
                                                                                                                              +    { "a", 1 },
                                                                                                                              +    { "b", "bad" },
                                                                                                                              +    { "c", "karma" },
                                                                                                                              +    { "d", 2 }
                                                                                                                              +}};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +
                                                                                                                              +tbl.erase(tbl.cbegin() + 1, tbl.cbegin() + 3);
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { a = 1, b = "bad", c = "karma", d = 2 }
                                                                                                                              +{ a = 1, d = 2 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::erase(std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Removes the value with the given key from the table.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyKey to erase.
                                                                                                                              ReturnsTrue if any values with matching keys were found and erased.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{{
                                                                                                                              +    { "a", 1 },
                                                                                                                              +    { "b", 2 },
                                                                                                                              +    { "c", 3 }
                                                                                                                              +}};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +
                                                                                                                              +std::cout << tbl.erase("b") << "\n";
                                                                                                                              +std::cout << tbl.erase("not an existing key") << "\n";
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { a = 1, b = 2, c = 3 }
                                                                                                                              +true
                                                                                                                              +false
                                                                                                                              +{ a = 1, c = 3 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::erase(std::wstring_view key) noexcept +

                                                                                                                              +

                                                                                                                              Removes the value with the given key from the table.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyKey to erase.
                                                                                                                              ReturnsTrue if any values with matching keys were found and erased.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::find(std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets an iterator to the node at a specific key.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsAn iterator to the node at the specified key, or end().
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_iterator toml::table::find(std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets an iterator to the node at a specific key (const overload)

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA const iterator to the node at the specified key, or cend().
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::find(std::wstring_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets an iterator to the node at a specific key.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsAn iterator to the node at the specified key, or end().
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_iterator toml::table::find(std::wstring_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets an iterator to the node at a specific key (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA const iterator to the node at the specified key, or cend().
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename KeyType, typename ValueType, typename = std::enable_if_t< std::is_convertible_v<KeyType && , std::string_view> || impl::is_wide_string<KeyType> >> +
                                                                                                                              + std::pair<iterator, bool> toml::table::insert(KeyType&& key, + ValueType&& val) noexcept +

                                                                                                                              +

                                                                                                                              Inserts a new value at a specific key if one did not already exist.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              KeyTypestd::string (or a type convertible to it).
                                                                                                                              ValueTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              keyThe key at which to insert the new value.
                                                                                                                              valThe new value to insert.
                                                                                                                              Returns

                                                                                                                              Valid input:

                                                                                                                              • An iterator to the insertion position (or the position of the value that prevented insertion)
                                                                                                                              • A boolean indicating if the insertion was successful.
                                                                                                                              +

                                                                                                                              Input is an empty toml::node_view: + { end(), false }

                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto tbl = toml::table{{ + { "a", 1 }, + { "b", 2 }, + { "c", 3 } +}}; +std::cout << tbl << "\n"; + +for (auto k : { "a", "d" }) +{ + auto result = tbl.insert(k, 42); + std::cout << "inserted with key '"sv << k << "': "sv << result.second << "\n"; +} +std::cout << tbl << "\n";
                                                                                                                              a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +
                                                                                                                              +inserted with key 'a': false
                                                                                                                              +inserted with key 'd': true
                                                                                                                              +a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +d = 42
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Iter, typename = std::enable_if_t< !std::is_convertible_v<Iter, std::string_view> && !impl::is_wide_string<Iter> >> +
                                                                                                                              + void toml::table::insert(Iter first, + Iter last) noexcept +

                                                                                                                              +

                                                                                                                              Inserts a series of key-value pairs into the table.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              IterAn InputIterator to a collection of key-value pairs.
                                                                                                                              Parameters
                                                                                                                              firstAn iterator to the first value in the input collection.
                                                                                                                              lastAn iterator to one-past-the-last value in the input collection.
                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto tbl = toml::table{{ + { "a", 1 }, + { "b", 2 }, + { "c", 3 } +}}; +std::cout << tbl << "\n"; + +auto kvps = std::array<std::pair<std::string, int>, 2>{{ + { "d", 42 }, + { "a", 43 } // won't be inserted, 'a' already exists +}}; +tbl.insert(kvps.begin(), kvps.end()); +std::cout << tbl << "\n";
                                                                                                                              a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +
                                                                                                                              +a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +d = 42
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename KeyType, typename ValueType> +
                                                                                                                              + std::pair<iterator, bool> toml::table::insert_or_assign(KeyType&& key, + ValueType&& val) noexcept +

                                                                                                                              +

                                                                                                                              Inserts or assigns a value at a specific key.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              KeyTypestd::string (or a type convertible to it).
                                                                                                                              ValueTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              keyThe key at which to insert or assign the value.
                                                                                                                              valThe value to insert/assign.
                                                                                                                              Returns

                                                                                                                              Valid input:

                                                                                                                              • An iterator to the value's position
                                                                                                                              • true if the value was inserted, false if it was assigned.
                                                                                                                              +

                                                                                                                              Input is an empty toml::node_view: + { end(), false }

                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto tbl = toml::table{{ + { "a", 1 }, + { "b", 2 }, + { "c", 3 } +}}; +std::cout << tbl << "\n"; + +for (auto k : { "a", "d" }) +{ + auto result = tbl.insert_or_assign(k, 42); + std::cout << "value at key '"sv << k + << "' was "sv << (result.second ? "inserted"sv : "assigned"sv) << "\n"; +} +std::cout << tbl << "\n";
                                                                                                                              a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +
                                                                                                                              +value at key 'a' was assigned
                                                                                                                              +value at key 'd' was inserted
                                                                                                                              +a = 42
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +d = 42
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::is_homogeneous(node_type ntype) const override noexcept +

                                                                                                                              +

                                                                                                                              Checks if the node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << "homogenous: "sv << arr.is_homogeneous(toml::node_type::none) << "\n";
                                                                                                                              +std::cout << "all floats: "sv << arr.is_homogeneous(toml::node_type::floating_point) << "\n";
                                                                                                                              +std::cout << "all arrays: "sv << arr.is_homogeneous(toml::node_type::array) << "\n";
                                                                                                                              +std::cout << "all ints:   "sv << arr.is_homogeneous(toml::node_type::integer) << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::is_homogeneous(node_type ntype, + node*& first_nonmatch) override noexcept +

                                                                                                                              +

                                                                                                                              Checks if a node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              first_nonmatchReference to a pointer in which the address of the first non-matching element will be stored if the return value is false.
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]");
                                                                                                                              +toml::array& arr = *cfg["arr"].as_array();
                                                                                                                              +
                                                                                                                              +toml::node* nonmatch{};
                                                                                                                              +if (arr.is_homogeneous(toml::node_type::integer, nonmatch))
                                                                                                                              +    std::cout << "array was homogeneous"sv << "\n";
                                                                                                                              +else
                                                                                                                              +    std::cout << "array was not homogeneous!\n"
                                                                                                                              +    << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
                                                                                                                              array was not homogeneous!
                                                                                                                              +first non-match was a floating-point at line 1, column 18
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node* toml::table::get(std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key, or nullptr.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{{
                                                                                                                              +    { "a", 42, },
                                                                                                                              +    { "b", "is the meaning of life, apparently." }
                                                                                                                              +}};
                                                                                                                              +std::cout << R"(node ["a"] exists: )"sv << !!arr.get("a") << "\n";
                                                                                                                              +std::cout << R"(node ["b"] exists: )"sv << !!arr.get("b") << "\n";
                                                                                                                              +std::cout << R"(node ["c"] exists: )"sv << !!arr.get("c") << "\n";
                                                                                                                              +if (auto val = arr.get("a"))
                                                                                                                              +    std::cout << R"(node ["a"] was an )"sv << val->type() << "\n";
                                                                                                                              node ["a"] exists: true
                                                                                                                              +node ["b"] exists: true
                                                                                                                              +node ["c"] exists: false
                                                                                                                              +node ["a"] was an integer
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const node* toml::table::get(std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key, or nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node* toml::table::get(std::wstring_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key, or nullptr.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const node* toml::table::get(std::wstring_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key, or nullptr.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + impl::wrap_node<ValueType>* toml::table::get_as(std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key if it is a particular type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ValueTypeOne of the TOML node or value types.
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key if it was of the given type, or nullptr.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{{
                                                                                                                              +    { "a", 42, },
                                                                                                                              +    { "b", "is the meaning of life, apparently." }
                                                                                                                              +}};
                                                                                                                              +if (auto val = arr.get_as<int64_t>("a"))
                                                                                                                              +    std::cout << R"(node ["a"] was an integer with value )"sv << **val << "\n";
                                                                                                                              node ["a"] was an integer with value 42
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + const impl::wrap_node<ValueType>* toml::table::get_as(std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key if it is a particular type (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ValueTypeOne of the TOML node or value types.
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key if it was of the given type, or nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + impl::wrap_node<ValueType>* toml::table::get_as(std::wstring_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key if it is a particular type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ValueTypeOne of the TOML node or value types.
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key if it was of the given type, or nullptr.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + const impl::wrap_node<ValueType>* toml::table::get_as(std::wstring_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key if it is a particular type (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ValueTypeOne of the TOML node or value types.
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key if it was of the given type, or nullptr.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.5.0/classtoml_1_1value.html b/v2.5.0/classtoml_1_1value.html new file mode 100644 index 00000000..220c537e --- /dev/null +++ b/v2.5.0/classtoml_1_1value.html @@ -0,0 +1,920 @@ + + + + toml::value class | toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              template <typename ValueType>
                                                                                                                              + toml::value class final +

                                                                                                                              +

                                                                                                                              A TOML value.

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ValueType

                                                                                                                              The value's native TOML data type. Can be one of:

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Base classes

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + class node +
                                                                                                                              +
                                                                                                                              A TOML node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public types

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using value_arg = std::conditional_t<std::is_same_v<value_type, std::string>, std::string_view, std::conditional_t<impl::is_one_of<value_type, double, int64_t, bool>, value_type, const value_type&>> +
                                                                                                                              +
                                                                                                                              A type alias for 'value arguments'.
                                                                                                                              +
                                                                                                                              + using value_type = ValueType +
                                                                                                                              +
                                                                                                                              The value's underlying data type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename... Args>
                                                                                                                              + value(Args && ... args) explicit noexcept(…) +
                                                                                                                              +
                                                                                                                              Constructs a toml value.
                                                                                                                              +
                                                                                                                              + value(const value& other) noexcept +
                                                                                                                              +
                                                                                                                              Copy constructor.
                                                                                                                              +
                                                                                                                              + value(value&& other) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator=(const value& rhs) -> value& noexcept +
                                                                                                                              +
                                                                                                                              Copy-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(value&& rhs) -> value& noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(value_arg rhs) -> value& noexcept +
                                                                                                                              +
                                                                                                                              Value-assignment operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator!=(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(const value& lhs, + value_arg rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<(value_arg lhs, + const value& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value less-than operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator<(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<=(const value& lhs, + value_arg rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator<=(value_arg lhs, + const value& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator<=(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const value& lhs, + value_arg rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value equality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(const value& lhs, + value_arg rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>(value_arg lhs, + const value& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value greater-than operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator>(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(const value& lhs, + value_arg rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(value_arg lhs, + const value& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator>=(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Metadata

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto flags() const -> value_flags noexcept +
                                                                                                                              +
                                                                                                                              Returns the metadata flags associated with this value.
                                                                                                                              +
                                                                                                                              + auto flags(value_flags new_flags) -> value& noexcept +
                                                                                                                              +
                                                                                                                              Sets the metadata flags associated with this value.
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the source region responsible for generating this node during parsing.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Node views

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + operator node_view<const node>() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node (const overload).
                                                                                                                              +
                                                                                                                              + operator node_view<node>() explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type casts

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() -> impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() const -> const impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type (const overload).
                                                                                                                              +
                                                                                                                              + auto as_array() -> array* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::array, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_boolean() -> value<bool>* override noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<bool>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date() -> value<date>* override noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<date>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date_time() -> value<date_time>* override noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<date_time>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() -> value<double>* override noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<double>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_integer() -> value<int64_t>* override noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<int64_t>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_string() -> value<std::string>* override noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<string>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_table() -> table* virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::table, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_time() -> value<time>* override noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<time>, if it is one.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type checks

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto is() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node is a specific type.
                                                                                                                              +
                                                                                                                              + auto is_array() const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an array.
                                                                                                                              +
                                                                                                                              + auto is_array_of_tables() const -> bool virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an array containing only tables.
                                                                                                                              +
                                                                                                                              + auto is_boolean() const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a boolean value.
                                                                                                                              +
                                                                                                                              + auto is_date() const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a local date value.
                                                                                                                              +
                                                                                                                              + auto is_date_time() const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a date-time value.
                                                                                                                              +
                                                                                                                              + auto is_floating_point() const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an floating-point value.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype) const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + toml::node*& first_nonmatch) -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + const toml::node*& first_nonmatch) const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type (const overload).
                                                                                                                              +
                                                                                                                              + auto is_integer() const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an integer value.
                                                                                                                              +
                                                                                                                              + auto is_number() const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an integer or floating-point value.
                                                                                                                              +
                                                                                                                              + auto is_string() const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a string value.
                                                                                                                              +
                                                                                                                              + auto is_table() const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a table.
                                                                                                                              +
                                                                                                                              + auto is_time() const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a local time value.
                                                                                                                              +
                                                                                                                              + auto is_value() const -> bool override noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a value.
                                                                                                                              +
                                                                                                                              + auto type() const -> node_type override noexcept +
                                                                                                                              +
                                                                                                                              Returns the value's node type identifier.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Value retrieval

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto get() & -> value_type& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value.
                                                                                                                              +
                                                                                                                              + auto get() && -> value_type&& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto get() const & -> const value_type& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const overload).
                                                                                                                              +
                                                                                                                              + operator const value_type&() const & explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const overload).
                                                                                                                              +
                                                                                                                              + operator value_type&() & explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value.
                                                                                                                              +
                                                                                                                              + operator value_type&&() && explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto operator*() & -> value_type& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value.
                                                                                                                              +
                                                                                                                              + auto operator*() && -> value_type&& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto operator*() const & -> const value_type& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() & -> impl::unwrap_node<T>& noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a value node's underlying data.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() && -> impl::unwrap_node<T>&& noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a value node's underlying data (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const & -> const impl::unwrap_node<T>& noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a value node's underlying data (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value() const -> optional<T> noexcept +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_exact() const -> optional<T> noexcept +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_or(T&& default_value) const -> auto noexcept +
                                                                                                                              +
                                                                                                                              Gets the raw value contained by this node, or a default.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Visitation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char, typename T>
                                                                                                                              + auto operator<<(std::basic_ostream<Char>& lhs, + const value<T>& rhs) -> std::basic_ostream<Char>& +
                                                                                                                              +
                                                                                                                              Prints the value out to a stream as formatted TOML.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Typedef documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + using toml::value::value_arg = std::conditional_t<std::is_same_v<value_type, std::string>, std::string_view, std::conditional_t<impl::is_one_of<value_type, double, int64_t, bool>, value_type, const value_type&>> +

                                                                                                                              +

                                                                                                                              A type alias for 'value arguments'.

                                                                                                                              +

                                                                                                                              This differs according to the value's type argument:

                                                                                                                              • ints, floats, booleans: value_type
                                                                                                                              • strings: string_view
                                                                                                                              • everything else: const value_type&
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename... Args> +
                                                                                                                              + toml::value::value(Args && ... args) explicit noexcept(…) +

                                                                                                                              +

                                                                                                                              Constructs a toml value.

                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ArgsConstructor argument types.
                                                                                                                              Parameters
                                                                                                                              argsArguments to forward to the internal value's constructor.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator!=(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Inequality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS value.
                                                                                                                              rhsThe RHS value.
                                                                                                                              ReturnsTrue if the values were not of the same type, or did not contain the same value.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator<(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Less-than operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS toml::value.
                                                                                                                              rhsThe RHS toml::value.
                                                                                                                              ReturnsSame value types: + lhs.get() < rhs.get()Different value types: + lhs.type() < rhs.type()
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator<=(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Less-than-or-equal-to operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS toml::value.
                                                                                                                              rhsThe RHS toml::value.
                                                                                                                              ReturnsSame value types: + lhs.get() <= rhs.get()Different value types: + lhs.type() <= rhs.type()
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator==(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Equality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS value.
                                                                                                                              rhsThe RHS value.
                                                                                                                              ReturnsTrue if the values were of the same type and contained the same value.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator>(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Greater-than operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS toml::value.
                                                                                                                              rhsThe RHS toml::value.
                                                                                                                              ReturnsSame value types: + lhs.get() > rhs.get()Different value types: + lhs.type() > rhs.type()
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator>=(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Greater-than-or-equal-to operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS toml::value.
                                                                                                                              rhsThe RHS toml::value.
                                                                                                                              ReturnsSame value types: + lhs.get() >= rhs.get()Different value types: + lhs.type() >= rhs.type()
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + value& toml::value::flags(value_flags new_flags) noexcept +

                                                                                                                              +

                                                                                                                              Sets the metadata flags associated with this value.

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsA reference to the value object.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + bool toml::value::is_homogeneous(node_type ntype) const override noexcept +

                                                                                                                              +

                                                                                                                              Checks if the node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << "homogenous: "sv << arr.is_homogeneous(toml::node_type::none) << "\n";
                                                                                                                              +std::cout << "all floats: "sv << arr.is_homogeneous(toml::node_type::floating_point) << "\n";
                                                                                                                              +std::cout << "all arrays: "sv << arr.is_homogeneous(toml::node_type::array) << "\n";
                                                                                                                              +std::cout << "all ints:   "sv << arr.is_homogeneous(toml::node_type::integer) << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + bool toml::value::is_homogeneous(node_type ntype, + toml::node*& first_nonmatch) override noexcept +

                                                                                                                              +

                                                                                                                              Checks if a node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              first_nonmatchReference to a pointer in which the address of the first non-matching element will be stored if the return value is false.
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]");
                                                                                                                              +toml::array& arr = *cfg["arr"].as_array();
                                                                                                                              +
                                                                                                                              +toml::node* nonmatch{};
                                                                                                                              +if (arr.is_homogeneous(toml::node_type::integer, nonmatch))
                                                                                                                              +    std::cout << "array was homogeneous"sv << "\n";
                                                                                                                              +else
                                                                                                                              +    std::cout << "array was not homogeneous!\n"
                                                                                                                              +    << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
                                                                                                                              array was not homogeneous!
                                                                                                                              +first non-match was a floating-point at line 1, column 18
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + node_type toml::value::type() const override noexcept +

                                                                                                                              +

                                                                                                                              Returns the value's node type identifier.

                                                                                                                              + + + + + + + +
                                                                                                                              Returns

                                                                                                                              One of:

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.5.0/concepts.html b/v2.5.0/concepts.html new file mode 100644 index 00000000..3196675e --- /dev/null +++ b/v2.5.0/concepts.html @@ -0,0 +1,137 @@ + + + + toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Concepts

                                                                                                                              +
                                                                                                                                +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.5.0/favicon.ico b/v2.5.0/favicon.ico new file mode 100644 index 00000000..518213d1 Binary files /dev/null and b/v2.5.0/favicon.ico differ diff --git a/v2.5.0/files.html b/v2.5.0/files.html new file mode 100644 index 00000000..7ab474e7 --- /dev/null +++ b/v2.5.0/files.html @@ -0,0 +1,137 @@ + + + + toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Files

                                                                                                                              +
                                                                                                                                +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.5.0/group__configuration.html b/v2.5.0/group__configuration.html new file mode 100644 index 00000000..35c0a4d0 --- /dev/null +++ b/v2.5.0/group__configuration.html @@ -0,0 +1,290 @@ + + + + Library Configuration module | toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + Library Configuration module

                                                                                                                              +

                                                                                                                              Preprocessor macros for configuring library functionality.

                                                                                                                              + +

                                                                                                                              Define these before including toml++ to alter the way it functions.

                                                                                                                              +
                                                                                                                              +

                                                                                                                              Defines

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + #define TOML_API +
                                                                                                                              +
                                                                                                                              An annotation to add to public symbols.
                                                                                                                              +
                                                                                                                              + #define TOML_ASSERT(expr) +
                                                                                                                              +
                                                                                                                              Sets the assert function used by the library.
                                                                                                                              +
                                                                                                                              + #define TOML_CONFIG_HEADER +
                                                                                                                              +
                                                                                                                              An additional header to include before any other toml++ header files.
                                                                                                                              +
                                                                                                                              + #define TOML_EXCEPTIONS +
                                                                                                                              +
                                                                                                                              Sets whether the library uses exceptions to report parsing failures.
                                                                                                                              +
                                                                                                                              + #define TOML_HEADER_ONLY +
                                                                                                                              +
                                                                                                                              Sets whether the library is entirely inline.
                                                                                                                              +
                                                                                                                              + #define TOML_IMPLEMENTATION +
                                                                                                                              +
                                                                                                                              Enables the library's implementation when TOML_HEADER_ONLY is disabled.
                                                                                                                              +
                                                                                                                              + #define TOML_LARGE_FILES +
                                                                                                                              +
                                                                                                                              Sets whether line and column indices are 32-bit integers.
                                                                                                                              +
                                                                                                                              + #define TOML_OPTIONAL_TYPE +
                                                                                                                              +
                                                                                                                              Overrides the optional<T> type used by the library.
                                                                                                                              +
                                                                                                                              + #define TOML_PARSER +
                                                                                                                              +
                                                                                                                              Sets whether the parser-related parts of the library are included.
                                                                                                                              +
                                                                                                                              + #define TOML_SMALL_FLOAT_TYPE +
                                                                                                                              +
                                                                                                                              If your codebase has an additional 'small' float type (e.g. half-precision), this tells toml++ about it.
                                                                                                                              +
                                                                                                                              + #define TOML_SMALL_INT_TYPE +
                                                                                                                              +
                                                                                                                              If your codebase has an additional 'small' integer type (e.g. 24-bits), this tells toml++ about it.
                                                                                                                              +
                                                                                                                              + #define TOML_UNRELEASED_FEATURES +
                                                                                                                              +
                                                                                                                              Enables support for unreleased TOML language features not yet part of a numbered version.
                                                                                                                              +
                                                                                                                              + #define TOML_WINDOWS_COMPAT +
                                                                                                                              +
                                                                                                                              Enables the use of wide strings (wchar_t, std::wstring) in various places throughout the library when building for Windows.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Define documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_API +

                                                                                                                              +

                                                                                                                              An annotation to add to public symbols.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_ASSERT(expr) +

                                                                                                                              +

                                                                                                                              Sets the assert function used by the library.

                                                                                                                              +

                                                                                                                              Defaults to the standard C assert().

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_CONFIG_HEADER +

                                                                                                                              +

                                                                                                                              An additional header to include before any other toml++ header files.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_EXCEPTIONS +

                                                                                                                              +

                                                                                                                              Sets whether the library uses exceptions to report parsing failures.

                                                                                                                              +

                                                                                                                              Defaults to 1 or 0 according to your compiler's exception mode.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_HEADER_ONLY +

                                                                                                                              +

                                                                                                                              Sets whether the library is entirely inline.

                                                                                                                              +

                                                                                                                              Defaults to 1.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_IMPLEMENTATION +

                                                                                                                              +

                                                                                                                              Enables the library's implementation when TOML_HEADER_ONLY is disabled.

                                                                                                                              +

                                                                                                                              Not defined by default. Meaningless when TOML_HEADER_ONLY is enabled.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_LARGE_FILES +

                                                                                                                              +

                                                                                                                              Sets whether line and column indices are 32-bit integers.

                                                                                                                              +

                                                                                                                              Defaults to 0.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_OPTIONAL_TYPE +

                                                                                                                              +

                                                                                                                              Overrides the optional<T> type used by the library.

                                                                                                                              +

                                                                                                                              Not defined by default (use std::optional).

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_PARSER +

                                                                                                                              +

                                                                                                                              Sets whether the parser-related parts of the library are included.

                                                                                                                              +

                                                                                                                              Defaults to 1.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_SMALL_FLOAT_TYPE +

                                                                                                                              +

                                                                                                                              If your codebase has an additional 'small' float type (e.g. half-precision), this tells toml++ about it.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_SMALL_INT_TYPE +

                                                                                                                              +

                                                                                                                              If your codebase has an additional 'small' integer type (e.g. 24-bits), this tells toml++ about it.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_UNRELEASED_FEATURES +

                                                                                                                              +

                                                                                                                              Enables support for unreleased TOML language features not yet part of a numbered version.

                                                                                                                              +

                                                                                                                              Defaults to 0.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_WINDOWS_COMPAT +

                                                                                                                              +

                                                                                                                              Enables the use of wide strings (wchar_t, std::wstring) in various places throughout the library when building for Windows.

                                                                                                                              +

                                                                                                                              Defaults to 1 when building for Windows, 0 otherwise. Has no effect when building for anything other than Windows.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.5.0/index.html b/v2.5.0/index.html new file mode 100644 index 00000000..4d1a2524 --- /dev/null +++ b/v2.5.0/index.html @@ -0,0 +1,399 @@ + + + + toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + Image + +

                                                                                                                              Features

                                                                                                                              • Supports the latest TOML release (v1.0.0), plus optional support for some unreleased TOML features
                                                                                                                              • Supports serializing to JSON
                                                                                                                              • Proper UTF-8 handling (incl. BOM)
                                                                                                                              • C++17 (plus some C++20 features where available, e.g. experimental support for char8_t strings)
                                                                                                                              • Header-only (optional!)
                                                                                                                              • Doesn't require RTTI
                                                                                                                              • Works with or without exceptions
                                                                                                                              • Tested on Clang (6+), GCC (7+) and MSVC (VS2019)
                                                                                                                              • Tested on x64, x86 and ARM

                                                                                                                              API documentation

                                                                                                                              You're looking at it! Browse the docs using the links at the top of the page. You can search from anywhere by pressing the TAB key.

                                                                                                                              Basic examples

                                                                                                                              Parsing files

                                                                                                                              Call toml::parse_file() and work with the toml::table you get back, or handle any toml::parse_error that gets thrown:

                                                                                                                              #include <iostream>
                                                                                                                              +#include <toml++/toml.h>
                                                                                                                              +
                                                                                                                              +int main(int argc, char** argv)
                                                                                                                              +{
                                                                                                                              +   toml::table tbl;
                                                                                                                              +   try
                                                                                                                              +   {
                                                                                                                              +       tbl = toml::parse_file(argv[1]);
                                                                                                                              +           std::cout << tbl << "\n";
                                                                                                                              +   }
                                                                                                                              +   catch (const toml::parse_error& err)
                                                                                                                              +   {
                                                                                                                              +       std::cerr << "Parsing failed:\n" << err << "\n";
                                                                                                                              +       return 1;
                                                                                                                              +   }
                                                                                                                              +
                                                                                                                              +   return 0;
                                                                                                                              +}

                                                                                                                              Parsing strings and iostreams

                                                                                                                              Call toml::parse() and work with the toml::table you get back, or handle any toml::parse_error that gets thrown:

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              #include <iostream> +#include <sstream> +#include <toml++/toml.h> +using namespace std::string_view_literals; + +int main() +{ + static constexpr std::string_view some_toml = R"( + [library] + name = "toml++" + authors = ["Mark Gillard <mark.gillard@outlook.com.au>"] + cpp = 17 + )"sv; + + try + { + // parse directly from a string view: + { + toml::table tbl = toml::parse(some_toml); + std::cout << tbl << "\n"; + } + + // parse from a string stream: + { + std::stringstream ss{ std::string{ some_toml } }; + toml::table tbl = toml::parse(ss); + std::cout << tbl << "\n"; + } + } + catch (const toml::parse_error& err) + { + std::cerr << "Parsing failed:\n" << err << "\n"; + return 1; + } + + return 0; +}
                                                                                                                              [library]
                                                                                                                              +authors = [ 'Mark Gillard <mark.gillard@outlook.com.au>' ]
                                                                                                                              +cpp = 17
                                                                                                                              +name = 'toml++'
                                                                                                                              +
                                                                                                                              +[library]
                                                                                                                              +authors = [ 'Mark Gillard <mark.gillard@outlook.com.au>' ]
                                                                                                                              +cpp = 17
                                                                                                                              +name = 'toml++'

                                                                                                                              Handling errors without exceptions

                                                                                                                              Can't (or won't) use exceptions? That's fine too. You can disable exceptions in your compiler flags and/or explicitly disable the library's use of them by setting the option TOML_EXCEPTIONS to 0. In either case, the parsing functions return a toml::parse_result instead of a toml::table:

                                                                                                                              #include <iostream>
                                                                                                                              +
                                                                                                                              +#define TOML_EXCEPTIONS 0 // only necessary if you've left them enabled in your compiler
                                                                                                                              +#include <toml++/toml.h>
                                                                                                                              +
                                                                                                                              +int main()
                                                                                                                              +{
                                                                                                                              +   toml::parse_result result = toml::parse_file("configuration.toml");
                                                                                                                              +   if (!result)
                                                                                                                              +   {
                                                                                                                              +       std::cerr << "Parsing failed:\n" << result.error() << "\n";
                                                                                                                              +       return 1;
                                                                                                                              +   }
                                                                                                                              +
                                                                                                                              +   do_stuff_with_your_config(std::move(result).table()); // 'steal' the table from the result
                                                                                                                              +   return 0;
                                                                                                                              +}

                                                                                                                              Custom error formatting

                                                                                                                              The examples above use an overloaded operator<< with ostreams to print basic error messages, and look like this:

                                                                                                                              Error while parsing key: expected bare key starting character or string delimiter, saw '?'
                                                                                                                              +    (error occurred at line 2, column 5)

                                                                                                                              In order to keep the library as small as possible I haven't bent over backwards to support things like custom colouring of the text in TTY environments, et cetera. That being said, the library provides the requisite information for you to build these yourself if necessary via toml::parse_error's source() and description() members:

                                                                                                                              toml::table tbl;
                                                                                                                              +try
                                                                                                                              +{
                                                                                                                              +   tbl = toml::parse_file("configuration.toml");
                                                                                                                              +}
                                                                                                                              +catch (const toml::parse_error& err)
                                                                                                                              +{
                                                                                                                              +   std::cerr
                                                                                                                              +       << "Error parsing file '" << *err.source().path
                                                                                                                              +       << "':\n" << err.description()
                                                                                                                              +       << "\n  (" << err.source().begin << ")\n";
                                                                                                                              +   return 1;
                                                                                                                              +}

                                                                                                                              Working with TOML data

                                                                                                                              A TOML document is a tree of values, arrays and tables, represented as the toml::value, toml::array and toml::table, respectively. All three inherit from toml::node, and can be easily accessed via the toml::node_view:

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              #include <iostream> +#include <toml++/toml.h> +using namespace std::string_view_literals; + +int main() +{ + static constexpr auto source = R"( + str = "hello world" + + numbers = [ 1, 2, 3, "four", 5.0 ] + vegetables = [ "tomato", "onion", "mushroom", "lettuce" ] + minerals = [ "quartz", "iron", "copper", "diamond" ] + + [animals] + cats = [ "tiger", "lion", "puma" ] + birds = [ "macaw", "pigeon", "canary" ] + fish = [ "salmon", "trout", "carp" ] + + )"sv; + toml::table tbl = toml::parse(source); + + // different ways of directly querying data + std::optional<std::string_view> str1 = tbl["str"].value<std::string_view>(); + std::optional<std::string> str2 = tbl["str"].value<std::string>(); + std::string_view str3 = tbl["str"].value_or(""sv); + std::string& str4 = tbl["str"].ref<std::string>(); // ~~dangerous~~ + + std::cout << *str1 << "\n"; + std::cout << *str2 << "\n"; + std::cout << str3 << "\n"; + std::cout << str4 << "\n"; + + // get a toml::node_view of the element 'numbers' using operator[] + auto numbers = tbl["numbers"]; + std::cout << "table has 'numbers': " << !!numbers << "\n"; + std::cout << "numbers is an: " << numbers.type() << "\n"; + std::cout << "numbers: " << numbers << "\n"; + + // get the underlying array object to do some more advanced stuff + if (toml::array* arr = numbers.as_array()) + { + for (toml::node& elem : *arr) + { + // visitation helps deal with the polymorphic nature of TOML data + elem.visit([](auto&& el) noexcept + { + if constexpr (toml::is_number<decltype(el)>) + (*el)++; + else if constexpr (toml::is_string<decltype(el)>) + el = "five"sv; + }); + } + + // arrays are very similar to std::vector + arr->push_back(7); + arr->emplace_back<toml::array>(8, 9); + std::cout << "numbers: " << numbers << "\n"; + } + + // node-views can be chained to quickly query deeper + std::cout << "cats: " << tbl["animals"]["cats"] << "\n"; + std::cout << "fish[1]: " << tbl["animals"]["fish"][1] << "\n"; + + // ...even if the element doesn't exist + std::cout << "dinosaurs: " << tbl["animals"]["dinosaurs"] << "\n"; //no dinosaurs :( + + return 0; +}
                                                                                                                              hello world
                                                                                                                              +hello world
                                                                                                                              +hello world
                                                                                                                              +hello world
                                                                                                                              +table has 'numbers': 1
                                                                                                                              +numbers is an: array
                                                                                                                              +numbers: [ 1, 2, 3, 'four', 5.0 ]
                                                                                                                              +numbers: [ 2, 3, 4, 'five', 6.0, 7, [ 8, 9 ] ]
                                                                                                                              +cats: [ 'tiger', 'lion', 'puma' ]
                                                                                                                              +fish[1]: 'trout'
                                                                                                                              +dinosaurs:

                                                                                                                              Serializing as TOML and JSON

                                                                                                                              All toml++ data types have overloaded operator<< for ostreams, so 'serializing' a set of TOML data to actual TOML is done just by printing it to an ostream. Converting it to JSON is done in the same way, but via a toml::json_formatter.

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              #include <iostream> +#include <toml++/toml.h> + +int main() +{ + auto tbl = toml::table{{ + { "lib", "toml++" }, + { "cpp", toml::array{ 17, 20, "and beyond" } }, + { "toml", toml::array{ "1.0.0", "and beyond" } }, + { "repo", "https://github.com/marzer/tomlplusplus/" }, + { "author", toml::table{{ + { "name", "Mark Gillard" }, + { "github", "https://github.com/marzer" }, + { "twitter", "https://twitter.com/marzer8789" } + }} + }, + }}; + + // serializing as TOML + std::cout << "###### TOML ######" << "\n\n"; + std::cout << tbl << "\n\n"; + + // serializing as JSON using toml::json_formatter: + std::cout << "###### JSON ######" << "\n\n"; + std::cout << toml::json_formatter{ tbl } << "\n\n"; + return 0; +}
                                                                                                                              ###### TOML ######
                                                                                                                              +
                                                                                                                              +cpp = [ 17, 20, 'and beyond' ]
                                                                                                                              +lib = 'toml++'
                                                                                                                              +repo = 'https://github.com/marzer/tomlplusplus/'
                                                                                                                              +toml = [ '1.0.0', 'and beyond' ]
                                                                                                                              +
                                                                                                                              +[author]
                                                                                                                              +github = 'https://github.com/marzer'
                                                                                                                              +name = 'Mark Gillard'
                                                                                                                              +twitter = 'https://twitter.com/marzer8789'
                                                                                                                              +
                                                                                                                              +###### JSON ######
                                                                                                                              +
                                                                                                                              +{
                                                                                                                              +    "author" : {
                                                                                                                              +        "github" : "https://github.com/marzer",
                                                                                                                              +        "name" : "Mark Gillard",
                                                                                                                              +        "twitter" : "https://twitter.com/marzer8789"
                                                                                                                              +    },
                                                                                                                              +    "cpp" : [
                                                                                                                              +        17,
                                                                                                                              +        20,
                                                                                                                              +        "and beyond"
                                                                                                                              +    ],
                                                                                                                              +    "lib" : "toml++",
                                                                                                                              +    "repo" : "https://github.com/marzer/tomlplusplus/",
                                                                                                                              +    "toml" : [
                                                                                                                              +        "1.0.0",
                                                                                                                              +        "and beyond"
                                                                                                                              +    ]
                                                                                                                              +}

                                                                                                                              Speeding up compilation

                                                                                                                              Because toml++ is a header-only library of nontrivial size you might find that compilation times noticeably increase after you add it to your project, especially if you add the library's header somewhere that's visible from a large number of translation units. You can counter this by disabling header-only mode and explicitly controlling where the library's implementation is compiled.

                                                                                                                              Step 1: Set TOML_HEADER_ONLY to 0 before including toml++

                                                                                                                              This must be the same everywhere, so either set it as a global #define in your build system, or do it manually before including toml++ in some global header that's used everywhere in your project:

                                                                                                                              // global_header_that_includes_toml++.h
                                                                                                                              +
                                                                                                                              +#define TOML_HEADER_ONLY 0
                                                                                                                              +#include <toml.hpp>

                                                                                                                              Step 2: Define TOML_IMPLEMENTATION before including toml++ in one specific translation unit

                                                                                                                              // some_code_file.cpp
                                                                                                                              +
                                                                                                                              +#define TOML_IMPLEMENTATION
                                                                                                                              +#include "global_header_that_includes_toml++.h"

                                                                                                                              Bonus Step: Disable the parser if you don't need it

                                                                                                                              If all you need to do is serialize some code-generated TOML and don't actually need the parser at all you can set TOML_PARSER to 0 to disable the parser altogether. This can yield fairly significant compilation speedups since the parser accounts for a good chunk of the library's code.

                                                                                                                              Adding toml++ to your project

                                                                                                                              The library comes in two flavours, 🍦️ Single-header and 🍨️ Regular. The API is the same for both.

                                                                                                                              "The old fashioned way"

                                                                                                                              Clone the repository from GitHub, and then:

                                                                                                                              🍦️ Single-header flavour

                                                                                                                              1. Drop toml.hpp wherever you like in your source tree
                                                                                                                              2. There is no step two

                                                                                                                              🍨️ Regular flavour

                                                                                                                              1. Add tomlplusplus/include to your include paths
                                                                                                                              2. #include <toml++/toml.h>

                                                                                                                              Conan

                                                                                                                              Add tomlplusplus/2.5.0 to your conanfile.

                                                                                                                              DDS

                                                                                                                              Add tomlpp to your package.json5, e.g.:

                                                                                                                              depends: [
                                                                                                                              +       'tomlpp^2.5.0',
                                                                                                                              +]

                                                                                                                              Meson

                                                                                                                              The library supports being added as a subproject in the meson build system.

                                                                                                                              Vcpkg

                                                                                                                              vcpkg install tomlplusplus

                                                                                                                              CMake FetchContent

                                                                                                                              include(FetchContent)
                                                                                                                              +FetchContent_Declare(
                                                                                                                              +    tomlplusplus
                                                                                                                              +    GIT_REPOSITORY https://github.com/marzer/tomlplusplus.git
                                                                                                                              +    GIT_TAG        v2.5.0
                                                                                                                              +)
                                                                                                                              +FetchContent_MakeAvailable(tomlplusplus)

                                                                                                                              Other environments and package managers

                                                                                                                              toml++ is a fairly new project and I'm not up-to-speed with all of the available packaging and integration options in the modern C++ ecosystem. I'm also a cmake novice, for better or worse. If there's an integration option missing be assured that I fully support it being added, and welcome pull requests!

                                                                                                                              Special mention: Python

                                                                                                                              There exists a python wrapper library built around toml++ called pytomlpp which is, at the time of writing, the only natively-compiled TOML library available for python, and thus much faster than many of the alternatives:

                                                                                                                              Parsing data.toml 5000 times:
                                                                                                                              + pytomlpp:    0.662 s
                                                                                                                              +     toml:    5.277 s (7.9x slower)
                                                                                                                              +    qtoml:    8.020 s (12.1x slower)
                                                                                                                              +  tomlkit:   32.898 s (49.6x slower)

                                                                                                                              Install it using pip:

                                                                                                                              pip install pytomlpp

                                                                                                                              Note that I'm not the owner of that project so if you wish to report a bug relating to the python implementation, please do so at their repository, not on the main toml++ one.

                                                                                                                              Library configuration options

                                                                                                                              The library exposes a number of configuration options in the form of compiler #defines. Things like changing the optional<T> type, disabling header-only mode, et cetera. The full list of configurables can be found on the Library Configuration page.

                                                                                                                              Contributing

                                                                                                                              Contributions are very welcome! Either by reporting issues or submitting pull requests. If you wish to submit a pull request, please see CONTRIBUTING for all the details you need to get going.

                                                                                                                              License

                                                                                                                              toml++ is licensed under the terms of the MIT license - see LICENSE.

                                                                                                                              If you're using the single-header version of the library you don't need to explicitly distribute the license file; it is embedded in the preamble at the top of the header.

                                                                                                                              Contacting the author

                                                                                                                              For bug reports and feature requests please use the Github Issues system. For anything else you're welcome to reach out via other means. In order of likely response speed:

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.5.0/logo.png b/v2.5.0/logo.png new file mode 100644 index 00000000..00491256 Binary files /dev/null and b/v2.5.0/logo.png differ diff --git a/v2.5.0/modules.html b/v2.5.0/modules.html new file mode 100644 index 00000000..5ce30eb0 --- /dev/null +++ b/v2.5.0/modules.html @@ -0,0 +1,138 @@ + + + + toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Modules

                                                                                                                              + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.5.0/namespaces.html b/v2.5.0/namespaces.html new file mode 100644 index 00000000..8262ac99 --- /dev/null +++ b/v2.5.0/namespaces.html @@ -0,0 +1,143 @@ + + + + toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Namespaces

                                                                                                                              +
                                                                                                                                +
                                                                                                                              • + namespace toml The root namespace for all toml++ functions and types. +
                                                                                                                                  +
                                                                                                                                • namespace literals inline Convenience literal operators for working with toml++.
                                                                                                                                • +
                                                                                                                                +
                                                                                                                              • +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.5.0/namespacetoml.html b/v2.5.0/namespacetoml.html new file mode 100644 index 00000000..fe21166c --- /dev/null +++ b/v2.5.0/namespacetoml.html @@ -0,0 +1,1317 @@ + + + + toml namespace | toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml namespace +

                                                                                                                              +

                                                                                                                              The root namespace for all toml++ functions and types.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Namespaces

                                                                                                                              +
                                                                                                                              +
                                                                                                                              namespace literals inline
                                                                                                                              +
                                                                                                                              Convenience literal operators for working with toml++.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Classes

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + class array +
                                                                                                                              +
                                                                                                                              A TOML array.
                                                                                                                              +
                                                                                                                              + struct date +
                                                                                                                              +
                                                                                                                              A local date.
                                                                                                                              +
                                                                                                                              + struct date_time +
                                                                                                                              +
                                                                                                                              A date-time.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char = char>
                                                                                                                              + class default_formatter +
                                                                                                                              +
                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted TOML.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + struct inserter +
                                                                                                                              +
                                                                                                                              Helper class for suppressing move-construction in single-argument array constructors.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char = char>
                                                                                                                              + class json_formatter +
                                                                                                                              +
                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted JSON.
                                                                                                                              +
                                                                                                                              + class node +
                                                                                                                              +
                                                                                                                              A TOML node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ViewedType>
                                                                                                                              + class node_view +
                                                                                                                              +
                                                                                                                              A view of a node.
                                                                                                                              +
                                                                                                                              + class parse_error +
                                                                                                                              +
                                                                                                                              An error generated when parsing fails.
                                                                                                                              +
                                                                                                                              + class parse_result +
                                                                                                                              +
                                                                                                                              The result of a parsing operation.
                                                                                                                              +
                                                                                                                              + struct source_position +
                                                                                                                              +
                                                                                                                              A source document line-and-column pair.
                                                                                                                              +
                                                                                                                              + struct source_region +
                                                                                                                              +
                                                                                                                              A source document region.
                                                                                                                              +
                                                                                                                              + class table +
                                                                                                                              +
                                                                                                                              A TOML table.
                                                                                                                              +
                                                                                                                              + struct time +
                                                                                                                              +
                                                                                                                              A local time-of-day.
                                                                                                                              +
                                                                                                                              + struct time_offset +
                                                                                                                              +
                                                                                                                              A timezone offset.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ValueType>
                                                                                                                              + class value +
                                                                                                                              +
                                                                                                                              A TOML value.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Enums

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + enum class format_flags: uint8_t { none, + quote_dates_and_times = 1, + allow_literal_strings = 2, + allow_multi_line_strings = 4, + allow_value_format_flags = 8 } +
                                                                                                                              +
                                                                                                                              Format flags for modifying how TOML data is printed to streams.
                                                                                                                              +
                                                                                                                              + enum class node_type: uint8_t { none, + table, + array, + string, + integer, + floating_point, + boolean, + date, + time, + date_time } +
                                                                                                                              +
                                                                                                                              TOML node type identifiers.
                                                                                                                              +
                                                                                                                              + enum class value_flags: uint8_t { none, + format_as_binary = 1, + format_as_octal = 2, + format_as_hexadecimal = 3 } +
                                                                                                                              +
                                                                                                                              Metadata associated with TOML values.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Typedefs

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using array_iterator = impl::array_iterator<false> +
                                                                                                                              +
                                                                                                                              A RandomAccessIterator for iterating over elements in a toml::array.
                                                                                                                              +
                                                                                                                              + using const_array_iterator = impl::array_iterator<true> +
                                                                                                                              +
                                                                                                                              A RandomAccessIterator for iterating over const elements in a toml::array.
                                                                                                                              +
                                                                                                                              + using const_table_iterator = impl::table_iterator<true> +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over const key-value pairs in a toml::table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + using inserted_type_of = typename impl::inserted_type_of_<impl::remove_cvref_t<T>>::type +
                                                                                                                              +
                                                                                                                              Metafunction for determining which node type would be constructed if an object of this type was inserted into a toml::table or toml::array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + using optional = std::optional<T> +
                                                                                                                              +
                                                                                                                              The 'optional' type used throughout the library.
                                                                                                                              +
                                                                                                                              + using source_index = uint16_t +
                                                                                                                              +
                                                                                                                              The integer type used to tally line numbers and columns.
                                                                                                                              +
                                                                                                                              + using source_path_ptr = std::shared_ptr<const std::string> +
                                                                                                                              +
                                                                                                                              A pointer to a shared string resource containing a source path.
                                                                                                                              +
                                                                                                                              + using table_iterator = impl::table_iterator<false> +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over key-value pairs in a toml::table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator""_toml(const char* str, + size_t len) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses TOML data from a string literal.
                                                                                                                              +
                                                                                                                              + auto operator""_toml(const char8_t* str, + size_t len) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses TOML data from a UTF-8 string literal.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char>
                                                                                                                              + auto operator<<(std::basic_ostream<Char>& lhs, + node_type rhs) -> std::basic_ostream<Char>& +
                                                                                                                              +
                                                                                                                              Pretty-prints the value of a node_type to a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char>
                                                                                                                              + auto operator<<(std::basic_ostream<Char>& lhs, + const date& rhs) -> std::basic_ostream<Char>& +
                                                                                                                              +
                                                                                                                              Prints a date out to a stream as YYYY-MM-DD (per RFC 3339).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char>
                                                                                                                              + auto operator<<(std::basic_ostream<Char>& lhs, + const time& rhs) -> std::basic_ostream<Char>& +
                                                                                                                              +
                                                                                                                              Prints a time out to a stream as HH:MM:SS.FFFFFF (per RFC 3339).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char>
                                                                                                                              + auto operator<<(std::basic_ostream<Char>& lhs, + const time_offset& rhs) -> std::basic_ostream<Char>& +
                                                                                                                              +
                                                                                                                              Prints a time_offset out to a stream as +-HH:MM or Z (per RFC 3339).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char>
                                                                                                                              + auto operator<<(std::basic_ostream<Char>& lhs, + const date_time& rhs) -> std::basic_ostream<Char>& +
                                                                                                                              +
                                                                                                                              Prints a date_time out to a stream in RFC 3339 format.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T, typename U>
                                                                                                                              + auto operator<<(std::basic_ostream<T>& lhs, + default_formatter<U>& rhs) -> std::basic_ostream<T>& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as formatted TOML.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T, typename U>
                                                                                                                              + auto operator<<(std::basic_ostream<T>& lhs, + default_formatter<U>&& rhs) -> std::basic_ostream<T>& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as formatted TOML (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T, typename U>
                                                                                                                              + auto operator<<(std::basic_ostream<T>& lhs, + json_formatter<U>& rhs) -> std::basic_ostream<T>& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as JSON.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T, typename U>
                                                                                                                              + auto operator<<(std::basic_ostream<T>& lhs, + json_formatter<U>&& rhs) -> std::basic_ostream<T>& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as JSON (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char, typename T>
                                                                                                                              + auto operator<<(std::basic_ostream<Char>& os, + const node_view<T>& nv) -> std::basic_ostream<Char>& +
                                                                                                                              +
                                                                                                                              Prints the viewed node out to a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char>
                                                                                                                              + auto operator<<(std::basic_ostream<Char>& lhs, + const parse_error& rhs) -> std::basic_ostream<Char>& +
                                                                                                                              +
                                                                                                                              Prints a parse_error to a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char>
                                                                                                                              + auto operator<<(std::basic_ostream<Char>& lhs, + const source_position& rhs) -> std::basic_ostream<Char>& +
                                                                                                                              +
                                                                                                                              Prints a source_position to a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char>
                                                                                                                              + auto operator<<(std::basic_ostream<Char>& lhs, + const source_region& rhs) -> std::basic_ostream<Char>& +
                                                                                                                              +
                                                                                                                              Prints a source_region to a stream.
                                                                                                                              +
                                                                                                                              + auto parse(std::string_view doc, + std::string_view source_path = {}) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::string_view doc, + std::string&& source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::string_view doc, + std::wstring_view source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::u8string_view doc, + std::string_view source_path = {}) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a char8_t string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::u8string_view doc, + std::string&& source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a char8_t string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::u8string_view doc, + std::wstring_view source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a char8_t string view.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char>
                                                                                                                              + auto parse(std::basic_istream<Char>& doc, + std::string_view source_path = {}) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char>
                                                                                                                              + auto parse(std::basic_istream<Char>& doc, + std::string&& source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char>
                                                                                                                              + auto parse(std::basic_istream<Char>& doc, + std::wstring_view source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a stream.
                                                                                                                              +
                                                                                                                              + auto parse_file(std::string_view file_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a file.
                                                                                                                              +
                                                                                                                              + auto parse_file(std::u8string_view file_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a file.
                                                                                                                              +
                                                                                                                              + auto parse_file(std::wstring_view file_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a file.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_array constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_boolean constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a bool or toml::value<bool>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_chronological constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type satisfies any of toml::is_date, toml::is_time or toml::is_date_time.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_container constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type satisfies either toml::is_table or toml::is_array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_date constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::date or toml::value<date>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_date_time constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::date_time or toml::value<date_time>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_floating_point constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a double or toml::value<double>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_integer constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a int64_t or toml::value<int64_t>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_node constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::node (or one of its subclasses).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_node_view constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::node_view.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_number constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type satisfies either toml::is_integer or toml::is_floating_point.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_string constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a std::string or toml::value<std::string>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_table constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_time constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::time or toml::value<time>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_value constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, any of the toml value types. Excludes tables and arrays.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Enum documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + enum class toml::format_flags: uint8_t +

                                                                                                                              +

                                                                                                                              Format flags for modifying how TOML data is printed to streams.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Enumerators
                                                                                                                              none +

                                                                                                                              None.

                                                                                                                              +
                                                                                                                              quote_dates_and_times +

                                                                                                                              Dates and times will be emitted as quoted strings.

                                                                                                                              +
                                                                                                                              allow_literal_strings +

                                                                                                                              Strings will be emitted as single-quoted literal strings where possible.

                                                                                                                              +
                                                                                                                              allow_multi_line_strings +

                                                                                                                              Strings containing newlines will be emitted as triple-quoted 'multi-line' strings where possible.

                                                                                                                              +
                                                                                                                              allow_value_format_flags +

                                                                                                                              Values with special format flags will be formatted accordingly.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + enum class toml::node_type: uint8_t +

                                                                                                                              +

                                                                                                                              TOML node type identifiers.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Enumerators
                                                                                                                              none +

                                                                                                                              Not-a-node.

                                                                                                                              +
                                                                                                                              table +

                                                                                                                              The node is a toml::table.

                                                                                                                              +
                                                                                                                              array +

                                                                                                                              The node is a toml::array.

                                                                                                                              +
                                                                                                                              string +

                                                                                                                              The node is a toml::value<std::string>.

                                                                                                                              +
                                                                                                                              integer +

                                                                                                                              The node is a toml::value<int64_t>.

                                                                                                                              +
                                                                                                                              floating_point +

                                                                                                                              The node is a toml::value<double>.

                                                                                                                              +
                                                                                                                              boolean +

                                                                                                                              The node is a toml::value<bool>.

                                                                                                                              +
                                                                                                                              date +

                                                                                                                              The node is a toml::value<date>.

                                                                                                                              +
                                                                                                                              time +

                                                                                                                              The node is a toml::value<time>.

                                                                                                                              +
                                                                                                                              date_time +

                                                                                                                              The node is a toml::value<date_time>.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + enum class toml::value_flags: uint8_t +

                                                                                                                              +

                                                                                                                              Metadata associated with TOML values.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Enumerators
                                                                                                                              none +

                                                                                                                              None.

                                                                                                                              +
                                                                                                                              format_as_binary +

                                                                                                                              Format integer values as binary.

                                                                                                                              +
                                                                                                                              format_as_octal +

                                                                                                                              Format integer values as octal.

                                                                                                                              +
                                                                                                                              format_as_hexadecimal +

                                                                                                                              Format integer values as hexadecimal.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Typedef documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + using toml::inserted_type_of = typename impl::inserted_type_of_<impl::remove_cvref_t<T>>::type +

                                                                                                                              +

                                                                                                                              Metafunction for determining which node type would be constructed if an object of this type was inserted into a toml::table or toml::array.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + using toml::optional = std::optional<T> +

                                                                                                                              +

                                                                                                                              The 'optional' type used throughout the library.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + using toml::source_index = uint16_t +

                                                                                                                              +

                                                                                                                              The integer type used to tally line numbers and columns.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Char> +
                                                                                                                              + std::basic_ostream<Char>& toml::operator<<(std::basic_ostream<Char>& lhs, + node_type rhs) +

                                                                                                                              +

                                                                                                                              Pretty-prints the value of a node_type to a stream.

                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2.0, "3", false };
                                                                                                                              +for (size_t i = 0; i < arr.size() i++)
                                                                                                                              +    std::cout << "Element ["sv << i << "] is: "sv << arr[i].type() << "\n";
                                                                                                                              Element [0] is: integer
                                                                                                                              +Element [1] is: floating-point
                                                                                                                              +Element [2] is: string
                                                                                                                              +Element [3] is: boolean
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Char> +
                                                                                                                              + std::basic_ostream<Char>& toml::operator<<(std::basic_ostream<Char>& lhs, + const date& rhs) +

                                                                                                                              +

                                                                                                                              Prints a date out to a stream as YYYY-MM-DD (per RFC 3339).

                                                                                                                              +
                                                                                                                              std::cout << toml::date{ 1987, 3, 16 } << "\n";
                                                                                                                              1987-03-16
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Char> +
                                                                                                                              + std::basic_ostream<Char>& toml::operator<<(std::basic_ostream<Char>& lhs, + const time& rhs) +

                                                                                                                              +

                                                                                                                              Prints a time out to a stream as HH:MM:SS.FFFFFF (per RFC 3339).

                                                                                                                              +
                                                                                                                              std::cout << toml::time{ 10, 20, 34 } << "\n";
                                                                                                                              +std::cout << toml::time{ 10, 20, 34, 500000000 } << "\n";
                                                                                                                              10:20:34
                                                                                                                              +10:20:34.5
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Char> +
                                                                                                                              + std::basic_ostream<Char>& toml::operator<<(std::basic_ostream<Char>& lhs, + const time_offset& rhs) +

                                                                                                                              +

                                                                                                                              Prints a time_offset out to a stream as +-HH:MM or Z (per RFC 3339).

                                                                                                                              +
                                                                                                                              std::cout << toml::time_offset{ 2, 30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{ 2, -30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{} << "\n";
                                                                                                                              +std::cout << toml::time_offset{ -2, 30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{ -2, -30 } << "\n";
                                                                                                                              +02:30
                                                                                                                              ++01:30
                                                                                                                              +Z
                                                                                                                              +-01:30
                                                                                                                              +-02:30
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Char> +
                                                                                                                              + std::basic_ostream<Char>& toml::operator<<(std::basic_ostream<Char>& lhs, + const date_time& rhs) +

                                                                                                                              +

                                                                                                                              Prints a date_time out to a stream in RFC 3339 format.

                                                                                                                              +
                                                                                                                              std::cout << toml::date_time{ { 1987, 3, 16 }, { 10, 20, 34 } } << "\n";
                                                                                                                              +std::cout << toml::date_time{ { 1987, 3, 16 }, { 10, 20, 34 }, { -2, -30 } } << "\n";
                                                                                                                              +std::cout << toml::date_time{ { 1987, 3, 16 }, { 10, 20, 34 }, {} } << "\n";
                                                                                                                              1987-03-16T10:20:34
                                                                                                                              +1987-03-16T10:20:34-02:30
                                                                                                                              +1987-03-16T10:20:34Z
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Char> +
                                                                                                                              + std::basic_ostream<Char>& toml::operator<<(std::basic_ostream<Char>& lhs, + const parse_error& rhs) +

                                                                                                                              +

                                                                                                                              Prints a parse_error to a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              CharThe output stream's underlying character type. Must be 1 byte in size.
                                                                                                                              Parameters
                                                                                                                              lhsThe stream.
                                                                                                                              rhsThe parse_error.
                                                                                                                              ReturnsThe input stream.
                                                                                                                              +
                                                                                                                              try
                                                                                                                              +{
                                                                                                                              +    auto tbl = toml::parse("enabled = trUe"sv);
                                                                                                                              +}
                                                                                                                              +catch (const toml::parse_error & err)
                                                                                                                              +{
                                                                                                                              +    std::cerr << "Parsing failed:\n"sv << err << "\n";
                                                                                                                              +}
                                                                                                                              Parsing failed:
                                                                                                                              +Encountered unexpected character while parsing boolean; expected 'true', saw 'trU'
                                                                                                                              +    (error occurred at line 1, column 13)
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Char> +
                                                                                                                              + std::basic_ostream<Char>& toml::operator<<(std::basic_ostream<Char>& lhs, + const source_position& rhs) +

                                                                                                                              +

                                                                                                                              Prints a source_position to a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              CharThe output stream's underlying character type. Must be 1 byte in size.
                                                                                                                              Parameters
                                                                                                                              lhsThe stream.
                                                                                                                              rhsThe source_position.
                                                                                                                              ReturnsThe input stream.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse("bar = 42"sv);
                                                                                                                              +
                                                                                                                              +std::cout << "The value for 'bar' was found on "sv
                                                                                                                              +    << tbl.get("bar")->source().begin()
                                                                                                                              +    << "\n";
                                                                                                                              The value for 'bar' was found on line 1, column 7
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Char> +
                                                                                                                              + std::basic_ostream<Char>& toml::operator<<(std::basic_ostream<Char>& lhs, + const source_region& rhs) +

                                                                                                                              +

                                                                                                                              Prints a source_region to a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              CharThe output stream's underlying character type. Must be 1 byte in size.
                                                                                                                              Parameters
                                                                                                                              lhsThe stream.
                                                                                                                              rhsThe source_position.
                                                                                                                              ReturnsThe input stream.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse("bar = 42", "config.toml");
                                                                                                                              +
                                                                                                                              +std::cout << "The value for 'bar' was found on "sv
                                                                                                                              +    << tbl.get("bar")->source()
                                                                                                                              +    << "\n";
                                                                                                                              The value for 'bar' was found on line 1, column 7 of 'config.toml'
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::string_view doc, + std::string_view source_path = {}) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse("a = 3"sv);
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::string_view doc, + std::string&& source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse("a = 3"sv, "foo.toml");
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::string_view doc, + std::wstring_view source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse("a = 3"sv, L"foo.toml");
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::u8string_view doc, + std::string_view source_path = {}) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a char8_t string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse(u8"a = 3"sv);
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::u8string_view doc, + std::string&& source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a char8_t string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse(u8"a = 3"sv, "foo.toml");
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::u8string_view doc, + std::wstring_view source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a char8_t string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse(u8"a = 3"sv, L"foo.toml");
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Char> +
                                                                                                                              + parse_result toml::parse(std::basic_istream<Char>& doc, + std::string_view source_path = {}) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              CharThe stream's underlying character type. Must be 1 byte in size.
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              std::stringstream ss;
                                                                                                                              +ss << "a = 3"sv;
                                                                                                                              +
                                                                                                                              +auto tbl = toml::parse(ss);
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Char> +
                                                                                                                              + parse_result toml::parse(std::basic_istream<Char>& doc, + std::string&& source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              CharThe stream's underlying character type. Must be 1 byte in size.
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              std::stringstream ss;
                                                                                                                              +ss << "a = 3"sv;
                                                                                                                              +
                                                                                                                              +auto tbl = toml::parse(ss, "foo.toml");
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Char> +
                                                                                                                              + parse_result toml::parse(std::basic_istream<Char>& doc, + std::wstring_view source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              CharThe stream's underlying character type. Must be 1 byte in size.
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              std::stringstream ss;
                                                                                                                              +ss << "a = 3"sv;
                                                                                                                              +
                                                                                                                              +auto tbl = toml::parse(ss);
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse_file(std::string_view file_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a file.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              file_pathThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              toml::parse_result get_foo_toml()
                                                                                                                              +{
                                                                                                                              +    return toml::parse_file("foo.toml");
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse_file(std::u8string_view file_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a file.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              file_pathThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              toml::parse_result get_foo_toml()
                                                                                                                              +{
                                                                                                                              +    return toml::parse_file(u8"foo.toml");
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse_file(std::wstring_view file_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a file.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              file_pathThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              toml::parse_result get_foo_toml()
                                                                                                                              +{
                                                                                                                              +    return toml::parse_file(L"foo.toml");
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.5.0/namespacetoml_1_1literals.html b/v2.5.0/namespacetoml_1_1literals.html new file mode 100644 index 00000000..1e02660f --- /dev/null +++ b/v2.5.0/namespacetoml_1_1literals.html @@ -0,0 +1,226 @@ + + + + toml::literals namespace | toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::literals namespace inline +

                                                                                                                              +

                                                                                                                              Convenience literal operators for working with toml++.

                                                                                                                              + +

                                                                                                                              This namespace exists so you can safely hoist the toml++ literal operators into another scope without dragging in everything from the toml namespace:

                                                                                                                              #include <toml++/toml.h>
                                                                                                                              +using namespace toml::literals;
                                                                                                                              +
                                                                                                                              +int main()
                                                                                                                              +{
                                                                                                                              +    toml::table tbl = "vals = [1, 2, 3]"_toml;
                                                                                                                              +
                                                                                                                              +    // ... do stuff with the table generated by the "_toml" literal ...
                                                                                                                              +
                                                                                                                              +    return 0;
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator""_toml(const char* str, + size_t len) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses TOML data from a string literal.
                                                                                                                              +
                                                                                                                              + auto operator""_toml(const char8_t* str, + size_t len) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses TOML data from a UTF-8 string literal.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::literals::operator""_toml(const char* str, + size_t len) +

                                                                                                                              +

                                                                                                                              Parses TOML data from a string literal.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              strThe string data. Must be valid UTF-8.
                                                                                                                              lenThe string length.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              using namespace toml::literals;
                                                                                                                              +
                                                                                                                              +auto tbl = "a = 3"_toml;
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::literals::operator""_toml(const char8_t* str, + size_t len) +

                                                                                                                              +

                                                                                                                              Parses TOML data from a UTF-8 string literal.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              strThe string data. Must be valid UTF-8.
                                                                                                                              lenThe string length.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              using namespace toml::literals;
                                                                                                                              +
                                                                                                                              +auto tbl = u8"a = 3"_toml;
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.5.0/pages.html b/v2.5.0/pages.html new file mode 100644 index 00000000..9e3e85c2 --- /dev/null +++ b/v2.5.0/pages.html @@ -0,0 +1,137 @@ + + + + toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Pages

                                                                                                                              +
                                                                                                                                +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.5.0/search-v2.js b/v2.5.0/search-v2.js new file mode 100644 index 00000000..1fb71e1f --- /dev/null +++ b/v2.5.0/search-v2.js @@ -0,0 +1,897 @@ +/* + This file is part of m.css. + + Copyright © 2017, 2018, 2019, 2020, 2021, 2022, 2023 + Vladimír Vondruš + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +*/ + +"use strict"; /* it summons the Cthulhu in a proper way, they say */ + +var Search = { + formatVersion: 2, /* the data filename contains this number too */ + + dataSize: 0, /* used mainly by tests, not here */ + symbolCount: '…', + trie: null, + map: null, + mapFlagsOffset: null, + typeMap: null, + maxResults: 0, + + /* Type sizes and masks. The data is always fetched as 16/32bit number and + then masked to 1, 2, 3 or 4 bytes. Fortunately on LE a mask is enough, + on BE we'd have to read N bytes before and then mask. */ + nameSizeBytes: null, + nameSizeMask: null, + resultIdBytes: null, + resultIdMask: null, + fileOffsetBytes: null, + fileOffsetMask: null, + lookaheadBarrierMask: null, + + /* Always contains at least the root node offset and then one node offset + per entered character */ + searchString: '', + searchStack: [], + + /* So items don't get selected right away when a cursor is over results but + only after mouse moves */ + mouseMovedSinceLastRender: false, + + /* Whether we can go back in history in order to hide the search box or + not. We can't do that if we arrived directly on #search from outside. */ + canGoBackToHideSearch: false, + + /* Autocompletion in the input field is whitelisted only for character + input (so not deletion, cut, or anything else). This is flipped in the + onkeypress event and reset after each oninput event. */ + autocompleteNextInputEvent: false, + + init: function(buffer, maxResults) { + let view = new DataView(buffer); + + /* The file is too short to contain at least the headers and empty + sections */ + if(view.byteLength < 31) { + console.error("Search data too short"); + return false; + } + + if(view.getUint8(0) != 'M'.charCodeAt(0) || + view.getUint8(1) != 'C'.charCodeAt(0) || + view.getUint8(2) != 'S'.charCodeAt(0)) { + console.error("Invalid search data signature"); + return false; + } + + if(view.getUint8(3) != this.formatVersion) { + console.error("Invalid search data version"); + return false; + } + + /* Fetch type sizes. The only value that can fail is result ID byte + count, where value of 3 has no assigned meaning. */ + let typeSizes = view.getUint8(4, true); + if((typeSizes & 0x01) >> 0 == 0) { + this.fileOffsetBytes = 3; + this.fileOffsetMask = 0x00ffffff; + this.lookaheadBarrierMask = 0x00800000; + } else /* (typeSizes & 0x01) >> 0 == 1 */ { + this.fileOffsetBytes = 4; + this.fileOffsetMask = 0xffffffff; + this.lookaheadBarrierMask = 0x80000000; + } + if((typeSizes & 0x06) >> 1 == 0) { + this.resultIdBytes = 2; + this.resultIdMask = 0x0000ffff; + } else if((typeSizes & 0x06) >> 1 == 1) { + this.resultIdBytes = 3; + this.resultIdMask = 0x00ffffff; + } else if((typeSizes & 0x06) >> 1 == 2) { + this.resultIdBytes = 4; + this.resultIdMask = 0xffffffff; + } else /* (typeSizes & 0x06) >> 1 == 3 */ { + console.error("Invalid search data result ID byte value"); + return false; + } + if((typeSizes & 0x08) >> 3 == 0) { + this.nameSizeBytes = 1; + this.nameSizeMask = 0x00ff; + } else /* (typeSizes & 0x08) >> 3 == 1 */ { + this.nameSizeBytes = 2; + this.nameSizeMask = 0xffff; + } + + /* Separate the data into the trie and the result / type map. Because + we're reading larger values than there might be and then masking out + the high bytes, keep extra 1/2 byte padding at the end to avoid + OOB errors. */ + let mapOffset = view.getUint32(12, true); + let typeMapOffset = view.getUint32(16, true); + /* There may be a 3-byte file offset at the end of the trie which we'll + read as 32-bit, add one safety byte in that case */ + this.trie = new DataView(buffer, 20, mapOffset - 20 + (4 - this.fileOffsetBytes)); + /* There may be a 3-byte file size (for zero results) which we'll read + as 32-bit, add one safety byte in that case */ + this.map = new DataView(buffer, mapOffset, typeMapOffset - mapOffset + (4 - this.fileOffsetBytes)); + /* No variable-size types in the type map at the moment */ + this.typeMap = new DataView(buffer, typeMapOffset); + + /* Offset of the first result map item is after N + 1 offsets and N + flags, calculate flag offset from that */ + this.mapFlagsOffset = this.fileOffsetBytes*(((this.map.getUint32(0, true) & this.fileOffsetMask) - this.fileOffsetBytes)/(this.fileOffsetBytes + 1) + 1); + + /* Set initial properties */ + this.dataSize = buffer.byteLength; + this.symbolCount = view.getUint32(8, true) + " symbols (" + Math.round(this.dataSize/102.4)/10 + " kB)"; + this.maxResults = maxResults ? maxResults : 100; + this.searchString = ''; + this.searchStack = [this.trie.getUint32(0, true)]; + + /* istanbul ignore if */ + if(typeof document !== 'undefined') { + document.getElementById('search-symbolcount').innerHTML = this.symbolCount; + document.getElementById('search-input').disabled = false; + document.getElementById('search-input').placeholder = "Type something here …"; + document.getElementById('search-input').focus(); + + /* Search for the input value (there might be something already, + for example when going back in the browser) */ + let value = document.getElementById('search-input').value; + + /* Otherwise check the GET parameters for `q` and fill the input + with that */ + if(!value.length) { + var args = decodeURIComponent(window.location.search.substr(1)).trim().split('&'); + for(var i = 0; i != args.length; ++i) { + if(args[i].substring(0, 2) != 'q=') continue; + + value = document.getElementById('search-input').value = args[i].substring(2); + break; + } + } + + if(value.length) Search.searchAndRender(value); + } + + return true; + }, + + download: /* istanbul ignore next */ function(url) { + var req = window.XDomainRequest ? new XDomainRequest() : new XMLHttpRequest(); + if(!req) return; + + req.open("GET", url, true); + req.responseType = 'arraybuffer'; + req.onreadystatechange = function() { + if(req.readyState != 4) return; + + Search.init(req.response); + } + req.send(); + }, + + base85decode: function(base85string) { + function charValue(char) { + if(char >= 48 && char < 58) /* 0-9 -> 0-9 */ + return char - 48 + 0; + if(char >= 65 && char < 91) /* A-Z -> 10-35 */ + return char - 65 + 10; + if(char >= 97 && char < 123) /* a-z -> 36-61 */ + return char - 97 + 36; + if(char == 33) /* ! -> 62 */ + return 62; + /* skipping 34 (') */ + if(char >= 35 && char < 39) /* #-& -> 63-66 */ + return char - 35 + 63; + /* skipping 39 (") */ + if(char >= 40 && char < 44) /* (-+ -> 67-70 */ + return char - 40 + 67; + /* skipping 44 (,) */ + if(char == 45) /* - -> 71 */ + return 71; + if(char >= 59 && char < 65) /* ;-@ -> 72-77 */ + return char - 59 + 72; + if(char >= 94 && char < 97) /* ^-` -> 78-80 */ + return char - 94 + 78; + if(char >= 123 && char < 127) /* {-~ -> 81-84 */ + return char - 123 + 81; + + return 0; /* Interpret padding values as zeros */ + } + + /* Pad the string for easier decode later. We don't read past the file + end, so it doesn't matter what garbage is there. */ + if(base85string.length % 5) { + console.log("Expected properly padded base85 data"); + return; + } + + let buffer = new ArrayBuffer(base85string.length*4/5); + let data8 = new DataView(buffer); + for(let i = 0; i < base85string.length; i += 5) { + let char1 = charValue(base85string.charCodeAt(i + 0)); + let char2 = charValue(base85string.charCodeAt(i + 1)); + let char3 = charValue(base85string.charCodeAt(i + 2)); + let char4 = charValue(base85string.charCodeAt(i + 3)); + let char5 = charValue(base85string.charCodeAt(i + 4)); + + data8.setUint32(i*4/5, char5 + + char4*85 + + char3*85*85 + + char2*85*85*85 + + char1*85*85*85*85, false); /* BE, yes */ + } + + return buffer; + }, + + load: function(base85string) { + return this.init(this.base85decode(base85string)); + }, + + /* http://ecmanaut.blogspot.com/2006/07/encoding-decoding-utf8-in-javascript.html */ + toUtf8: function(string) { return unescape(encodeURIComponent(string)); }, + fromUtf8: function(string) { return decodeURIComponent(escape(string)); }, + + autocompletedCharsToUtf8: function(chars) { + /* Strip incomplete UTF-8 chars from the autocompletion end */ + for(let i = chars.length - 1; i >= 0; --i) { + let c = chars[i]; + + /* We're safe, finish */ + if( + /* ASCII value at the end */ + (c < 128 && i + 1 == chars.length) || + + /* Full two-byte character at the end */ + ((c & 0xe0) == 0xc0 && i + 2 == chars.length) || + + /* Full three-byte character at the end */ + ((c & 0xf0) == 0xe0 && i + 3 == chars.length) || + + /* Full four-byte character at the end */ + ((c & 0xf8) == 0xf0 && i + 4 == chars.length) + ) break; + + /* Continuing UTF-8 character, go further back */ + if((c & 0xc0) == 0x80) continue; + + /* Otherwise the character is not complete, drop it from the end */ + chars.length = i; + break; + } + + /* Convert the autocompleted UTF-8 sequence to a string */ + let suggestedTabAutocompletionString = ''; + for(let i = 0; i != chars.length; ++i) + suggestedTabAutocompletionString += String.fromCharCode(chars[i]); + return suggestedTabAutocompletionString; + }, + + /* Returns the values in UTF-8, but input is in whatever shitty 16bit + encoding JS has */ + search: function(searchString) { + /* Normalize the search string first, convert to UTF-8 and trim spaces + from the left. From the right they're trimmed only if nothing is + found, see below. */ + searchString = this.toUtf8(searchString.toLowerCase().replace(/^\s+/,'')); + + /* TODO: maybe i could make use of InputEvent.data and others here */ + + /* Find longest common prefix of previous and current value so we don't + need to needlessly search again */ + let max = Math.min(searchString.length, this.searchString.length); + let commonPrefix = 0; + for(; commonPrefix != max; ++commonPrefix) + if(searchString[commonPrefix] != this.searchString[commonPrefix]) break; + + /* Drop items off the stack if it has has more than is needed for the + common prefix (it needs to have at least one item, though) */ + if(commonPrefix + 1 < this.searchStack.length) + this.searchStack.splice(commonPrefix + 1, this.searchStack.length - commonPrefix - 1); + + /* Add new characters from the search string */ + let foundPrefix = commonPrefix; + for(; foundPrefix != searchString.length; ++foundPrefix) { + /* Calculate offset and count of children */ + let offset = this.searchStack[this.searchStack.length - 1]; + + /* If there's a lot of results, the result count is a 16bit BE value + instead */ + let resultCount = this.trie.getUint8(offset); + let resultCountSize = 1; + if(resultCount & 0x80) { + resultCount = this.trie.getUint16(offset, false) & ~0x8000; + ++resultCountSize; + } + + let childCount = this.trie.getUint8(offset + resultCountSize); + + /* Go through all children and find the next offset */ + let childOffset = offset + resultCountSize + 1 + resultCount*this.resultIdBytes; + let found = false; + for(let j = 0; j != childCount; ++j) { + if(String.fromCharCode(this.trie.getUint8(childOffset + j)) != searchString[foundPrefix]) + continue; + + this.searchStack.push(this.trie.getUint32(childOffset + childCount + j*this.fileOffsetBytes, true) & this.fileOffsetMask & ~this.lookaheadBarrierMask); + found = true; + break; + } + + /* Character not found */ + if(!found) { + /* If we found everything except spaces at the end, pretend the + spaces aren't there. On the other hand, we *do* want to + try searching with the spaces first -- it can narrow down + the result list for page names or show subpages (which are + after a lookahead barrier that's a space). */ + if(!searchString.substr(foundPrefix).trim().length) + searchString = searchString.substr(0, foundPrefix); + + break; + } + } + + /* Save the whole found prefix for next time */ + this.searchString = searchString.substr(0, foundPrefix); + + /* If the whole thing was not found, return an empty result and offer + external search */ + if(foundPrefix != searchString.length) { + /* istanbul ignore if */ + if(typeof document !== 'undefined') { + let link = document.getElementById('search-external'); + if(link) + link.href = link.dataset.searchEngine.replace('{query}', encodeURIComponent(searchString)); + } + return [[], '']; + } + + /* Otherwise gather the results */ + let suggestedTabAutocompletionChars = []; + let results = []; + let leaves = [[this.searchStack[this.searchStack.length - 1], 0]]; + while(leaves.length) { + /* Pop offset from the queue */ + let current = leaves.shift(); + let offset = current[0]; + let suffixLength = current[1]; + + /* Calculate child count. If there's a lot of results, the count + "leaks over" to the child count storage. */ + /* TODO: hmmm. this is helluvalot duplicated code. hmm. */ + let resultCount = this.trie.getUint8(offset); + let resultCountSize = 1; + if(resultCount & 0x80) { + resultCount = this.trie.getUint16(offset, false) & ~0x8000; + ++resultCountSize; + } + + let childCount = this.trie.getUint8(offset + resultCountSize); + + /* Populate the results with all values associated with this node */ + for(let i = 0; i != resultCount; ++i) { + let index = this.trie.getUint32(offset + resultCountSize + 1 + i*this.resultIdBytes, true) & this.resultIdMask; + results.push(this.gatherResult(index, suffixLength, 0xffffff)); /* should be enough haha */ + + /* 'nuff said. */ + if(results.length >= this.maxResults) + return [results, this.autocompletedCharsToUtf8(suggestedTabAutocompletionChars)]; + } + + /* Dig deeper */ + let childOffset = offset + resultCountSize + 1 + resultCount*this.resultIdBytes; + for(let j = 0; j != childCount; ++j) { + let offsetBarrier = this.trie.getUint32(childOffset + childCount + j*this.fileOffsetBytes, true) & this.fileOffsetMask; + + /* Lookahead barrier, don't dig deeper */ + if(offsetBarrier & this.lookaheadBarrierMask) continue; + + /* Append to the queue */ + leaves.push([offsetBarrier & ~this.lookaheadBarrierMask, suffixLength + 1]); + + /* We don't have anything yet and this is the only path + forward, add the char to suggested Tab autocompletion. Can't + extract it from the leftmost 8 bits of offsetBarrier because + that would make it negative, have to load as Uint8 instead. + Also can't use String.fromCharCode(), because later doing + str.charCodeAt() would give me back UTF-16 values, which is + absolutely unwanted when all I want is check for truncated + UTF-8. */ + if(!results.length && leaves.length == 1 && childCount == 1) + suggestedTabAutocompletionChars.push(this.trie.getUint8(childOffset + j)); + } + } + + return [results, this.autocompletedCharsToUtf8(suggestedTabAutocompletionChars)]; + }, + + gatherResult: function(index, suffixLength, maxUrlPrefix) { + let flags = this.map.getUint8(this.mapFlagsOffset + index); + let resultOffset = this.map.getUint32(index*this.fileOffsetBytes, true) & this.fileOffsetMask; + + /* The result is an alias, parse the aliased prefix */ + let aliasedIndex = null; + if((flags & 0xf0) == 0x00) { + aliasedIndex = this.map.getUint32(resultOffset, true) & this.resultIdMask; + resultOffset += this.resultIdBytes; + } + + /* The result has a prefix, parse that first, recursively */ + let name = ''; + let url = ''; + if(flags & (1 << 3)) { + let prefixIndex = this.map.getUint32(resultOffset, true) & this.resultIdMask; + let prefixUrlPrefixLength = Math.min(this.map.getUint16(resultOffset + this.resultIdBytes, true) & this.nameSizeMask, maxUrlPrefix); + + let prefix = this.gatherResult(prefixIndex, 0 /*ignored*/, prefixUrlPrefixLength); + name = prefix.name; + url = prefix.url; + + resultOffset += this.resultIdBytes + this.nameSizeBytes; + } + + /* The result has a suffix, extract its length */ + let resultSuffixLength = 0; + if(flags & (1 << 0)) { + resultSuffixLength = this.map.getUint16(resultOffset, true) & this.nameSizeMask; + resultOffset += this.nameSizeBytes; + } + + let nextResultOffset = this.map.getUint32((index + 1)*this.fileOffsetBytes, true) & this.fileOffsetMask; + + /* Extract name */ + let j = resultOffset; + for(; j != nextResultOffset; ++j) { + let c = this.map.getUint8(j); + + /* End of null-delimited name */ + if(!c) { + ++j; + break; /* null-delimited */ + } + + name += String.fromCharCode(c); /* eheh. IS THIS FAST?! */ + } + + /* The result is an alias and we're not deep inside resolving a prefix, + extract the aliased name and URL */ + /* TODO: this abuses 0xffffff to guess how the call stack is deep and + that's just wrong, fix! */ + if(aliasedIndex != null && maxUrlPrefix == 0xffffff) { + let alias = this.gatherResult(aliasedIndex, 0 /* ignored */, 0xffffff); /* should be enough haha */ + + /* Keeping in UTF-8, as we need that for proper slicing (and concatenating) */ + return {name: name, + alias: alias.name, + url: alias.url, + flags: alias.flags, + cssClass: alias.cssClass, + typeName: alias.typeName, + suffixLength: suffixLength + resultSuffixLength}; + } + + /* Otherwise extract URL from here */ + let max = Math.min(j + maxUrlPrefix - url.length, nextResultOffset); + for(; j != max; ++j) { + url += String.fromCharCode(this.map.getUint8(j)); + } + + /* This is an alias, return what we have, without parsed CSS class and + type name as those are retrieved from the final target type */ + if(!(flags >> 4)) + return {name: name, + url: url, + flags: flags & 0x0f, + suffixLength: suffixLength + resultSuffixLength}; + + /* Otherwise, get CSS class and type name for the result label */ + let typeMapIndex = (flags >> 4) - 1; + let cssClass = [ + /* Keep in sync with _search.py */ + 'm-default', + 'm-primary', + 'm-success', + 'm-warning', + 'm-danger', + 'm-info', + 'm-dim' + ][this.typeMap.getUint8(typeMapIndex*2)]; + let typeNameOffset = this.typeMap.getUint8(typeMapIndex*2 + 1); + let nextTypeNameOffset = this.typeMap.getUint8((typeMapIndex + 1)*2 + 1); + let typeName = ''; + for(let j = typeNameOffset; j != nextTypeNameOffset; ++j) + typeName += String.fromCharCode(this.typeMap.getUint8(j)); + + /* Keeping in UTF-8, as we need that for proper slicing (and + concatenating). Strip the type from the flags, as it's now expressed + directly. */ + return {name: name, + url: url, + flags: flags & 0x0f, + cssClass: cssClass, + typeName: typeName, + suffixLength: suffixLength + resultSuffixLength}; + }, + + escape: function(name) { + return name.replace(/[\"&<>]/g, function (a) { + return { '"': '"', '&': '&', '<': '<', '>': '>' }[a]; + }); + }, + escapeForRtl: function(name) { + /* Besides the obvious escaping of HTML entities we also need + to escape punctuation, because due to the RTL hack to cut + text off on left side the punctuation characters get + reordered (of course). Prepending ‎ works for most + characters, parentheses we need to *soak* in it. But only + the right ones. And that for some reason needs to be also for &. + Huh. https://en.wikipedia.org/wiki/Right-to-left_mark */ + return this.escape(name).replace(/[:=]/g, '‎$&').replace(/(\)|>|&|\/)/g, '‎$&‎'); + }, + + renderResults: /* istanbul ignore next */ function(resultsSuggestedTabAutocompletion) { + if(!this.searchString.length) { + document.getElementById('search-help').style.display = 'block'; + document.getElementById('search-results').style.display = 'none'; + document.getElementById('search-notfound').style.display = 'none'; + return; + } + + document.getElementById('search-help').style.display = 'none'; + + /* Results found */ + if(resultsSuggestedTabAutocompletion[0].length) { + let results = resultsSuggestedTabAutocompletion[0]; + + document.getElementById('search-results').style.display = 'block'; + document.getElementById('search-notfound').style.display = 'none'; + + let list = ''; + for(let i = 0; i != results.length; ++i) { + /* Labels + */ + list += '
                                                                                                                              ' + results[i].typeName + '
                                                                                                                              ' + (results[i].flags & 2 ? '
                                                                                                                              deprecated
                                                                                                                              ' : '') + (results[i].flags & 4 ? '
                                                                                                                              deleted
                                                                                                                              ' : ''); + + /* Render the alias (cut off from the right) */ + if(results[i].alias) { + list += '
                                                                                                                              ' + this.escape(results[i].name.substr(0, results[i].name.length - this.searchString.length - results[i].suffixLength)) + '' + this.escape(results[i].name.substr(results[i].name.length - this.searchString.length - results[i].suffixLength, this.searchString.length)) + '' + this.escapeForRtl(results[i].name.substr(results[i].name.length - results[i].suffixLength)) + ': ' + this.escape(results[i].alias) + ''; + + /* Render the normal thing (cut off from the left, have to + escape for RTL) */ + } else { + list += '
                                                                                                                              ' + this.escapeForRtl(results[i].name.substr(0, results[i].name.length - this.searchString.length - results[i].suffixLength)) + '' + this.escapeForRtl(results[i].name.substr(results[i].name.length - this.searchString.length - results[i].suffixLength, this.searchString.length)) + '' + this.escapeForRtl(results[i].name.substr(results[i].name.length - results[i].suffixLength)); + } + + /* The closing */ + list += '
                                                                                                                              '; + } + document.getElementById('search-results').innerHTML = this.fromUtf8(list); + document.getElementById('search-current').scrollIntoView(true); + + /* Append the suggested tab autocompletion, if any, and if the user + didn't just delete it */ + let searchInput = document.getElementById('search-input'); + if(this.autocompleteNextInputEvent && resultsSuggestedTabAutocompletion[1].length && searchInput.selectionEnd == searchInput.value.length) { + let suggestedTabAutocompletion = this.fromUtf8(resultsSuggestedTabAutocompletion[1]); + + let lengthBefore = searchInput.value.length; + searchInput.value += suggestedTabAutocompletion; + searchInput.setSelectionRange(lengthBefore, searchInput.value.length); + } + + /* Nothing found */ + } else { + document.getElementById('search-results').innerHTML = ''; + document.getElementById('search-results').style.display = 'none'; + document.getElementById('search-notfound').style.display = 'block'; + } + + /* Don't allow things to be selected just by motionless mouse cursor + suddenly appearing over a search result */ + this.mouseMovedSinceLastRender = false; + + /* Reset autocompletion, if it was allowed. It'll get whitelisted next + time a character gets inserted. */ + this.autocompleteNextInputEvent = false; + }, + + searchAndRender: /* istanbul ignore next */ function(value) { + let prev = performance.now(); + let results = this.search(value); + let after = performance.now(); + this.renderResults(results); + if(this.searchString.length) { + document.getElementById('search-symbolcount').innerHTML = + results[0].length + (results[0].length >= this.maxResults ? '+' : '') + " results (" + Math.round((after - prev)*10)/10 + " ms)"; + } else + document.getElementById('search-symbolcount').innerHTML = this.symbolCount; + }, +}; + +/* istanbul ignore next */ +function selectResult(event) { + if(!Search.mouseMovedSinceLastRender) return; + + if(event.currentTarget.parentNode.id == 'search-current') return; + + let current = document.getElementById('search-current'); + current.removeAttribute('id'); + event.currentTarget.parentNode.id = 'search-current'; +} + +/* This is separated from showSearch() because we need non-destructive behavior + when appearing directly on a URL with #search */ /* istanbul ignore next */ +function updateForSearchVisible() { + /* Prevent accidental scrolling of the body, prevent page layout jumps */ + let scrolledBodyWidth = document.body.offsetWidth; + document.body.style.overflow = 'hidden'; + document.body.style.paddingRight = (document.body.offsetWidth - scrolledBodyWidth) + 'px'; + + document.getElementById('search-input').value = ''; + document.getElementById('search-input').focus(); + document.getElementById('search-results').style.display = 'none'; + document.getElementById('search-notfound').style.display = 'none'; + document.getElementById('search-help').style.display = 'block'; +} + +/* istanbul ignore next */ +function showSearch() { + window.location.hash = '#search'; + Search.canGoBackToHideSearch = true; + + updateForSearchVisible(); + document.getElementById('search-symbolcount').innerHTML = Search.symbolCount; + return false; +} + +/* istanbul ignore next */ +function hideSearch() { + /* If the search box was opened using showSearch(), we can go back in the + history. Otherwise (for example when we landed to #search from a + bookmark or another server), going back would not do the right thing and + in that case we simply replace the current history state. */ + if(Search.canGoBackToHideSearch) { + Search.canGoBackToHideSearch = false; + window.history.back(); + } else { + window.location.hash = '#!'; + window.history.replaceState('', '', window.location.pathname); + } + + /* Restore scrollbar, prevent page layout jumps */ + document.body.style.overflow = 'auto'; + document.body.style.paddingRight = '0'; + + return false; +} + +/* istanbul ignore next */ +function copyToKeyboard(text) { + /* Append to the popup, appending to document.body would cause it to + scroll when focused */ + let searchPopup = document.getElementsByClassName('m-doc-search')[0]; + let textarea = document.createElement("textarea"); + textarea.value = text; + searchPopup.appendChild(textarea); + textarea.focus(); + textarea.select(); + + document.execCommand('copy'); + + searchPopup.removeChild(textarea); + document.getElementById('search-input').focus(); +} + +/* Only in case we're running in a browser. Why a simple if(document) doesn't + work is beyond me. */ /* istanbul ignore if */ +if(typeof document !== 'undefined') { + document.getElementById('search-input').oninput = function(event) { + Search.searchAndRender(document.getElementById('search-input').value); + }; + + document.onkeydown = function(event) { + /* Search shown */ + if(window.location.hash == '#search') { + /* Close the search */ + if(event.key == 'Escape') { + hideSearch(); + + /* Focus the search input, if not already, using T or Tab */ + } else if((!document.activeElement || document.activeElement.id != 'search-input') && (event.key.toLowerCase() == 't' || event.key == 'Tab') && !event.shiftKey && !event.ctrlKey && !event.altKey && !event.metaKey) { + document.getElementById('search-input').focus(); + return false; /* so T doesn't get entered into the box */ + + /* Fill in the autocompleted selection */ + } else if(event.key == 'Tab' && !event.shiftKey && !event.ctrlKey && !event.altKey && !event.metaKey) { + /* But only if the input has selection at the end */ + let input = document.getElementById('search-input'); + if(input.selectionEnd == input.value.length && input.selectionStart != input.selectionEnd) { + input.setSelectionRange(input.value.length, input.value.length); + return false; /* so input won't lose focus */ + } + + /* Select next item */ + } else if(event.key == 'ArrowDown') { + let current = document.getElementById('search-current'); + if(current) { + let next = current.nextSibling; + if(next) { + current.id = ''; + next.id = 'search-current'; + next.scrollIntoView(false); + } + } + return false; /* so the keypress doesn't affect input cursor */ + + /* Select prev item */ + } else if(event.key == 'ArrowUp') { + let current = document.getElementById('search-current'); + if(current) { + let prev = current.previousSibling; + if(prev) { + current.id = ''; + prev.id = 'search-current'; + prev.scrollIntoView(false); + } + } + return false; /* so the keypress doesn't affect input cursor */ + + /* Go to result (if any) */ + } else if(event.key == 'Enter') { + let result = document.getElementById('search-current'); + if(result) { + result.firstElementChild.click(); + + /* We might be staying on the same page, so restore scrollbar, + and prevent page layout jumps */ + document.body.style.overflow = 'auto'; + document.body.style.paddingRight = '0'; + } + return false; /* so the form doesn't get sent */ + + /* Copy (Markdown) link to keyboard */ + } else if((event.key.toLowerCase() == 'l' || event.key.toLowerCase() == 'm') && event.metaKey) { + let result = document.getElementById('search-current'); + if(result) { + let plain = event.key.toLowerCase() == 'l'; + let link = plain ? result.firstElementChild.href : + '[' + result.firstElementChild.dataset.mdLinkTitle + '](' + result.firstElementChild.href + ')'; + + copyToKeyboard(link); + + /* Add CSS class to the element for visual feedback (this + will get removed on keyup), but only if it's not already + there (in case of key repeat, e.g.) */ + if(result.className.indexOf('m-doc-search-copied') == -1) + result.className += ' m-doc-search-copied'; + console.log("Copied " + (plain ? "link" : "Markdown link") + " to " + result.firstElementChild.dataset.mdLinkTitle); + } + + return false; /* so L doesn't get entered into the box */ + + /* Looks like the user is inserting some text (and not cutting, + copying or whatever), allow autocompletion for the new + character. The oninput event resets this back to false, so this + basically whitelists only keyboard input, including Shift-key + and special chars using right Alt (or equivalent on Mac), but + excluding Ctrl-key, which is usually not for text input. In the + worst case the autocompletion won't be allowed ever, which is + much more acceptable behavior than having no ability to disable + it and annoying the users. */ + } else if(event.key != 'Backspace' && event.key != 'Delete' && !event.metaKey && (!event.ctrlKey || event.altKey) + /* Don't ever attempt autocompletion with Android virtual + keyboards, as those report all `event.key`s as + `Unidentified` (on Chrome) or `Process` (on Firefox) with + `event.code` 229 and thus we have no way to tell if a text + is entered or deleted. See this WONTFIX bug for details: + https://bugs.chromium.org/p/chromium/issues/detail?id=118639 + Couldn't find any similar bugreport for Firefox, but I + assume the virtual keyboard is to blame. + + An alternative is to hook into inputEvent, which has the + data, but ... there's more cursed issues right after that: + + - setSelectionRange() in Chrome on Android only renders + stuff, but doesn't actually act as such. Pressing + Backspace will only remove the highlight, but the text + stays here. Only delay-calling it through a timeout will + work as intended. Possibly related SO suggestion (back + then not even the rendering worked properly): + https://stackoverflow.com/a/13235951 + Possibly related Chrome bug: + https://bugs.chromium.org/p/chromium/issues/detail?id=32865 + + - On Firefox Mobile, programmatically changing an input + value (for the autocompletion highlight) will trigger an + input event, leading to search *and* autocompletion being + triggered again. Ultimately that results in newly typed + characters not replacing the autocompletion but rather + inserting before it, corrupting the searched string. This + event has to be explicitly ignored. + + - On Firefox Mobile, deleting a highlight with the + backspace key will result in *three* input events instead + of one: + 1. `deleteContentBackward` removing the selection (same + as Chrome or desktop Firefox) + 2. `deleteContentBackward` removing *the whole word* + that contained the selection (or the whole text if + it's just one word) + 3. `insertCompositionText`, adding the word back in, + resulting in the same state as (1). + I have no idea WHY it has to do this (possibly some + REALLY NASTY workaround to trigger correct font shaping?) + but ultimately it results in the autocompletion being + added again right after it got deleted, making this whole + thing VERY annoying to use. + + I attempted to work around the above, but it resulted in a + huge amount of browser-specific code that achieves only 90% + of the goal, with certain corner cases still being rather + broken (such as autocompletion randomly triggering when + erasing the text, even though it shouldn't). So disabling + autocompletion on this HELLISH BROKEN PLATFORM is the best + option at the moment. */ + && event.key != 'Unidentified' && event.key != 'Process' + ) { + Search.autocompleteNextInputEvent = true; + /* Otherwise reset the flag, because when the user would press e.g. + the 'a' key and then e.g. ArrowRight (which doesn't trigger + oninput), a Backspace after would still result in + autocompleteNextInputEvent, because nothing reset it back. */ + } else { + Search.autocompleteNextInputEvent = false; + } + + /* Search hidden */ + } else { + /* Open the search on the T or Tab key */ + if((event.key.toLowerCase() == 't' || event.key == 'Tab') && !event.shiftKey && !event.ctrlKey && !event.altKey && !event.metaKey) { + showSearch(); + return false; /* so T doesn't get entered into the box */ + } + } + }; + + document.onkeyup = function(event) { + /* Remove highlight after key is released after a link copy */ + if((event.key.toLowerCase() == 'l' || event.key.toLowerCase() == 'm') && event.metaKey) { + let result = document.getElementById('search-current'); + if(result) result.className = result.className.replace(' m-doc-search-copied', ''); + } + }; + + /* Allow selecting items by mouse hover only after it moves once the + results are populated. This prevents a random item getting selected if + the cursor is left motionless over the result area. */ + document.getElementById('search-results').onmousemove = function() { + Search.mouseMovedSinceLastRender = true; + }; + + /* If #search is already present in the URL, hide the scrollbar etc. for a + consistent experience */ + if(window.location.hash == '#search') updateForSearchVisible(); +} + +/* For Node.js testing */ /* istanbul ignore else */ +if(typeof module !== 'undefined') { module.exports = { Search: Search }; } diff --git a/v2.5.0/searchdata-v2.js b/v2.5.0/searchdata-v2.js new file mode 100644 index 00000000..f9e8ca86 --- /dev/null +++ b/v2.5.0/searchdata-v2.js @@ -0,0 +1,2 @@ +/* Generated by https://mcss.mosra.cz/documentation/doxygen/. Do not edit. */ +Search.load('O+!-x00000&jA1cgjN6m+1LO85>@~J0RR9100CtL00001ZU_JX00D0f000310RR92a~c2u00Ctl00001Z6p8y00C(#00001bT9w_00Cb%00001WIO->00C}700001VMqV~00Cc400001b5sBT00CuM00001bYK7g00CiU00001WNZKc00Cce00001Wq1Gp00DG<00001Z-f8<00DK1000310ssI3bCv)A00C#300001ZlC}F00C*H00001a;yLV00DHe00001bGQHi00CdV00001Y{UQn00Cjj00001a?k((00Cvz00001bld;{00C*@000310{{R4bM62D00C$600001ZukHI00C+K00001as&YY00DFg0RR92a}WUl00CbX0RR92WgGzj00C|y0RR92X(#~z00C?+0RR92Uo-�C(_0RR92bU*YY00CzT0ssI3VGsfU00C?k0ssI3W*h<{AXRZPO00C~Y0ssI3X}AIa00DBo0ssI3bi@Jx0RRdB00DB)0ssI3Wz+%y00C#(0ssI3W#9q;00DI70ssI3ZtMa80RRgC00DIP0ssI3Zu|lO00C(N0{{R4ZwLbb00D3g0{{R4UlaoX00Czj0{{R4ZXg2y00C(x0{{R4bSwh^00Ch#0{{R4Z#V-000C@10{{U43;+NDZb}0H00Ci60{{R4WmE$I00C@T0{{R4Z(sue00D1i0{{U44*&oGWpV=m00C`w0{{R4X?z0!00DG@0{{U54FF$=0{{R4WsU;?00DHC0{{R4VVna100?e$VRLC_Vq{zb0Ehwrr~&}W0s!&?07L@-Yy$wI0{{R4I;aBx0Ra#II?4lp00Cvt0{{R4aM%L?00DX40{{U4)B*qjDe40N0RhtjDDDG*00BJo0{{U4-U0vtDFOrl0Ri0tC>;mor00Ajj1ONj8?*i)r?E)xZ1b_emU1kIT00cZBJzM+(044+gQUm~U1ONa5a(Dy)00D1`1ONa5bdUr900Ci^1ONa5a-0MJ00Cv91ONa5aHs?T0RYwl00Akq1ONj7*aF%D+yVdrDZT^%0|D0p*#g@FD8>YU00DQ*1ONa5W!MA&00C*<1ONa5cH{&A0Rq(mC||e)fa(MQ00Cw21ONa5Wc&mG00D0T1pom6@&W(>DGmhy0RZ#@00Ai&1pom7^8zRw1%Lnnc_IY>00Cht1poj6axet|00D9~1pom6_5uI_DMAGR0Ri;_C`JW<00C}H1poj6VN?YG00CuM1poj6Y+wZd00D1i1poj6Z)^ns0RZ>{00Aj@1pom6`T_s}DS`z60Ri~}D24@q00Cu;1poj6ZIlH700C*51poj6bf5(Q0Rr~|C|`U9fTjfi00CvJ1poj6bhrfo00CjX1pom6`~m<0Dar)^0Rj60D9#0d00DH=1poj6ZrlX`00C*@1poj6Z|DU800D6B1poj6U-Sh400C$E1poj6ZU6=V00C(R1^@s7bPNUn00ChV1^@s7Zx{vu00C?s1^@v7{sI62DJlj40RjC2C@uzo00D9|1^@s7WjqD|00C!01^@s7Wk?1900DGP1^@s7Zd3*U0RR9400Ajr1^@v8{{kpv27mwoXKDrj00C}t1^@s7X?O+z00DA-1^@s7bc6-~0RRF600AkG1^@v80Rt$M27mwoWts*600C^G1^@s7VyFfH0RRL800Akq1^@v80|O|y27mwoWxfUg00C{r1^@s8VQH=g0L%se00&`WWM*k|bUXzBas>dy1pp)l09pnBiUt7E1^@v9@d7Ac5(R+V1^@s7bNU7V0RRRA00Ais2LJ&82m=5CDHaC+0RRdE00Ai=2LJ&92?Ho32Y>(pb1DY_00Ct(2LJ#8Y&Zu100Ck?2LJ#8VMGT200DGL2LJ#8Ur+}C00CxJ2LJ#8Z(Iie0RjgDC|?=}fMN##00DVu2LJ#8VRQ!o00DA(2LJ#8a)1W_0RRjG00AkC2LJ&93j-*S2Y>(pZk7iC00Cj12LJ#8WuylH00C^O2LJ#8Z?Fdd00D2d2LJ&84g&xIDZ&Q;0RRvK00Ak?2LJ&94+ALB2Y>(pW!47(00C{@2LJ#8Y2*h000DIB2LJ&A4Ff1&#s`4#2LJ#8W%dUE00DFY2mk;9VF(BS0RR#M00Ai!2mk>A5d$a~2!H?qbRGx*00C|$2mk;9X)Fi;00D0@2mk;9a5xA600Cb<2mk;9XG91900C}F2mk;9X;26N00DGX2mk;9VO$6R00D1e2mk;9Y-k7o0{|EU76TLm00Aj<2mk{C7XuXo69XuG2!H?qbAku}00DK52mk;9Z98Up|UDar@{0Rb5UD9#9g00DB;2mk;9W!wk=00C#>2mk;9W#|Y100DIF2mk;9ZuAHM0RS8W00Aig2><~B8v`f=34j0rata9m00CtZ2><{AVi*Yk00C_t2><{AbtDM@0RSEY00Aj52><~B9Rnyd34j0rXF3T000C}72><{AX-EkG00DAN2><{AbW{ld0RSKa00Ajr2><~B9|I_434j0rWoiik00C@r2><{AVt5Gv0RSQc00Ak42><~BAp<{BVQGE|0GtT`0RSWe00Aki2><~BBLgU~34j0rWwr?b00DKr2><{AY{Urw00Cjj2><{JVPa%vXlZV9basXZ0K5kP4hR5l2mr(g0Qv|3DhU8u2>_xA0MH2l0RjaBC|?i9EU00Ctj3IG5Ba3l%<00DU_3IG8BC<6ciDK-iK0RbliC^`y&00Cw|3IG5BWk?DD0RSok00Ajf3IG8BECT=mDP9Ty0RbxmC}IkL00DGp3IG5BV{i%p00Cik3IG5Bczg-~0RS!o00Ak83IG8CEdwZw3V;9sa*_%F00L!if(ihd3IG8DDFY~9SPFok3IG5BWvU7Q00DKj3IG5BY`h8p0RS)q00Ak;3IG8CF9Rsd3V;9sbkYg{00C**3IG5BbKnX900LoY!U_Q93IG5HZ*E~}baHmC1ONyH00svD3<>}+3II+D0PG3?00BDo3IG8CF#|dj3xEItcNz--00Ctp3jhECX($T-00MM&00Cu43jhECV^9kK00DAV3jhECbzBPo00D1e3jhHCMgjl00Aky3jhHDM*=9o3xEItKE?|G00Cvr3jhECWYh})00D2>3jhEDV{Wz!0N@J%00BJa3jhECckl}U00Cw83jhECY5WTS00DLa3;+NDUkD5U00CtV3;+NDWE2bl00D0r3;+NDZXgT*00AH-3;+NDax4r000D0@3;+NDbT|wE00Ch>3;+NDazqRO00Cu63;+NDa8L{Y0su+^OacG_DO?Ny0RT<{00Ajz3;+QEO#&!v41fRud2$Q@00Cio3;+NDa)1l~00DA_3;+QDPyzq}DUu8T0Rc|}D3%O>00C~C3;+NDVWbQI00CvH3;+NDY_JRf00D2d3;+NDZ@dfu0RU1000Ak;3;+QDR0042Dbfr80RdA2DAo*s00Cv(3;+NDZR89900C+03;+NDbnpxS0RmA1C|}GBfc6Xk00CwE3;+NDbO;Rq00ChR4FCZERssM4DH;s`0RdG4C>{-f00DF)4FCWEZY&J|00C(-4FCWEZ#WGA00D454FCWEUqlT600C!84FCWEZcq&X00C)M4FCWEbX*Mp00CiQ4FCWEZ)gnw00C@n4FCZESONe6DS8b60RdM6D1Hrq00DA@4FCWEWsD5~00C!`4FCWEWta^B00DHK4FCWEZlnzW0RUP800Akm4FCZFSpq1u4S)avXSxjl00C~o4FCWEX~+!#00DB&4FCWEbkq$10RUVA00AlB4FCZFTLLKL4S)avW$Fz800C_B4FCWEV)zXJ0RUbC00Aik4gdiGT>>Zw4uAjwWeyGi00C_l4gdfGVQKyi02~eg00&`WWM*k|bc_rD!VCZu4FGfv0ICfD+6@3A4gdlINdij(C|_a>fGiFG00DDK4gdiFU;+REDP9f$0RUnG00Ajz4gdiFWC8#IDRK?~0RdwID0U8j00DD+4gdfFWrPj@00C@@4gdfFVvr6100Ci^4gdfFbes+V00Cd34gdfFW~dGT00D2V4gdiHVFD;$Yz~054gdfFdAbe&00Cjf4gdfFa?B0@00DB+4gdiFW&!{KDc%kM0Rd$KDB=!)00D034gdfFVek$B00Cw84gdfFZ2S%Y00D0T4*&oGZwLf200C(>4*&oGbUY6L0Rm?NC|?*4fI<%d00Cu44*&oGbW{%j00CiI4*&rGYytoQDP|7<0Rd|QC~6OY00DGx4*&oGZg>v>00C)!4*&oGZ-fs300D4{4*&oGUyu&~00C!~4*&oGZk!JQ00C*D4*&oGbf^yi00CjH4*&oGZ?q2p00C^e4*&!JbOLe$ZUS%u00Ak+4*&!Ka{_S!Z31rsD9{gp00DE>4*&oGb>t5K00D364*&oGW$+IG00D0H4*&oGW&95S00CzL5C8xHZwL?o00C_d5C8xHZxj#!0RVOa00Ai=5C8!Ibpj|P5P$#yaw-r200Ct(5C8xHXE+c500Ct_5C8xHbVLvU00C}F5C8!Hcme5C8xHZR`*L00LoY)DQsj5C8!HfC2ykDFP7y0RevkC=4**~f0Kg9b8V~?b5CDJ>0I(1M_z(al5dZ-KUjis!Vh(^T5dZ)Ib5;=m0RVym00Ajz5dZ-JfdVLO5r6;zWpWV!00D4%5dZ)Id4LfB0|0~qh60EJ00AkC5dZ@Lg93#DhXN>+5r6;zW||QI00CvD5dZ-IiUI%uDY6j&0RW5w00Aky5dZ-JivlRX5r6;zbjA??00Cpp5dZ)IVbl=-00DT~5dZ-IjsgGyDdrIX0RfEyDC!Y_00DCF5dZ)JWpCgS0QeCA0Ro8vC||Y_fc_Bx00CtP5&!@Jbrcc+00C?o5LkOGndlmY+&DJBvC0|Ac$kphzfC@vC!00DF~5&!@JX+RPH00DDG5&!@KVQC-|08A1900(n#VQF-7c4!L#Rtx}G4gg{i0EQ6&tPucG5&!@JI$RO}0Roi*Uph1k0D2OD00Cuy5&!@JWQ-C300D235&!`J5dZ)IWu6iM00C~I5&!@JZ>SOg0RR#J00DWl5&!@Ja<~!z00CjX5&!@JZp0D*00C*r5&!`J6951KY}OJ000Cjz5&!@Jbl?&I00Cp>5&!`J6aWALZ1NHS00Ck45&!@JZTu1d00C(N6951KV+a!f00CtV6951KWE2ws00Chd6951Kcpwu100Ctt6951MVsB{B5&-NH04x�Cbz6951Kb3hXS00Ch}6951KUrZAK00DGT6951KVOSFY00C`Y6951Ka%2+#00D1m6951LZf33$0B{ok00BC76954L6#zPb6Mz5#bA}TD00C!?6951KVU!a900C^86951KW}p)Q0RTAx00C#L6951Ka9ie0{~0`P61E>00Ai^6aWJNQUO!}RsjG3DKZoQ0|8M1Qvp>0C^{5?0|QF|O#x2c8D0CEn0|Gw*K>JDY_H@0|8+HV*zCWD8dwg0|HwCT>)PKC_S_kfXEa80RWx>00AlF6aWDModGE56o3E$Chimf00Cw86aWALaQqYi00DUd6#xJMbO;py00CbP6#xJMWfTrvWI;6@UN+JUt;kASz500E83(rW63w6acyv0MZoz00DB|6#xJMZ}=4e00DIV6#xJMVFVTc00D9e761SNWe^qs00D3o761YOXaQ;g00Ai?761YPX8~yeC@2761SNY(y3S0RU_P00Ajb761VOYXK-!7JvW&Zdw)q00CiQ761SNWoQ-v00C@n761SNZ*&#_00D1$761VNZUF!RDTWpR0RV6T00AkG761VOZviNj7JvW&WttWM00C{H761SNX{Z(e00DHa761VPZ2>4>iWY#h761SNWx5ss00DHy761SNVayf)0RVCV00Al3761VOaRDgY7JvW&bmA5O00D05761SNY48>R00D3I761SNaQqek00CbD7XSbOX9yPn00C|e7XSbOX%rU#00DFw7XSbOVIUU(00D0%7XSbOY%CW50RVIX00AjD7XSePa{(wk7k~f(azYmX00Cu67XSbOXHXXa00CuI7XSbObX*qz00C}d7XSeOb^!nZDQ*`40ReRZC~_Bo00C!s7XSbOZh#j600C)+7XSbOa*P)M00DH87XSeOcmV(bDV`Sq0ReXbD54jD00CvF7XSbOZLk*r00C*X7XSbTVq|7%b98_f0MZr!G8X`77XX+S0K69f00CdZ7XSbObKDmI0RVad00AlJ7XSePc>yTw7k~f(dGZ$k00Ck87XSbOasU_r00D9a7ytnPd;tIfDH0d}0RejfC>9ui00C|s7ytkPVI&v;00Ctx7ytkPY%mxA00D0{7ytkPZ#)W}H7yy(Q0Q49DN*Mrv833>u0N@z_C>j7(8UO$RUtAgh00DD`8UO(RmH_|(DUuoh0Rfc(D3%(400Cv38UO$RaHJXl00DWb8UON00D9&8vp8~^|XZ((9(Y@Qnc)EfZ)8vq;}06-i70RXH300DAb8~^|TZ(tk%00DGn8~^|TVQd@#00DAx8~^|TWq2F_1OV&+@Br=r@&Etz00DKv9RL6UY{(q|00Cjn9RL6XVQ6%ADjfiT9RR8w0Ms1-00Cdx9RL6WbZ&Eg900T&0PGzA1OTo8vH-9Ev;Y7BDF7Y-1Ocr8u>h|Cvj8Xx9)JJ=c@Q1|00Chh9smFVawHxA0RRvI00Aj59smIW4*@7N9)JJ=c{&~d00Ch_9smFVa!4Kk00DAN9smFVVN@Of00CcG9smFWa&syk0AL;f0sy!Gwg3PDDR3SD0{{vE4gm}S00Aj{9smOY2>}fO3jrvE9)JP@w*a*OC_Q!_fQlXf0RX%J00Aka9smIWy8tMt9)JJ=Jgy!90s!^^_y7O_DZCy40s-{^_W&ru9)JJ=UC15)0RRXA00Al39smIW2LUMD9)JJ=J>nh!00cceTOpPn0Ja_g(jEZn9smFVa_}Ai00D0T9{>OWbO;{+00ChR9{>OWaugo`00Cth9{>OWa3CK50RXxH00Aj19{>RXxd13IAAkS>c{U#a00Ch>9{>OWazq~h00DAJ9{>OWVNf3c0sy`MzyJUNDO?`_0s*}MzW^v=AAkS>YiJ(;00Coi9{>UX!T`ho00Aj}9{>UY!2rVmD1;w?00C}_9{>OWX_OxT00C#39{>OXVP$w90H7ZL0RYYb00Akm9{>RW&;S4dDY_p30RhhdD83(n00C>n9{>OWW6U1_00Cjr9{>OWV%Q%50RqhcC||T6fZiVf00Cv>9{>OWWAGmU00Ck49{>RW(f|MfDFPq>0RhnfC&^00Cq+AOHdY*Z|r900AjRAOHdZ*8tf7C`=%L00CuEAOHXXb6g+*00CiQAOHXZZEkWTAOJuh0B9fp0s!0q-T(jrDSRLR0s-3q-2ff00AlPAOHdZ=K$#dDD)tJ00DFQAOHXXVFV!n0s`XzDJmfV0Ri&>C@vv@00Ct*ApigYdORTj00C)2ApigYb4Vco00Cc4ApigYcvK+(00CiIApijY`Tzg{DP|!60Ri~{C~6^q00C=oApigYV|XC|00CisApigYVuT?800Cc$ApigYaF8JY0Ra2}00AkSApijZ`v54QA%Fk@Yo;Lp00CpJApigYVYDFt00CmUApigYU%(*%00C&mApigYbIc(C00M7ymLUMrApijY{r~_0DdHgj0RjC0DCQx600Cv}ApigYcJv_t00DCPApijY00962DFz|{0RjI2C<-Eg00CtXA^-pZdKe-A00L!c03rY$A^-pZb0i`F00Ct#A^-sZ0s#O4DLNtm0RaI4C_W;900DGFA^-pZX-pyj00CxFA^-pZUsxgl00D1aA^-pZbYvm`00CcWA^-pZYj7d}00C}xA^-pZX?!9800DA>A^-sZ1OWg6DUKol0RaO6D3T(800Cu~A^-pZdY~cz00L-fh#~-{A^-sZ1_1y8DYha20RaU8D7qqm00CvdA^-pZbjTtA00CjnA^-pZW7Hx500C~=A^-pZb>JcZ0RSKY00AlNA^-sa9|0)vB7gt^W%eQf00D6RA^-paa(U(=00bid01jhmVQ+q7WoBn>aB_2WMjQb09ROw?045&*Rv!SS9{_G30N5Y^Bq0D`ApqDR05l>1tReskBLDyaIus)S0RkZbUpi7708S%-00DVaBLDyaVPGQw00DAlBLDyaa%>|20RR^O00DA%BLDyaZ+s&F00DG@BLDyaVTdCD00DB2BLDyaWt1ZT00DHGBLDyaX`mwj00Cd7BLDyad8{J<00CjLBLDyaa=0S^00DBoBLD#a7ytkPa>^qB00D2#BLDyabkrjN00CjzBLDyaa^NEX00Cv@BLDyabnGJl00C+8BLDyaU-%;c00CwGBLDyaYy>0#00CkOBme*bVGtw$00Loj#3KL}Bme*bUmPR=00DF+Bme*bb1WnP00C|?Bme*bZ#X0X0RR~Q00Cx1Bme*bZ%8Bn00Cc4Bme*bWmF^p00D4XBme*bd0->}00DGnBme*bUu+}*0RXB200LxkawGtFBme*bWqc$600DG{Bme*ba*QMZ00Cu^Bme*bbC@Im0RSEV00DWVBme*bVW=bk00DBYBme*ba0RSHW00C~mBme*bVZpR0RSKX00C_1Bme*bVeBLT00Cq2Bme*bY4{`n00C$IBme*bZv-U(00C?YB>(^cZxAH_00C|mB>(^cZyY5600D9$B>({cApigYaxNtR00Ct(B>(^cZa5_X00C(}B>(^cVMHYW00DGLB>(^cZcrrv00L-lC?x<^B>({cBLDyaWo9J+00C`kB>(^cX>cU~00DG%B>({dA^=}}B>(^cWr8ID00DH0B>(^cVUQ&N0RSWb00DHIB>(^cZlEOq00C*HB>(^cZ>%K%00D5aB>(^cU$`Xz00C#dB>(^cZp0-300C*rB>(^cbkHRL00CjvB>(^cZ`>sS00C^`B>({cB>(^ca_%Jn00Cw4B>(^cXZR%m00CwGB>(^cbOa^<00C|aCIA5dCjbBecNQi900CthCIA2dX&@#500DL;CIA5eCIDY7CIA2dWiloJ00Cq=CIA5dC;$Kfaz-Wq00Cu6CIA2dVo)Xk00C`QCIA2eZ*@Q>09+;j0RSlg00C!gCIA2dZg3_500C)sCIA2da(pHL00DG@CIA5dDgXchWsW8Q00C^0CIA2dVwffX0RSri00CvBCIA2dZKx&y00LoYo+bdUCIA5dEC2ujWxgf=00DKvCIA2dY{(`600CjnCIA2mVPa!sW@&D7bauKV0OBM7TqOXOB>?Cp01zesVkQ8HCIGZ10MsS`00CdxCIA2eZgZX_00buh0RS2R00C?iCjbBeVHhU>00C|uCjbBeZzLxG00C(#CjboqE&wn9G5|aPHUK^VGypgNLI64dKmbMnL;wH*DK;kn4FN3xF90zBI{-BRJpeNRHvmBZIRHNZMF2wpC{ibY00BH$CjbBeJa{Jn00DA-CjbBeZ-gfR00DH0CjbBeVUQ;P00DBACjbBfbY(Cn0GuZP00D5KCjbEe8vp00D2pC;$KfbjT00C(ZDF6TgbQCE700C(lDF6Tgb08@I00Loe@FxH!DF6Wgs{sH3ZZ;_Z00C(_DF6TgXFw?c00Cu2DF6WgtN{Q4WKt;r00C}RDF6WgtpNZ5XksY<00DGnDF6TgVQeV?0RXQ700Aj@DF6Wht^p`~DS!Y0Xo4vK00DH0DF6TgVUQ^R00D58DF6TgUz{lb00Cv9DF6TgWT+_s00C*PDF6TjVr6i5Oep|dDFAXQ0JJFp00BC>DF6WhumL*EDS!Y0Zqg|L00D2>DF6TgY2YaU00C#_DF6TgW$Y;c00U`oa>yqDEGYo;DF6TgU-&5i00CtNDgXchV+<+)00D9mDgXchbr>oD00D0vDgXfh9RL6Uaw;kS00D0;Wj?Du4h1ZssZg00C+4DgXchXY?un00CwCDgXfh?*RY-DF!P50Rip-C<-fp00CqWD*yliZWt>70RZs<00Ai^D*yoj@Bt_&D}Vq2axNOD7Gws00C~iEC2ujXT&T300C*rEC2ujbI>dR00DE>EC2ujVcaYL00Cd(EC2uja_B4o00D3AEC2!m5&{qcC||5Bfb=W?00DIREC2ujatJK|00CtVEdT%ka}+HA00VS$ZhR{Mpez6yEdT-l%K^y&00Aj3EdT)k+W`OpDLO3x0Rh?pC_XKK0s_hb$N?xlG%bKcEdT)k*8uOf3LxEdYcq0H`eh00DBYEdT%kZ@?`800DHyEdT%kVazQ600DB+EdT%kW!NnM00D5`EdT@n%>mH?&jHf`00AlLEdT@o%mL5=&H>T^DD*9W00CwCEdT%kYzQs@00CkSE&u@lCjtNgDH<*S0RbigC>}0=00CtrE&u=la4aqW00Loo6fOWVE&u@l)d2tjDMBs)0RhwjC`K-T00Cu8E&u=lY*a1)00ClJE&u=lVPGx*00DGnE&u`m=>h8j00Aj-E&u`n=mF{hD0nV_00C}(E&u=lX^1WW00C!?E&u=lWt1)e0RZ;_00AkWE&u@m_5moQE`R_5WvVU!00CpNE&u=lVYn^;0RZ^{00Ak)E&u@m_yH)$E`R_5dCo2X00L}uzAgaPE&u=laNI5c0s#8~{Q&?0DeNu)0s;B~`~fKPE`R_5WcV%s1pxm60RjaA2Lb~E00AioF8~Dr{s9021Of&E0s<%$FMt36Wg0I400DC200DE(F8~ApDFQ75D*`V900Al5F8~ApF#2b75ylD*zxZ0OTzII4%HeE&!S?06Z@MbT0syF96gp04y*700BBOFaQApI09cfSSkQuFn|C7Wo9q{00C@rFaQ7nVt6nB0RV^q00DA@FaQ7nb%-zk00D1~FaQAni2wirWtuPm00DHKFaQ7nb)+x=00C~QFaQ7nX|ON=0RV~s00CsYFaQ7nZon`A00D2tFaQ7nW6UrB00CvvFaQAnivR!tWZp0U00C~|FaQ7nZ|E=p00Cp}FaQ7nW%Mur00DFQFaQ7nZvZg>00C|WF#rGoVGJ<<0RW8v00Ai&F#rJpi~uMcF@OL8Jt8px0RWEx00Aj5F#rJokpKVzDLOF#0RfNzC_XWO0RoNyC_OYWfJ89>0RWQ#00AjjF#rJpk^m@NF@OL8Jz_Bc0RWW%00Aj*F#rJomjD0(DS9yg0Rff(D1I@30Rof&C_QvBfP^ss00bdCJw7Ti08B9eYB2zeF#rGoa+omy00D2RF#rGobg(f100CjPF#rGoa=bAB00CvfF#rGoaL6$L00n4mb8c^xFaWkN0N5}95-|YIF#rGoI@B=$0RWi*00DFGF#rGoW%Mxs00DIRF#rGobpSE|00C|WG5`PpX$&#|0sxx;od5sDQYqR0Rf%>C~h)<00BL8G5`Spp#T5@DS|Qp0RW=_00AkCG5`Sqq5vq6GJpXBpa3X6hBAPbG5`Spr2qf{DXKC60Rf}{D6TSq00BL;G5`SprvLx}DZ(-U0RX8000Ak?G5`Sqr~oL?GJpXBrT{2C#xj7`G5`PsAv`@kd@=x@G61|X0NyeH00DC9G5`PpZ~QU<00DFYGXMYqVF)t-00D9iGXMYqWfU_200D3sGXMYsZFFxEG5};U03b5}00BBCGXMbrssK7PGk^dAbUHHt00Ct}GXMYqb4W7)00CxBGXMYqW>hl(00D1WGXMbsm;gFo>M?*|GXMYqWo9z~00C`sGXMYrVQGFa0C+P12>?m}Pyk2(OaM**QUF!}Q~+2200Ak8GXMhsS^!=ETmS$8DWWp~0|8k8T>x7ED5^7n00CvNGXMYqY`il700C*jGXMbq!T|sQDb6zh0Rh1QDAF^400C~;GXMYqZ{RZk00C*{GXMYqbnG(#00D6FGXMYqY4|e$00DCTGXMYqV+1q+00DCfGynhrWe_v~0RY4S00Ai+Gynks!vQEDG=KmBWhOKL00CnzGynhrax^pm00DJ6GynhrZ$LBv00Lxl7Bm1xGynhrI!rVG0RhDUI#x7*00DAbGynhrZ)7w800DApGynhra&R;N0RWZ)00DA*GynhrZ-6ua00DG{GynhrVT?2Y00DB6GynhrWtcPo00DHKGynhrX{0m&00CdBGynhrbg(o400DEhGynhrZoD)A0RWu>00Ak;GynksoB}A!G=KmBZqhUW00C**GynhrXW%pd00Cv@Gynkrp8@~@De^P`0Rf%@DE2gf00CtDGynhrZUi*|00VDgWx_N7>@)xhH2?tsmjVC*avn7R00D0zH2?qsbSO0d00ChxH2?qsax^sn00Ct>H2?qsbU-x#0sxr;n*smYMl00Cl>HUIztVVE`m00DHKHUIztI;1uL00BCxHUIztY_K)}00C{bHUIztZ@e}D00MAyZZ-hIHUIztAjmcV00DH;HUIztbJ#Wj00C~^HUIztZ{#)r0RXcC00AlRHUI$twE_SEDf%`50RglEDE>Bp0RplDC?@nafCM)H00AZpHvj+uau_!N00D0vHvj+uawInZ00D9;Hvj+uWiU4Y00Cb%Hvj+uWjr?k00DDCHvj+ua!5A-00Ci6HvjH-G^GwgM<7UN?YlHvj+uCU!Rf00Cu!Hvj+uY=}1i00Cl-Hvj+uVU#xj00DHGHvj+uI-oZI00BCtHvj+uY^*l`00C{XHvj+uZ@4!A00d%VaC90r0O~dXR5t*=Hvj7k!U8DrH-G>EUHCTu0RYhg00AisH~;|w&;lqBIDh~FJQg?r00baCTRg-!0N^(O1~>p7H~;_vawIqa00D0{H~;_vbUZi!00Ch_H~;_va!5D;00CuAH~;_va8x(|0RY7U00AjrH~;|w!~!T}IDh~FbZR&N00C@rH~;_vb$B=c00DD;H~;_vWrR2Y00DA}H~;_vUywKe00Cu|H~;_vbDTH;00DBMH~;_vVW>C&0RYDW00AkqH~;|w#sVm~IDh~FWWG2600CvjH~;_vWXw1K00CvvH~;_vW!N|X00Cp(H~;_vW8^ph00DLCH~<3x$pXs)%>n=cDfT!30|Cea$^y&+DE>Hr00CtLIRF3wY!EpB00CkaIRF3wVH`OC0RYbe00Ai|IRF6x&H^YbIe-8GbTT;r00C?|IRF3wbwD`)00DDGIRF3wWlT8$00DARIRF3wUsyQ+00CuQIRF3wb7VOH00DApIRF3wVQ@JB00D4zIRF3(V`*Y#W^ZtFbbb&u07f+cbTt6NH30TC09rTzt~dbjH~=C!0DL(B00BCJIRF6x(gHfHIe-8Gbh0@B00C^eIRF3wb-+0Q00DExIRF3wWz0DM00U-aa>z3Pb~FIeIRFU)NdQj(M*vFzO#o2d9K0RUnE00DG-IsgCxWq>*W00DD`IsgCxW{f%j0RU_O00AkOIsgFyYXB&mI)DHHJ)$}Q0RV0Q00AkmIsgFxZ~y=SDY`lU0Re9SD84#?0Rn9RC_S_~fW$fg0RVCU00Al3IsgFyaR4aXI)DHHJ>oh50RVIW00AlRIsgFxb^rhYDf&790ReRYDE>Nt0RnRXC_VH#fCM`L00bdCJwB>B0L(f7>N)@nI{*Lyau_=R00D0*I{*LybTB&r00Ch(I{*Lyay&Z#00Ct}I{*LzW^j@^07yFk0RUn+bXyQ8n00DI7I{*LyZtOb%00D3EI{*OydH?_cdHy>900ChFJOBXzd;kCeDGodU0RejeC=xt?00BK1JOBXzegFUgDJDDs0RVsi00Aj5JOBX!e*h>nJb(cLeE=vuDm;KXJOBXzf&c&kDNZ~90Re#kC{jFt00BK%JOBXzga7~mDP}wX0RV;o00Aj*JOBX!g#ajYJb(cLg8(Q!YCM2?JOBU$Av`@kAUps^ZFJ%9iKavVJX00CttJpcd!bSymp00DF|Jpcd!VK_Yi00C`2Jpcd!azs4<00L}p3OxWyJpcd!W>7r<00CcGJpcd!bYMLI00C@fJpcd!b!&8400DHeJpcd!VYod200DBoJpcd!WyC!I00D5yJpcd#WN(B$0MI=E00BDIJpcg#D*-y-J%9iKa^^h%00Cw0Jpcd!bo4y{00DIRJpcd!VE{e=00C_VJ^%m#atuBI00D0jJ^%m#W*9yI00CbfJ^%m#bR<3i00C?&J^%m#buc~v00Ch(J^%m#W;{Ls00LoU^gIAUJ^%p#IRXFyb5cG400C!KJ^%m#VO%}{00C@bJ^%m#W@tVD00CcaJ^%m#baXxd00C@zJ^%m#b$~tq00Ci!J^%m#W{f@n00Cu^J^%s$I|4ld00AkUJ^%s%Is!ZbD5O4s00DBUJ^%m#Wwbs300DHmJ^%m#bih6U00CjfJ^%m#ZOlFZ00DB+J^%m#Z`eKn00Cy+J^%m#U*tXj00D05J^%m#Z}2_<00DFMJ^%s$KLSAl00AiiKL7#&J_0}jCKL7v$JQzO!00D9yKL7v$ZzMke00DF=KL7v$VK6@c00D9~KL7v$WjsFs00D49KL7v&WNL4iJ^=ha07yRo00BBqKL7y%LIOHmKY#!Ma$-LK00CucKL7v$bZ|ca00DG%KL7v$VSGOT00C`+KL7v$a)>_w00D1~KL7v$W|Thw00Cc`KL7v$ZlFH^00D2NKL7v$bF4oA0su1uH3I+vDY!oX0s%4uGy^EUKY#!MY{WkR00C{zKL7v$Z`3~k00DH`KL7v$U*JCg00AQAKL7v$BJ4i^00DCHKL7v$Z}>j|00DIVKL7v$VFW+`00D9eKmY&%We`9B00D3oKmY&%ZyZ1X00BB8KmY*&HUl~+K!5-Nb1pyt00C?^KmY&%VLU(p00DABKmY&%Wk^5(00DGPKmY&%X;eS}01aktc41>_Z*z2TWNK_i0sxp203I6vaw7mfBmfF00IVkfBq{)YGXNAi07yOnvOfS?KmY&%I$%Hm0RXW900C*7KmY*%vjG4BDW*UG0RgfBD5^k!00DHcKmY&%a=1VM00CvbKmY&%bHqRZ00MAxpg;i1KmY*%v;hDCa@s%u00Cv*KmY&%WaK~q00Cj@KmY&%W$-`%00C(BKmY&%U;ID-00CzLK>z>&X$V0800CwWK>z>&ZWKWP00D0rK>z^&wE+MDb0$Fm00C|)K>z>&Z!kds00C(>K>z>&bUZ--00D49K>z>&Wk^8)00Co8K>z>&cvL|E0RXlE00DVmK>z>&Y-B+I00C}lK>z>&Z*V~X00CciK>z>&a(qDm00Cu!K>z>&WQaik00Ci+K>z>&Wt2ex0RXoF00C~GK>z>&Z=^v000C*LK>z>&bg)4H00CjPK>z>&bi6?T00C~oK>z>&WynDQ00C{zK>z>&Wz<0c00C^;K>z>&aNt1z00C|0K>z^&xB&nGbMip|00Cw8K>z>&Z2Un000C(NLI3~(W(Yz600CbPLI3~(WfVdH00CzjLI3~(av(wg00ChpLI42(xd8wHWimnl00D3|LI3~(c|1Y@00DGDLI3~(Ur0g#00C@HLI3~(VN^l@00C}VLI3~(Z(u?I00C)cLI3~(bZkNZ00D4vLI42(x&Z(Ia(+Sp00Cu!LI3~(bBIC!00DB2LI3~(VU$7u0RX!J00Cv7LI3~(aHK*200DWbLI3~(bg)7I00CdNLI3~(bi6_U00CjbLI3~(Z^%Lb00C^yLI42(ya50KW!gdj00D5`LI3~(dE`O>00DIBLI3~(U+_Wz00DINLI3~(Zu~+300L%d)ItCPLjV8)UkF1000C?gLjV8)Y#2iT00ChhLjV8)Z6reg0RX)L00DC_LjV8)Wi&$o00DA3LjV8)bwEP^00DGHLjV8)VN62+00CuELjV8)W>`Z200CcKLjV8)WMo4C00CucLjV8)b8tfd00CikLjV8)Wqd;b00C@*LjV8)Wr#xn00DB2LjV8)Zj?g+0RX-M00DHMLjV8)VWdL<00D5SLjV8)ZLmWC00D2dLjV8)W4uEE00CdZLjV8)bI3yg00DQ-LjV8)Z`4Bo00Cs$LjV8)Zs0=z00C*{LjV8^VPj=zX>4zBb9HynKmZ^?09ru+nn3{UK>#d50C++GnnD07LjamX0PI5m0RX@O00Ao?L;wK;UjRB^E0#cj@%>l^*%L35>%>vH>(*XbhDMmy92?IC+%mK&($^y^<%mU5<(g6nmUpgpQDgaM?-4L;wH*Wx_-N00C{%L;wWxf$L;#3H0N6wT<{|(FMF0Q-W?>ux07er400CbjMF0Q+bSy;x00Ch#MF0Q+Z8${$00DA7MF0Q-bZ4F*05}!^00M7eI0FDmMF0Q=Z)|dDVMIj$R7C*NAOLPJ0Pr;c0{{j95dZ)H00CumMF0c>F$32E*#g@FIw%wifW`!X00DP`MF0Q+Wt2q#00C*5MF0Q-bavze0H8$x0t1x-)dF8SD5gaKdJ=%R1b_emWw1p600M4gd_@4lMF0Q-Z(+zq01Pnz1_L1htpKqAuK=?E2moI?C{h~$P9uN{9)JJ=dE7++00Ck4MF0Q+a{NUA0{~6}5CQZ800AioMgRi=O#%-A^8zRkMt}eTc@{Y0{~J2ZUOiL00Aj@MgRi0|8S4ZvpuND2_&e00Cu`MgRZ-ZJJVC`w0w00DAPM*si;Wn4!900C!WM*si;WoSnL00DGvM*si;ZgfWg0{~hAb^!nb00Ak0M*sr>Spszd{{kq8M}PnUXO2ez00C~AM*si;X`n{{00DBQM*si;bgV}J0{~tEcmV_h00AkuM*sr>T>^Ij0|O|)M}PnUWyVJU00C{%M*sr=Tml&a0s{a6Dc(l_0|8qC7yN&-v*@&W(>DKba^0|H3`O9Jr%Unmqv06Iv300V4tbK(I20!9EpNB{x=L;}PC00AjpNB{x?LjuDAUnuw~0Axsj00CucNB{rO=00DZYNB{r^bZ=#7X?4T`0E$Qe(l7vsA^@yN0O~jZ1^^QR5d!Q0@Br=r@&EtNq_(WZnQ}N00CjbNdN!=WynbY00C^yNdN!=Z`4Tu00D2>NdN-?Y65@(5CZ@KDdtH41OaIRe*q5zBLFDwNq_(WW%Nk^00C_RN&o->X$VRH00DFkN&o`@Xaar#4g&xIDH=)u1OjIQeE|&vA^=|~6iNUhN`L?XWhhDj00DG5N&o->VL(a%0|0CSf&mf(00AjXN&o}_YXX4*5d$OuC{#*-00DGbN&o->ZfHsX00C)kN&o->Z*)ok00D4%N&o->Uw}#g00C!)N&o->Zj4F*00C)|N&o->beKv200Cj1N&o->Z=^~900C^ON&o`@b^?k48Up|UDYi-g1Oasdi2)e{B>*VCN`L?Xa>Pmi00CvvN&o->XV^*r00Cv*N&o-?bZq2G0HiAb00D05N&o`@cmj+890LFWDf&tP1Oayfivb%0C;%t|OMn0YatKQR00CtdO8@`?VjN2V00C_xO8@`@Z*@Q>04PfU0|0sgjsYG600AjDO8^7`c>;|A9Rn!cOMn0YWrRxr00C^4O8@`?Vw_6=0|0&kk^v$E00AkeO8^7`eFBjIApK_8UY~!6a$C>00Ai$OaKr8a{?CwaRL`@6$5Po7Xcmug#m8@837;y69b0j9er00Ai`O#lZ0!2sw1m;%E9>H(Sps{tr9O@IIaZaPf>00C)EO#lD^XH-o900VDfWo82acpm^-O#lS~cK~AmWdLUY4*)tSraOQlI)DHHWo}IX00C`+O#lD^X^2e#00DH4O#lM|hX4%#U;tk_luZEKJb(ZJWtvR@00MM*s!ag?I{*U$D*+<`B>_4p;5~pAJ%9iKa=J|b00CvnO#lD^bkI!z00DH?O#lD^Vcbms00C{{O#lD^a_CI}0suJzA^`vabM#FB00C$EO#lD^VE|4500M7p?o9v&P5=M_W(-aM00CbXP5=M_bR13q00C?wP5=M_btp~%00ChxP5=M`W^*)7017k!00LoUuuT9uP5=S`i~=kJ00AjZP5=S{ivlYHC{#{>00DGbP5=M_V`NSM00CiYP5=M_cyLYt0sxKzE&~7oDSS=<0s)NzEdwZmPJjRba)?d<00m}YbY*X#69Bdo0L&8rc1{42P5=b}iUKMFNC89vMgaf;DXvZc1_P-9i2^ADM*%|tMFC$rD40$F`Wk?`PJjRbWx!4V00DK{P5=M_Y~W4+1OSi%k^(RTlmY+&DeO)F1Obl%kpeFRlL9FAPJjRbbo@>L00C(VPXGV`a}ZAe00LoY=1u?>PXGe|s{qCUmI43)awbmz00D0tPXGV`Usz8700DGnPXGV{b98J^0LCf+00M4oa!&vpC;$Th$N=pDodN&>DTYq~0|CbX>;aqtD2`8n00C~4PXGV`X`oL400C#FPXGV`WvovC0|3eZ?*X3z00AkuPXGe}$pG#Fo&qSqPk;acWX4Yb00C~&PXGb{%mDEL00Al9PXGb|%K-2JDCAFo00DC9PXGV`Vf0S`00CwCPXGV~Z((9(Y#NKIRHNZ(*n=}DFH-p#V?;ZU8d@00Ak2Pyh%3fB=yIQUO!}qX1R`Z~!#{00AkQPyh%4e*lmGQ2|o{q5xF^ZvZp_D6CL`2m^fpjsQymO#z?)PXTQJG66g&Jy1{plu&@OPyh%3d;pCAp8yB}*8xfaYydF<00AlHPyh%4djO08o&W~{)&WTYYXC3-DELr-00BMzPyi7Cf&f?nlK`av3IW>z<^oy)-~!?TasUni4#5dnb!R{@d$qyPy4+5zPPSpnYy;R1004FTf<=>iJ@HUZ}XC_Yhu2mrVMKmp4ELIJh_J^{%Ay8-|KDQr;y2m-eNKLN@CK>@V@Jpsr8x&l2YL{R{KQGf>kgaDNQTmfDIrvP99bN~PWDV|XP2LOfumjGe`WC5uFW&w5p00AkqQ2+-4g#eZSVF6mg8-BOTLE1GrT||7a{wqku2F!>Q2-49_5i&C_yF(%;Q{3VzXHJm;{ogf=K<~l!vX*SDfUqS4FUB4yaM+C?*iZf|{zyjg{>jLHh?E=CAC=ybD00CVXQUC)0-U6)xF984nDLzsF0|DIvtO70pC`M9%00C@FQUCw}Z&*?Q00D1aQUCx0c5rko6##BF0Kzr^00AIsQUCw}ba+w#00DD;QUCw}ZiG?*00D1`QUCx3Vq00=xGJw96?Dk8{G02EOGgi!$AQ2;nn0G3h!(iH&gKL7v$az3Pb~FGgQveA9NdQj(M*vFzO#o2ecRC||%+fZiVf00CvjQvd(~W7Jas00CjzQvd=0(g67Z00AlHQvd=1(E#`XDC|>!00DXOQvd)0Y;@pL0Q^$`00D3UQ~(A5)ByVdp#s(b{Q;u_00AiyQ~(D7(*XJbpaRtZ`~ji@tN|z>RDb{hWF}Mq2LS&8*Z=_n1p)^G+5iIr00AjLQ~(D7{sGqj00IO81_Idt0s<&dRDb{hWmZ%G00DDqQ~&@1VRCR(0Jb#%00V7qatu@eI#d95Q~(J8m;ssrHskUH3BmNHv#|wDX3Hc1_9>)=>RYSGy*aLHUcQNRDb{hbG%dl00CjnQ~(JAmjRgp;{clhFCWOie3aCvQLer0EJYNF00vM1`ceRJQvlpM0G?9-lrR9SQviTe0Q^({DpdfkRRFXp01Q?D-wXf>4FEm^bY_r5CB{d0Fw{^$q)bq5dcFG0E7_$z!3oa5dbt20AvyXm=XZb5&#er06-G}auWcm69C>501XrXH534D6ab(U0M8Tv_!Iys6#!Zl0E!g=xfKBE6#zmO07e!7p%wt8761Sj00b8RW)}cz7XZo^0L~WxFc<(d7yy?T0Gk*9`WOKI7yw=w0Ad*c#Tfv}82~F9052K&@01_YoXCMG;AONHw0H`1U{~!PZAplt+09_#fv>^bvApj2|023krX(9k^A^^l90LUT$+#&!7BLFoc0AM2kpCbUHBLLwe0Ocb9BqRVRBmie50Ba-wsU!fcBmnFr0PrLL5hVaUB>-zB0GTBK%OwC9CIB2J09qyhUM2vYCIF!(0PZFL@+JTcZD*)�PHIOCoBLfEC5_A0ADNsyDR{|ECB8-0P!pU94!DKEdWq008=dhek}lkEdaYM0KY8&_ALPVEdVbr05dKCV=e$@E&#JG0Jkmx`7QwcE&wwx05>lHWiJ3|F94G-0GBTS)h__qF90Vn04p#6UoZe;FaU`#0F5vJy)Xd4FaYZ?0PipWBQXFcF#u9A09G*ojWGa`F#xKHH~{=O0021vH8}t|IRINZ0FXHV>p1}LIRH{R09HBxxH&l0QNfo`a1w!JOE)l0K+^0$2Jplea05CoPk3ImCJ^<4`0M|YM5(&f0IER%_CWypK>$ob08l~zoI(JgLICnY0QN!vK|=sVLjaIN0F*-jKX-EKVNC3S^0KrHA9Z3KoNdR0)0ANV~nn?hjNdVYM0NhCc6-odZN&rzx098r=j!FQMN&v@70Lw}M`$_=+N&qEG04YlVUrPXEO8~G-0JKX0^-BQxO8`7f062jJQ~)JZ0AW-BWmEv1Q~;n<0Pa)(@>BpLRRAVc0CiOWc~t<_RRGyl04P=fELH$!Rsd>N0HRg^rd9y!Rsio-02)^S9#;TlR{&^N0Fze$msbGCR{+Xa0P|M>_g4TeSO79u0B2YLYghoASOA__0Owc$>sSCaSpYd%0ESrridg`_SpdXY0P^jZKkTL3s)0C`&geOmy$TL8dY0P9--?^^&bTmUm%0A5@GVq5^JTmY?H0O(u*>|6jnT>wE{0CrsfdR+jmT>!9M0O?%-?OgyhUH~~>0E1othh6~PUI5`<02*Ha9$x@gUjSQQ0FYk*lwSbSUjWu$00CeC1z-R~U;s#90CQjfcVGaxU;w;e0Ow!;>tFyaVE{2<09#=IUts`&VF0#a01jdR5@G;yVgPnx0M%ju*mp=1E1WB}M?0NZ2$5M=-pWdKEG07zv3e`NrIWdOcq0KsJd_GJM1WdJQ^05E0%V`czmW&oIG0Gnn2&Sn78W&jIk01syXQfB~GX8@6B0F`F|&1V47X8;ap01{{bRA>NLXaJ&U0H$aF{Ad6GX#hxR08D8Bi)jFlX#mP;0M2Ou2x1#0K;kk{AvIIYXCKC06A*_X=?y&YXFmL0GDe3&1(SBYXApq01IpYM{EE~YygLB0E=t@!)yS@Yyju>-paR4uI0B>;sa&Z8&aR9b)0QhkL{BZz0asWVb0BdppZ*l;&asat<0OWE2=yCupa{w`O0BdsqZ*u^la{#4t0Lya#&vO6=bN~x<07G;DMsxtFbO5b%0N!)}L3IE{bpU#G0Dg4J0DpD>(slsWb^s}N04;X_iFW{vcL3aX0N{53MtA^9cmSq&0IGNZ^>_gJcmPFt07-cOig^Hzc>uwA0L6I#{&@fbdH_9o06}^Hd3peSdH}k50KR$v0DAxgdjLOs07H8KeR}|bdjPt70KR(w_Im*OdjKtb05N<3YJ320d;qb00JVGo@O%LDd;lzc05E+3ZG8Z7eE_q40JnVr4t@Xc0M&m04uAj>fB;8;084-Xe}DjkfB?CG0KI?!`G5fZfB-px06l>Kd4T|ZfdG+#0N#NB;(-7%f&eyx09Aqj*x1#!si~={si~={si~={si|0ac&VtVsi~={si~={si~-`si~-`si~-`si~={si~={sHv%`si~={sHv%`si~={si~={sHv%`si~={si~={si~={si~={si~={si~-`si~={si~-`si~={si~={si~={sHv%`si~={si~={si~={sYvLlsi~={si~<*=;*1bsi~={si~={Sa^7;si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={sHv!_sHv!_sHv!_sHv%`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={sYqDp=;*1bSg^6Vu&}VOu&}VOu&}T&7^$hLsYrNusi~={si>)`si~={si>)`si~={si~={si~={si~={si>)`si~={si>)`si~={si~=`si~={si~={si~={si~={si~={si~={si~={si>)`si~={si~={si~={si~={si~={si~={si~={Na(4lsi~={si{b*si~={sHv!_si~-`sHv!_sHv!_sHv!_sHv!_si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={sYrNusi>)`si~={si>)`si~={si~={si~={si~=`si>)_si>)`si~={si~={si~={si~={si~=`si{b*si~={sHv%`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={sYt1*si`Oh05m!}Zf|a70AVvTG-EVjG-EU}W@KVFIb=6wVq-I9H#1^2F*jv4W;g`^G&(wQb#HWKUu0o)WpiI)Ze(9{X>Db50AV&|H8wdgH85deW@9#GV_`I7Fk>}jW?^D8HD+WoHDLt+G&(wAY;13LUuMn80AVvSI5amiH#Re7W-(!6IWak7WiVneF=RG2VPrF6W;O)?G&(wAY;13LUu|`4bZK8~X>Mg-b98cPZfA1rN%F=jV0Gh;brFfcG?HDohpGB_|{WMX77GBjjnG-fpr05m!}b98cPZf5{tVl*{lW@cqDI5cErGh{L_WH~Z8Vr6AGHDxzqFlI6_5CAkfI%#fnWoKn_0AVpTH)LWrWM(xpFfcMRH8(XiF*Rf}Ha259Vm3E2WjGK3G&(wFY;R$7X>MmU7{VKOx~W@Kh&V`XDEG-EMkH!(OdVKQM505m!}VsCG3WnpdrVK_8pGGjJ0W-~ZuH#lNpGi6~lV>vK2VPZ95GGt*gHxK|cIyz)wbY%cxHD+TsGcq$VF*z_bV`4HlWjHcqHaBK8W;Qi3F=jVr5CAkfI&^7mWdLC?H)CTqIW%H9Vl!rAHZwLiF)(IfFgRj1IWjV1G%{ih05xB9X>DZyWHvD|V>C8qIAu09WI1IpG&x~rWid82WMwfpV=^{0l>z`?ba`-P0B&JzWpi+0V`X%2ZEP-RbZu-SVPaupGi5k5Vq#`7W-?0Wj1Cw6#z6kI%aQjZDDj@VRK(%X>MV1c>rNEWHK>fIWjmkWMwfoHD+dJW@9-yV`gD7Gh}8mF=S>H05m!}W^ZzBVRT<%b6;;`bYW}&VPs}wGB!6hGdDFfWMN`rWM(-xWHVzpI5RV0GG#boVHE&0Iyz==a&2LBUtx1!Xk~a|WMyM%ZDDKxVKii9GiGIDG&VG1H)LTjGGt|9W@2M7Vq`QoGBsl|IjI2vUuJA!XLA52JE@*UZY$IW2Vl-qjH8M6bVK*`{H!v|XG&3_dWnwlrWi~fCGh}5U0RUfVbY*g3bZ>G1ZeeX@b8ul}WprZtF=b>pUjPz1I&W}vX>V>}Yycx+W-~NlIc8!rGcYw}G%-0hI5aUZG&V3fWj11BVmD!9UjPz1I&*Jza${v*X>Md?cmN||WjHi7GBY`5WH&N5F=aDkIAt|5IWsUaWHT@@VPrL8UjPz1I&*Jza${v*aA9<4UvPAC03%^zHe+TqG&W*1I50IdHeqEkW;ZcrHDWk6G&C|ZHaKKB0svoWbY*g3bZ>G1ZeeX@b8ul}Wprp6}GBPzWVmB}|W;11DG-NShGcYqYV>mKpVPrF8HaTNsUjPz1I%#uXVsCG3WnpdrBVjmYH#s;mFg7(YV`DjCI5RacI5J~qIbmXCG&f{8I5l4Y5;{6*b6;aV?mHa9nAF=JyjHZ){3FlA<8I5}ZvGBq(YVKQF;5;{6*b6;d(bY%b|VKZYjWMN@6H8wM4Ght?CGGaAlHZ(RcVPQEpWHLBpW+DI;Uvz10WdJfbHDh6BFflSWI5}Z9FgG|gF)%VVW;r-AH(@g~WM2RhIyz}{UuJA?VRUJ3XJ2q{X>N1?BVjRNVPRn~WimE2V`OABW;8Q3F*r3hF=jGmHZfsiGd5oU5;{6*b6;t0bY*8{asVS?H8C?{WMed8F*z_dF=jAgWj8QoIWl5mHe+HjVKHGdUjPz1I%#uXZf|5|03%^EWi&A|HfA<6VqrBlFgZ3eWMwcpHDhEsVr6A8H!w6N02E(#X=Qf+Vl`qgHe_LAIAbwoFl1#pWiU20F)=wYH)Sy}Vm2{2UjPz1I%#uXZgp*9WpV%`VKy{lWjAGHHaRymWHMqgH#jmgH8wS3V>UNqG%z?fGhYA_Iyz}{UvqSFX>Ml#BVlD>F*G(ZF*qdA~Ib&pHFgITS5;{6*b6<2}Vr*pqBVlAQF=IGmIAJ(4I5uQ9IWsY3G%z+bI5syqVPQ99WMW?c5;{6*b6<36ZDjx>VK_HoWo0umH#Rt7GcsagI5RjgH83GzJScN?WI8%xVRLC?UvG1Ca%Ev{JVR(w|mF)=eZG-WblF<~tLG$daD5-2)4Z*XODVRUbDJUl3KbYwa@VqtS>V_$D`baG{3Z9GG0VRAkuEFfcVZgX@XWMOn=CMf_TVPrO9VPQ03H!xyhH8?nAH#s?DIAS$qG&eIgIAmdAVlMzRCSL#&C^|ZCaAk5~bZ>GzJScN?WI8%xVRLC?UvG1Ca%Ev{JVR(DaDDF7p3WMX7AW??m9H8e0{IWRFZH8wb8Vl`u7Gch$VIW{pdF#t3sUjPy>Iy!G~WpZJ3Z*n|5D06gVIyz!ub7^B=Z*z2VWnpbRLug@gJ|-+6V{dMAbRcwTZDn6?W@d9`bS5bPBVlDYFg9dkWnwgAGdDFfGGS$AFk&$_Ff(OiVlp&lIWsc=G%a5M5-mD9Z*XODVRUbDJUl3KbYwa@VqtS>V_$D`baG{3Z9GG0VRAkuEFfcVZgX@XWMOn=Uvz10WhN;ABVjZ*IWah5W-&KqH8f^3Gi5nBIAt?3VmLE5WHLE5VP!P{G%H^K5-&PBZ*XODVRUbDJUl3KbYwa@VqtS>V_$D`baG{3Z9G&yCM+OiWoBV@Y;<2{Z*py6baZ8MJXJm>DF7p3H#TK9W;Qc5H90V2H8eLjGdD3~W@KVyIXO8sWjQlrHvlv(UjPy?Iy!G~WpZJ3Z*n|5D06gVIyz!ub7^B=Z*z2VWnpbRR6ZswAY^4`VRdYDUuJJ|ZDDkDWpX@KJ|-q903%^HH#IS3W-~HmH8(k7GB#v3WH&K5Vq`KfH!?S4Gd4Ck05mRN01_-ZI&W}ga$$6Day&dJb97`nI$~jSX=7h+b98cLVQoBAJ|-+6YIARHUuJJ|ZDDkDWpX@KJ|-yuBVji&W-u^gI5lH3WiT}|Vq-HmWi~iDFfnB{GB{ymW;iV_$D`baG{3Z9G&yCM+Oob8l{6W^ZzBVRUq5ay(T&CMGEWBVjc;H85jlGB!D5WHVtlGdE>7HDNGgHDow8GGbyiIb}TnG%H^K5->VCZ*XODVRUbDJUl3KbYwa@VqtS>V_$D`baG{3Z9GG0VRAkuEFfcVZgX@XZf|5|Uv_C_cRW-+CMf_TVP-HjF*GtXF)%nXGh#R}F=I6|GdDFhHf3WpF*Y}4IX?h2E?)o=FFHDJaAk5~bZ>GzJScN?WI8%xVRLC?UvG1Ca%Ev{JVR(GzJScN?WI8%xVRLC?UvG1Ca%Ev{JVR(vN6H)CQlV=y^mVrFJ#Vr4ToH8N%}W<>xrFJAx>Bsw~9VRCb2D06gVIy!T7a%pa7Uv_C_cPt=tbYwa@b98cPZf9S1X=QgQ03%^!VK_E5G-hHnV`XJ#F*Rc{FlJ*hWHn_lV`DcnG-PB)05l?B01_cOI&fifb7d%VbYwa@b98cPZf9S1X=QgTAaitNIy!T7a%pa7CMGEWBVjTyW??gBFgRp4GB-6jFgP=2Vlg*kH#ah2Gc`9bG&4y6G#_685+yo1aA9(DWhirWWI8%?baH8KXJ2+{Wp^wfb97`nI(Kt)a%pa7Uv_C_cPRiPVK6Z@HZ^84Heok8I5K20HZnOhIbvaBGh#J0G+{F{G)n+9BVPa#COSHBVRCb2D06gVIy!YYb98cPZf9S1X=QgTAaitNIy!T7a%pa7Uv_C_cPRiPVP!dGWi&G|Fl1zAVq`ZmVmC4~H!?UgVPZIBIX5;jI86XFBwqj$BRV>8VRCb2D06gVIy!YYb98cPZf9S1X=QgTAaitNIy!T7a%pa7CMGEWBVjNyVKO%|G&MFfF*G@0WH>Z4Ib$$1H8(RgH#0CeVmMC#G$CIA5+^!3aA9(DWhirWWI8%^ICFGzX>MmV_#`=baG{3Z9GG0VRAkuEFg1qWI8%?baH8KXJ2+{Wp^n6BVjT#W@I)pVP!XEV>dT6Ff=tYGGR41IW{*kVP!F7FlAE!G%H^K5-K`6aA9(DWhirWWI8%xVRLC?Uuko6a%Ev{JVR(dBjW-&N1WMN`qIb~)uVKHPeGG;I}WMWkSG$>yH5-vJAaA9(DWhirWWI8%xVRLC?Uuko6a%Ev{JVR(4UEb97`nI(0a6baH8KXJ2+{Wp^n6BVl7?Vqs!rG-5Y5F=R3_F=k~sIASm`H8W&5G&p27Ib>S^G!kC`5)(Q)aA9(DWnX4#Y-K2ObYwa@cXM=dX>MmoT>vx@bZ>2J0B&JzWpi+0V`X%2ZEP-RbZu;R03A9yWMOn=03%^IIc76CI5jvmW-~W4WHDtoVq`TrW@R)qFfuVRFgG-J03A9ybZKp603%^BIAk?tH#ah5Vl-wpF*Y+bHZ(J1WMMNoFk>=eH!?7H03A9yZ)Rq5Wpn@|VP-frIW{mcGiEh1GGaM2VK_KsGGk$8HaTTEFkvxfHDCZA0$+4#ZDlAa05v!^HZWy2IXN&mF<~%eGh#F}WnnorHZ){oVr64CG-CiiU;rN&Uvz10WhiuSZEQL^WMOn=EFg4mZEQL^bZKp6DF9_THZw9dH#apgIWl55GGaAhGB7YPHext1Fl07lFk@u^KNesBA1hyUX>DaFbZ>2JIyz)wbY(0cbZ>2JIy!V|ZDlMVbZ>2JIy!V|ZDn6?W@d9`bSVI4Vl`$oH(@h3V`MNjF=jMoG&VFhWMeQlF=b>iWiV!E06!^r038TAI%#uXY;R*>Y$z!pV{dMAbO0k^W-w$nF)=wgI5ajiHDzKjF*Rl~W?^J7Wo9%uH)3LAX#hV4cK{tEIy!G~WpZJ3Z*n0$C}VGKb95kNVRU6*bZKp6CM+OhZ*FsRAY@^5WnXk@ZDl4Y03%^JVP!C7Ff%e{W@R}rIWjn7G&f>2Fk)mlF*P-0WnnXG06!vk039ScI&W}ga$$6Day%$wZ*FsRAY@^5WnXk@ZDl4bAY*TCb95kNVRU6*bZKp6CMf_TVKinoH#jgeW@KY9GG<~mH8eS5VKOl@VL384GhsF}Vr>9FB6k2CBsw~8aAk5~bZ>GzJt$*uZgX@XWMOn=Uvz10WhN{jV{dMAbRcA5bY)+3X>DaDDF7p3H)1koFfukVVP!KoWo9;HVq!LAWiV!9Gc{&nVrDa9Zva0ccK{tEIy!G~WpZJ3Z*o07C}VGKb95kNVRU6*bZKp6CM+OhZ*FsRAY@^5WnXk@ZDl4Y03%^II5lHpWjQc1VP#=tVPj%2IW;pfGcaLfWjSOxVmV=P06!vk039ScI&W}ga$$6Day}?yZ*FsRAY@^5WnXk@ZDl4bAY*TCb95kNVRU6*bZKp6CMf_TVKHK3WnwTjFfur1Gc#d0GC5>6F=l3CH#RtBVPZEpVRHaKB6k2CBsw~8aAk5~bZ>G#Jt$*uZgX@XWMOn=Uvz10WhN{jV{dMAbRcA5bY)+3X>DaDDF7p3Gd3}1Vlg=|G-fn6H)SwkF=jVmV_{)4V`OA8G+|<9bpSsihX4{^bZKp60AF8pX>DaLXmo9ChX5BkI(cPbasVS?WHDr8H8L_{F)=k`HaTQtIWRaiG%#W@V>V`HH#st5hX5BkI&E)mbZ7u0VK6l^IAb?5GGs7eI59UgF=071W;SIrVKFf=Ha0OdWrqM4Iyz)wc>p6}IAvouVK*`}IASlV=yr>hX5B0Iy!G~WpZJ3Z*n0$C}d%DWh@|MVRU6F03%^$GGSyjV`DdAW-wwgI5cH8W?^D6I5K84GGt~rVKHNS067YW02d58I&W}ga$$6Day%$xVRU6IAY@^5Whnq7VP-KjGiEV3Gh#C}G&M9dWnwjEHZx%{I5;GzJt$;hbY(0cWMOn=DF7p3W-~Q2WH4l6Vl!oAVKg&kWic~0VPi2eVl-koG-hOEe*ifOhX5B0Iy!G~WpZJ3Z*o07C}d%DWh@|MVRU6F03%^AH)dutW;QuuG%;j0Ib}CEFkxY1HZWu{F=aSmGGRD@067YW02d58I&W}ga$$6Day}?zVRU6IAY@^5Whnq7VKX^7W;9|lFl07jIc7LCVL4+kIWsUaHe_WmIW{$8GJ^m)3Wop}3_3b*aAk5~bZ>G#Jt$;hbY(0cWMOn=DF7p3VPiHmWiw=AIAk#~H(_C9He_QoHaTQ8Wi@4EH#cHpg#bAUUjP6)I%HvVWdL(@a&=>LbZ>2JUol@XWMOn=E@*UZY?uHSIyz`?b#eeBVKF#nGcsW{I5;#mWHU1}W;tazHa226GBsj1VmD!BG?)MvIy!A>Zgq5J03%^AGGt{mW@RumF=S?8IW;piWnwgBW;QTnI5uWCW@0p$02ewsb7f<1Ze#!>VK`xBFkxaiG&x~6HZe6cGcqtYV_`TpVKQYgWH4rAW|#mMIy!D)Zf|pCV{dL`03%^DWjSLuFg7(XV`F48F=jDkG&eCbGGaG3H#IajF*r4t02dlMI&W}ga$$6Dav?n^V{dMAbRcwTZDl4bAY*TCb95kdX>DaDDF7p3H#RpmHeoO~H)Sy}H90mgH#In8VPQ03Ib&jGWHL2ki~uDaJAarSMWhnq7VKFc`Vlgr}Wi@0rVK_4}Vlgo=IWRe8G-fe4V=-f5Vvqni3YY*F8ag^}aAk5~bZ>G!Jt$*uZgX@XbZKp6CM+OhZ*FsRAarSMWhN;ABVl1UIAk$3HfA_wVKgu`H8C?~FfcbTGGa4hI5=cwGG>whIT)A#7YsT&Z*XODVRUbDJ}7i)ZDlMVbZKp6DF7p3VPau3WI16rHexX{GGSshVKFdaGc`G6IW=T3F*h+|lmIyjm;e_HIy!G~WpZJ3Z*o38D0FFUWh@|cX>DaG03%^FIb%0uHa25qIWsh7Wi?@DG-fz8Win=DWHDhgI5{$w067X@0025VbZKp60CRM5bz^jNZ*6Q}F<&usX>DaLXmo9CssJB4I&Eogb#!HO03%^CW;A1DFfuhcGcYh^Gch=1WoBbAV>M-FWMwruGGt_`03QN6I&^7mWnXV*W^-k9C@BCVVL3A~H8EylVl!o9VL3B1IX5*kVmUA|VPP{dG%{l}H<|!JssJAlIy!V|ZDn6?W@d9`bSPM(oWH&c8Wi&81WHdHpoB%-%ssJAvIy!G~WpZJ3Z*n0$D0FFUWnXV*W^-k9EFg4gZDn6?W@d9`bSVHMVK+BrHDY2gH8y5uV`MgAIWb}}H#9IaGc#r~Gh#R}Hl6@M7^(mt8ag^}aAk5~bZ>GzD0FFUWnXV*W^-k9EFg4gZDn6?W@d9`bSVHMVP<79H8?UhHZo#1IWjUeG&VIdG-NR}V=*;2IAdlxWS{^+7^(mt8ag^}aAk5~bZ>GzJt%Z(ZDn6?W@d9`bSxlrX>Da+Z)Rq5WppV3BVjaQFgQ3iWI17EHZ?gmGhsAkI59FcH#TBnFk?13GB~0DK^Uq49~wG3Z*XODVRUbDJv}INX>Da+Z)Rq5WppecbZKp6UvFk+b7gcX03%^!IW#geWo0lnH)JqjG-EJgVKX^oWnwZmH#uQ2H)b}Z06`e403RAUI&W}ga$$6Day}?@X>Da+Z)Rq5WppecbZKp6UvFk+b7gcX03%^xH8M9aVKrkhF=1vhVL3B2G-NVkGB7zYF*YUN8Vlp)~IbmUDIbvjCF*7qbr~pA2m;e%AZ)Rq5Wpn^vUvFk+b7gccXmo9CApsXUI%98cb97&6bY*g3bZ>G1BVlA_WHUH3F*sy1GdVC}H#TN4H#1>4GiGEmW-?)6GBF_m7dkp=bY*g3bZ>G1BVjf&VKF!~H!)*jH)AzoFg7wUG-NVmGB#s5HZx{8GczFp7XmsuVRCX|c_=9WBVjT*W@9%nH)CctHeok8W;0_mWH~crVPs-uGh#9~F*&UOIUxZT4mvtva&lpLC}VGKb95kKa&lpLCMf_TVKq27Gh{bqF=01iIb%6uVKQPkH)diuFf=n{WMVL6Ij;aY3?Ts*2|7Aqa&lpLC}DDPVRLB0VKy^kGcq|fIXGlCH!)>4H8U|{Fk@wAIW;$8u>d&-ApsX2Iyzx;a$$KWMQmklRC#b^CMGN(MQmklRC#b^b08)rATBO0DF7p3I5apkW-vK8W;kMEF=01kWH>Z3Hf3WuIc79sVmL52vj909ApsW-Iy!G~WpZJ3Z*n~-V{dMAbRc1Ja$$KUDF7p3W;tSJF*agjIb||2I5;ToWM*Muxd1sK0T(GcI&W}ga$$6Day&dJb97`nI$~jSX=7h+b98cLVQoA^Xkl_bCM+OhZ*FsRAYpQHVR0068Zi0T%)~I$~jCYbYrIBVjaSH8^BtVKrqqH#s$BG-5esIAmrtW-(dQ6GGj4eVm2^gW-?=8F=IDmH8N%}HZ?dlGdW^3zW_M~ApsWxIyz!yXK8LIDF7p3IAvuxF*iA6WM(mAVl*^nWM(j8IAkz4Ffe8{HDfYn!2mhI02v4%V{dMAbO1MFW@a%pGB#m0WHDwoF*P@3FlAw4GBYt^G&eOjVPV4nIR+sC7YI5!V_|S%V`+4GC@COgZ*FsR03%^AGGaG3Ghs1iW-~K4HaRk7H#lTrG%`6bGcaQ@HZd^8067LB0T&25I%8sGXK8LIDIjBSZgX@1BVjc*WHDo6VK6W@WMgAvHDP2qIXE(6H8^27Vlrf8V=>17IR+sC7YI5!V`Xk+C@COgZ*FsR03%^FFl9DkFf%eZFf}(eFlIA3GcaW^GC49cWI16tG-5Ex067LB0T%)~I%8~QVR9%b03%^!VPQ5kVrDioW->WuI5{|DGB-3bGczzYV=*>0WHva<068H67ack}Wo>Y5VPj<|V{dMAbYE$7WpZJ3Z*nXkL2_qvASNatE-o%903%^FVmLQsF*7tZWn*JvVliSlG%z+WIWlE8GG<{gV>39-067~W0T&HAI%REeY+++%Ut(cnYbZf-XLBGXCLk^@E-3&bVP-foW@0pEWn(dBGc#i|GBYtUGiG68FlA#jVK+2kW6uCN3n2j)2s%1tZE$pXC@COgZ*FsR03%^FWHmB3WnngAW@KbxWHB%@HDx(4Wi&H3Gh;Y1GGk-W067LB0T%)~I%RHTC@BCVVPs)uIWRb4Fk@pgWjJDEVlic9Ib~xxWn(umHe@m~Gt&S$(*PL=AY*TCb94YVH#lN7VmL52W@a}tGC5{9WMwfhGBY=1H#253Ib$-_067LB0T&QDI%RTUb7d%FZ*FsRUukq@a$$6Dawz~KVKOo^I5}ZCWn?)tG&E*qH8NslF)(8^VPj%sWn(!oIM)C<4j};-AUZl_a$$32C}VGKb97&6bY*g3bZ>GjAY*TCb97&6bY*g3bZ>Gg03%^HGBYzcI5;*iWH&NnIbkt2GBGnZWH2&0Gcz_eW@0kg0688Z0T%>1I%aHPbaZ8IC@CN&03%^xGGQ_?IW;&pFf}$ZIbvjGF*RXfW?^MHH90t8GG$}i067BN02u`)0Aw>TH)3UBF*jv5HZ(9}H8(dgHDoq7VPZI8H#awAG~EC>10ewy0y;Woa&K;QC@BCVVL4+rI5;#oF)}$}GGR9`Gh;C|G-WqqVr4O5IX5$8Gv5F?-vAj1AY*TCb94YTVqr63W-&NpHZwIeHe_KoW;tXsVPi95HDWh6W;Qh8067LB0T&25I%j2cD069gWnXkD03%^BFg7+cWiT)>H8f>mG%zwTW@TeFF*Gz{HaTKAH#sun067NZ02vM-V{dMAbO1CoWMVZiIb>sHHexqoH#cQ9HZx;5GBRN`IWsn4VrAt3ISe5I7YI5!XJvF>VRI;RX?kT}bSVHMVKrkiW;8Z3G&DIlV`5=BWie$mHaB80WnwaAIWROfW#<4n2Il}74j^N1ZgX@1Wi&TqVKHN4G-Ea~WjQovWn?ojVP#=AGGk#lWHL55=>RzlApsX0Iyz}?b7gXLC}VGKb97&6bY*g3bZ>GjAVq9tZB%)1WhN#m03%^yG&Ex{WivH4IAJz8Gh$;lWHmEmIA%3sF)?9cVmLVK067{V0T(1XI%#fmWpZ>VV{dMAbYE$7WpZJ3Z*nXkb7^{IUvw-WMQmklRC#b^CMGEWBVl1QH8f;0H#TN6IWsk4F=aAhHDfYkVP#`EVq-F4Fl6ljIU*qe7aTe|X>N06a&#zTZ*FsRUukq@a$$6Dax5T8bY*fZAW3v(awz~KVKXr?W@ThKVl^~kI5%WrVPY^gG&W{pV=*`}I59UcV($Ps8X*A}F*-VFZgXXFbSPtQZgX^BX>?_BVRUbDEFg1qWI8%&ZfSIBVQgu7WpZC^X>)WuMQmklRC#b^J}CerVK_H6Ffe8@WnncjW;0?mGGt+7V>UQ8VKZehGB{>sVetStFChUJ2s%1#VR&D2X?kTSDIjBSZgX@1BVlDWHDNb4VPs@BWH&W7W@9&EVK`vfuVKQcAGch=2H}wEH2K4|L4j^N1ZgX@1WjSUyGGQ@dI5#(DGGSvjHZw9eVKFr_WHmKmVL4+q_W(HzApsWxIy!J~a9?6!V{0fW03%^$IXPrEGG#J3V`XMIG-fw5He@+5WHvH4Vl+2lF=S);068H67YsT&aCLKNUt(cnYbZr*Wo=Y>aAhVYDF7p3GGa3`F*PzdH8V6YWMelrVm3KrWjQf6WHT{lWn(in`v5r#ApsW%Iy!P?b7gXNWhirLdSzd9DF7p3F=AmbH#1>mV>L2kGh}8pVPrBnV`gMGWi@1BVKHPi{Qx-zApsW@Iy!P?b7^{ID069gWnXkGAVq9tZB%)1WhN#m03%^IHaRq9FfnC0VlZMcV>MzqF*PzZF*q?ZH)J(pIX5x?067vN0T%)~I&)}pX>My@bZ=i~X>=$l03%^HF*su~Ff%b_VPrHiIALKmGC46aH#9M3He@h4G+|)@0XZQ77YI5!b7^{IC@COgZ*FsR03%^$I5A{5Vm4thGBr10WH&Z8VKg^nIWjjkI5jn4H)A;i0XYUC0T&25I&^Y%Zew9|WhirLdSzd9DF7p3Hf1wmV>vlCGGjL|Heon8V=*u=F=l2sGhs9^I5cK61pzq*ApsX0Iy!G~WpZJ3Z*n0$C}VGKb95kKa&lpLCM+OhZ*FsRAYpQHVRmLV{dMAbRc1Ja$$KUEFfcVZgX@XVRCX|c_t|UBVjN$V`efnWiw_tFk?A5WH>lwFf=h`W;r-AGdVXlV=xH;IT|4W7cV+GZ*XODVRUbDJv}I6Z*FsRAYpQHVRMtBX<=+>dS!B7Y-w|JJXAg=DF7p3VmLQtG&410HDNR{F*Gn`HZWskGG#X~Gh}8tHfCaE3jsMTApsX9Iy!G~WpZJ3Z*o07C}VGKb95kKa&lpLCM+OhZ*FsRAaitNIy!b`V{~tFJXAg=DF7p3HDWVkHZe72G-6>mW@I-wFk(42HfAw5H83|YVl_214FNeLApsWxIyzx(s;a&lpLC@COgZ*FsR03%^BH#0UeVKX^qHf3WrW-&BlWi>fwIAJ(tWHMqnIAdlJ0XYUC0T&25I%#uXVRCX|d0%g4Uvyz&Y-MvODIjBSZgX@1BVl4VWid5lG%z+dGBY<}Vly#0GGSskW;8J}Vr6A8W;PQ6IR+sC7ZEx-X>(s_Z*6a9Wo~6}b#o|gZ)9a(ba`-PDIjBSZgX@1BVjf&I5jskWHDtlH#9UbH8eFaF*#u~G&VP4Wi~WsWMdTpIS(NL7ZW-(s_Z*6a9Wo~6}b#o|gZ)9a(ba`-PEFf-gWMwKQDF7p3VrFJBV>M+tVrDa8W@0cjW@a%qV=*-~GBROdH8o>27XdjDApsX3Iyz}{UubV_Z)at0Wp8zJC~j|LWnXl8aAhnYV{dMAbRceTWMwKQDIjBSZgX@1BVl1PW;r%tGdDG6H#1^2GdDP7Fg7?jG+|;iFkxmkG%*(t6VPb4$C@COgZ*FsR03%^DFgG?dVl+5mG-EYmVlg=}Vm2}`VmCKrW;A0sVlXfp0XYUC0T&25I%#uXc42IFWhf~iV{dMAbO0k^H(@h4I5RP0Wn(vGH!?9bVKy-^F=AmfFlJ*hV`VWh9RWE8ApsW%Iy!WDaAhbdAY*TCb94YBVKFdfIWaUgGdE^tH8y57Vq-RDIW}T2I5}oyF*Gq@Gamst244UGIyzx;a$$J@V{Bn_b98TQY+o^7F=29YVREBW^7?+a{wb@H8wXgHZ(OiF*jy4VK6y1WHvNmW;J9oH8wdgW;kUvD*+@SIyz)!W?^+~bYEs~a&2LBbY*fVV{dMAbRcwZZEQL^Zf|5|CM+OkZ*py6bYEs{VP|tG03%^$GG#S6H#ssjIWsb2W-v2iFl1&pW;Zi8IW{seH8?UO0Y)Dy0VF9pI%H*LVRdYDUuJJ|ZDDkDWpXHEZ*FsRAarkSY&tq{VRCb2Uvg!0b!>DdEFflYa&2LBUuJA!XLBh4BVjaTWMerpWi?_jV=^^mWM*b&WjQrsWj8WnVlXr_VKOBFMkgx)BriHTZ*XODVRUbDJUl3KbYwa@VqtS>V_$D`baG{3Z9G&yCM+OiWoBV@Y;<2{Z*py6baZ8MJXJm>DF7p3H8D0}Fflb`GdMS4F*!A1G+|<5FlII~HZo>7I5s&rCjmw+D*+@hIy!G~WpZJ3Z*n|5D06gVIyz!ub7^B=Z*z2VWnpbRR6ZswAY^4`VRdYDUuJJ|ZDDkDWpX@KJ|-q903%^AIX5{uW-(=BHeqBnI50F~H83zSW@0lpFf}t}GdDLW0Y)xg0025VWMyVyb!>EBW^ZzBVRUq5asXp&VRLhIZ*6Q}F<&ucWoBV@Y;<2=W^ZzBVRUq5axQ3eZEQFJBRV>4X>MfzBVl4PF=Jt4H90pqIAk|4WimBpWjQxtV>dK2GdDIfV`Df0BRV=`Z)|mKZU7@;F=JsiWH4l6G%#Z}IbVqr37Gc;i^H)J?sG&M6~IA$_tHez9BGGsS1V`eS^MFuzlBQQETZ*XODVRUbDAw4K#Z*FsRAaieZa${v*aBp*IbZKvHCM+OhZ*FsRAaieZa${v*aBp*IbZKvHCMf_TVL32nWn(yIVKFc8F*h+|WMVKkGcW-~E;s=rFgiMKaAk5~bZ>GzC}VGKb95kcZ*_8GWnXY_b7^#GZ*C?mAY*TCb95kcZ*_8GWnXY_b7^#GZ*C?j03%^HH!(LcG&wLbW@0fhGc+_cH90q7F=k{kVKOvjIAdfo0Yxr20V6OvI&W}ga$$6Day&gKV{dMAbRctYb#h~6UvO`8X>@6CZYC@sV{dMAbRctYb#h~6UvO`8X>@6CZYC)JBVl4mT4H#9RaF=b;kIAu3uHD)tqWiewnF<~?TMJ_l2BQQETZ*XODVRUbDJv}I6Z*FsRAaieZa${v*aBp*IbZKvHCM+OhZ*FsRAaieZa${v*aBp*IbZKvHCMf_TVKO#0F=1q4I5IM0FfutYV>L4}IAl3wFfe5_VmV@6CZUA$1a&=>LbZ>2JUol@Xb8mHWV`X1oaBp*IbZKvHE@*UZY^ebkIy!b?Y;|Q{VRB~xBVlASF*Y_fWoBb#Ffun|GB{&3GdMFdH8)~mWM*MCH8rUL7dkq2VQh6}UvznJWdI{#WH>isIAb?uV>C83V>B`}VmLN2VPau2WHe)BH8nCesR0)(Iy!G~WpZJ3Z*n|5D06gVIyz!ub7^B=Z*z2VWnpbRLug@gJ|-+6V{dMAbRc$NY;|QkR6Zst03%^DH8nYAI5RLgW-~K4Wi~ZsWieu5VqrCAGBGnSW;8fE0XZtE0T&KBI&W}ga$$6Day=+xZ*FsRAa-GFb!8?g03%^DGdVXiF=03|F*9N{WiUB8Gh#J0G&e9dH)dpIF=jVC0XYn*0T&56I&W}ga$$6Day=+^VQh6}CMGEWBVjo;IAmcrVPR!6W@b4sFgY}3Gc-75Vq;}tVKiZ3HDo^lIR~i$7YjN%Z*XODVRUbDJt%fzY;|Q{VRC0F03%^AI5{;iWMyV%WHDhiH8wagH8f;3IAk(6H8D41IX5#w0XYe&0T&HAI(A`fb!8|)a%XcOCMF;*E-onmBVlA@VlXykIX5#nHaBB6GGZ}hVK+BrW?^M9V>V%AF)%{`ISZ))7Y;f)c42IFWhi5BZgX@Xc42IFWhN;ABVjf&VPj=AWHUEoHe+TmIc8*IH8?qCW??mDFkvt`Ff~O1ISi=*7YRB#c42IFWhi!GY;|QOCMf_TVPs}vFfuhTVL3N8Ic8;HIb=0BH8wCgWMVfrVq-QmVMhTu2dM!UA38d3aAk5~bZ>GYJt$*uZgX@Xc42IFWhN{jV{dMAbRc$NY;|QkR6Zst03%^IH!@{4HZ@^nW@2MxGB7b_GGSsdWiv4_Gd4LnH#Im(0XZG10T&rMI&W}ga$$6Day%$wZ*FsRAa-GFb!8?jAa-GFb!A^+a%U+3BVjQ&H!)#hGc#gjGGsI|HDWb1GGs7fIb<+pIWRajHe^cyITxt`7a2M_Z*XODVRUbDJScWyY;|Q{VRC0IAY*TCb95kfVQh6}CMf_TVK!o7WiUB8G%{jjHZU|cW??xrVPs@tIWaLgG%z$dF--wE7pVakA38d3aAk5~bZ>GzC}VGKb95kfVQh6}CM+OhZ*FsRAa-GFb!9wMJ|-yuBVjjYWMedDI5%cFWn(jCW@0!wHe+KmWiUB5IW#jeIATu$IUT717a2M_Z*XODVRUbDJUu95Z*FsRAa-GFb!8?jAa-GFb!A^+a%U+3BVjjWFfuhZHDfj~IAb<8Ght?9IA$|sGBGeRHZwUlG%!&CITxt`7a2M_Z*XODVRUbDJUu9OVQh6}Utw}*EFfcVZgX@Xc42IFWhN;ABVjUTGdE^7Ib<_sG&eV6Fk>=hGGbvdHfAV%CF*Rm2Ib=06H)J_AWHDi8WjHuDVlgseHaRzCRRK92sR0)mIy!G~WpZJ3Z*o07C}VGKb95kfVQh6}CM+O!VQh6}Utw}*DF7p3Fk(3{Wi)0uHDzOAW-?G#D0X3Nb!A^+a%U_cV{dMAbRc$NY;|QODF7p3W->4^W-?-BG%`0cWn?fpGBY&{4sR0)sIy!G~WpZJ3Z*o2;V{dMAbRc$NY;|QOEFfcVZgX@Xc42IFWjs_qCMf_TVPZKoWH2{jH)b?AWi&KmVP$4wVPj%uHD)$2H!?UgH(voc9jO5q89F*|aAk5~bZ>G#Jt$*uZgX@Xc42IFWhN{jc42IFWnW=(XDI+9VK^`}F*jm0Ff}zWH!@~2Fk~}fHaR#oWHDklIALZoF<}8Y7pVak89F*|aAk5~bZ>G#Jt%fzY;|Q{VRC0IAY*TCb95kfVQh6}CMf_TVK*{2Winx7WHK>jWM(ilVKFo`IWah7F*h_fFg9XgHe&%f7pVakA38d3aAk5~bZ>G#Jt$*uZgX@Xc42IFWhN{jV{dMAbRc$NY;|QkR6Zst03%^AWnyGyVK_1|WH~rBG&W>qG-5V5HfA(6Ff}kXHZwP60XZG10T&25I%aHPXLBeiAY*TCb94YBVKHGcF*7+ZIAJ$3IX5&pF<~$_Wi~W7IW{*qIX7lwVrKz42B`rT4LUkzY++|}D0X3Nb!A^>Y++|}DF7p3G&3Y-M3?C@BCVVKX>5GB7nUFgIjkGGZ_`W;bRsIW;snG%{mjVK^{0Giw1ksR0)PIyzxDaFDF7p3HaRn4Wj1DEI5ashFfcG;VPrRBG-5e4H(@t1W-~Q1Zvi=}0T%)~I$?8PW^8X^bZKs9UvO_}ZgeOq03%^BVKp#iHeqEnVmCKsGBY_jWjQxFWiVwkGG#JjF)}i70XeAw7XmsuVRK(;Zggd5WpXGf03%^$G-hTuH#IS0H8L_VV>LNBWHn@CWo0*JV>C2jH90kN0XeAw7XmsuVRK(|baH8KXDBHEBVlAQVKZYiWMnpGW@R~IVq-NkWie$iGBGe=F=S?AVmWmIIjI2`0y;Wjb6<36ZDlAa03%^!FlIF~W-w(rFf(K@IbmgEWMX7CGGaM3HZd_XG&MJO0XeAw7YI5!X>(s;a&lpLC@COgZ*FsR03%^GG-NhnG%_+XVq<1FV=*!`I509|VmM|wH)SwoG%#g(0XYV#0T&25I%#uXVsCG3Wnpe8DIjBSZgX@1BVl1SGBG$}GGk^kGB`9dF=1jjIWsddH8EpkWHLB1H)VSPIR>c#7YI5!X>(s>VRU6EDIjBSZgX@1BVjmYW@0%qI5Rk8Wn?&IWo0lmHeoV3HDWO`W;ix6VlsUJIR>c#7YI5!X>(s>VRU6*bZKp6C@COgZ*FsR03%^AWMwrqV`VmEHeq6AGB#u}VL3EpG-Wa{GBILgGcz%N0XYV#0T&25I%#uXW^8X^bZKs9UvO_}ZgeOqAY*TCb94YBVPs}GWiT@_WHd23HaTQvHe@(rH8o~6Ib>lsGGk_8Gl2m)2B`rT5jr|)b6;q0ZEt5~Ze?$Eb0}_aWMyA;d2nSZAY*TCb94YBVKzBtW;HotGG%2nWHvQnIWaLaI5ILaFgP_fH8?b4HG=^;52*nc89F*?b6;q0ZEt5~Ze?$Eb0}_aWMyA;d2nScAarkSY&tq_Z)9aECMf_TVKHVkFgau~VK_B1GBjg0IXO3CG&nJ2GB#ynWMXDDV}$`Z7pVakB|183b6;q0ZEt5~Ze?$Eb0}_aWMyA;d2nScAY*TCb95kdZ*6QkI&N=dWhy2qAY*TCb94YBVPrTnF)=YVIW=QBVKZi9H#ssnG%#f~WiUBpH90jjWrqPdBdGxw2s%1xb6;t0bY*8{awsVvV{dMAbO0k^G&p8vH83|~GB#yoHZ(FaG-fe4Ha0adGGaJoVP-Noi2*qVsR0)VIyz}{Uv716Vr6nDDIjBSZgX@1BVjaQI5B2sW;QrEWH>T4VKFx`H)1hjG&4D5F*7hYFffY&IR>c#7YI5!X>(t5baH8KXDBHkV{dMAbO0k^VP#`AFl1sjIb%6xGdM9dIb=3CG&D0gG-hQvG-PBojR83ZsR0)VIyz}{Uvyz&Y-K1ZAY*TCb94YBVK6i^Vq`WkIbk+8G&eCgW-&A{G-fq5G-Y9BW;8KnGmil|2B`rT2s%1xb6<36ZDlAaAY*TCb94YBVP;`AG%+_aF)%VXG&D3dG-76EWjA4DGG#Y4H(_C8Wsw0n2B`rT2s%1xb6<90Y;|QQDIjBSZgX@1BVjoc#7YI5!ba`-PC@COgZ*FsR03%^GW?^MAG-YBlWn*DAWimN9Wi&D|F=R4kGc_1I%j2cC@CN&03%^$HZV6~I5RXiWi>f5IASw3W@BbzF)?L0W;bLsGdVby0XYJf0T~4*05D=SWnnisF=99~VKZYfHZ){rGBhzVIb<+pH#0LdF_{551E~QQ3OYJxWppShAY*TCb95jk03%^DVK8N5Ib~rvHZU|~HaKEoIbk_rG&VUhI5s$DIAl1R0XYb%0T&87I&W}ga$$6Dav)=GZgX@Xc42IFWnXl8aAhVaDIjBSZgX@XCIBO0Wnp1AW-~Z7V>dN3Vq-UEF)?N^H#In9IALWoGBsj0odG!rsR0)RIy!G~WpZJ3Z*m}ZVQh6}UvznJWhN*oASM7KVPs)uFf?K{F=l09GGb(7Gh|^iIc8#JHZx-~G%#W_VxIvy0;vHP1v)x!aAk5~bZ>GXc42IFWnXl8aAhVYC@CN&CIBO0WHn?oVKHMkF*sy5FfcS?V>DwlGBPnaWn^YJG-PBsp#eDqsR0)RIy!G~WpZJ3Z*nRqDIg{QBVjN#G-EMlVmCQ9VKikmHZWu~VP;}7H!v|dVq!62WoDxRIRc{r83iT)HZ);mIW%E0FgP}4Wn^S!F=070W-&5mFfuSSIXGl8r2#nusR0)XIy!G~WpZJ3Z*nRqDIjBSZgX@XCIBO0F*Rj1HZnLiWHC2pF)?8@WHmN7WnpAwVly@~HaKQDrvW(#UjP6)I(A`fb!7l!Y+-YAbZ>2JUol@Xc42IFWiDuRZERlv06IEpZgXXFbY*e?b98cbV{~+HZERmLUomNJb7gXLWpXZPbZu;~0UMx8HDoui0U-!FI(KPgWnXY%bZ96kAY*TCb94YBVP!O7VP-UCHDfnnIASq3IASznVKg>nH)c6xFf}k@WUc{2244UGIy!T2b#h~6UvgzV=-b98cbV{~+HZERmLUomrUb#h~6Ute-%XK8P4E@*UZY*bH8OkY7zNdRYZZ*_2AUt@1>W@%@2a$$67Z*DGVbZu-SXJKSCG&5ylV>UNrIb|_9HfAz8HfAy~GdN;0VPrLBG&TlQPfbi;K~qyjQdB5qcyMwl0B3S|zZ*FF3XLWL6bZKvHE@*UZY$Io3FgY?XG-hRDG+{GlW;Hc4G&V9bV=`i7Ff}q{V`XD7R8LJzUqx6$MNm{pPfk++XL4_Ka9>|zZ*FF3XLWL6bZKvHE@*UZY$Io3IWsUhH)UgFI5=ZrG-6|6GdVM6HZWl~IAUaBHZ(J0R8LJzUr0qkL`70xPfko(0B3SpCW-~A`HDWYkFgRf`F;q`YOkYevQb$E!MoCOXQvhdjZ*_2AUt@1>W@%@2a$$67Z*DGVbZu-SXJIupGdDS8H8*BBIW}ZDH#s>pWiVl5VKFv0GC4P6H)d2%O-x@;P*h1zPC-mxR9R3(0B3SU0OkYz?K}<|vModpZR9{qCP(=V|a&L8TUteQyZf0p`b#h^JX>V>WXmo9CBWGbTF<~<^HaKKqG%z_cIAJzoHDhLEI5{{oGB7tVHfA?ePfbi;Q%ylkOkYV(R9{qCP(=V|a&L8TUteQyZf0p`b#h^JX>V>WXmo9CBWGbSH!?D2VKQSiH)LTpGd3_|H)b+oVK6vjHZWx|VK^~VPfbi;RZdbxOhrLcMMPglML|?mQbkh$XL4_Ka9>|zZ*FF3XLWL6bZKvHE@*UZY$Io3Gcz}3V=*^3VKrnlHf1wnHe@(vVKinkGi79EIXGo9R8LJzUsp*^L{C>!Uqeq#P(f4xXL4_Ka9>|zZ*FF3XLWL6bZKvHE@*UZY$Io3FgG|gVly{2G&wnCVL3N8V>U83WH&c8W;kYJH#9e5Ole|rVRCsOLvLW@%@2a$$67Z*DGVbZu;3001j10BLSyWq2-VbZuvcuW@IomF*L&gKn7m`06IEwVRCb2UuAM~Z*l-*Y+-YAbZ>2JUol@XaA9(DWnW)qa&m8SE@*UZY&ZfJIyz%-ZgX^BX>?_BVRUbD03%^FVK!rBH92E5W@R)pIALQsG-Y9AVPQC7GGZ||IW;#p0v9?uX>?_BVRUbD03%^#Wn*MGIbtwlFk&+@F=07jW@a)sHfClqG&eA2F=RJ50v8TCI&W}ga$$6Day=+xZ*FsRAar43Y-J`X03%^FG&MIdWn?rqGdE&1F*Y<~Vl_26F*7wdFgIi{Fk>*t0XYmf0v8E7I&W}ga$$6Day=+?VPb4$CMGEWBVjdTHD+WmWic^iVmLB5VPY~iG-YFBV>vctW@KbGF*(WsIR`ib7XmsubYWs_Whf~CBVjl)GiESkGc!0fWHMwpWH>W2Fkv?`W;ZxvHa9n6Gd0WsIXD6r4mvt?VPb4$C}VGKb95kdVPb4$CMf_TVL3EoFk)skVKgx^W-wx9WHMo7GBY_bG-Nq8I5lE2X3haQ3^)Q82|7A-VPb4$D0E?BY-J`UDF7p3Vl+2lH#T8nGBh$_W??ZiW-(zmG-WkqGGb$7Wn?ro&;dCII06?SIy!V=Vr*q7X>D+9Iy!V=Vr*q!X>MtBUvOb*aws4sCLk$WPF*PgBVjc-VKrnoG%#T|Vlpu>Vlg>1GC46dW;r-!WjSOxW@XX=IUYCy7Xmsuesp1CY-K1Z03%^FWHV+tGGsG3HZ);jIb}3AG&3_|W;bCrF=Jw5Fl9H?0XaAV7aTe|Z*XODVRUbDAw4K#Z*FsRAar43Y-J`aAY*TCb95kdVPb4$CMf_TVPa%uVl`wrWI1MIGBaZ^GcjW~IAt|7G-Ea~IW}csHr4?-8aM(MDLOiDaAk5~bZ>GzJScN?WI8%xVRLC?UvG1Ca%Ev{JVR(G!Jt$*uZgX@XbYWs_WhN{jV{dMAbRcwLVr*q5DF7p3W;kVHVP#}EF)%e{HDqNnFgZ9mIWjjkG-fhnH8V6}+5tHlI06?4Iyz}{UukY^X>MgGDIjBSZgX@1BVjc&Vr4O6IWu8lIWRUbIAvrrH#jpgGh}8sGc{o{W;5IYIR-ca7X~^yX>(s`Zft38Whi2AZ)_<5BVjmYH#s+9HaIh8W-?-7V`MQjWH)6uG&V71V`MTnI56G;IRrQY7ZN%;Z*XODVRUbDTU{t~bYwa@b98cPZf9S1X=QgQ03%^GWH>W8HZU|fW;Qc0V>mT6F*P|iVKOl|Ff=zgV>e^q0XY!h0T~z|V{dMAbO1SGF*9K?Ib>vJV`MUBH#RmnHD)z8H8?k9GB`IdF=OHZITknq7ZW-MmKSf03%^DGc;x}H83YDc_=9$V{dMAbO0k^H8nJ5G&wb9HfAzqVq-ZuGh$^iVq`EgH#sykH!w9Z_yIWvI06>}Iyz-;WGE>BBVjo?_BVRUbDDF7p3F=06{IXE;pH#TEqWMnWiVPRo8WiVzrI506`I5RnB{sB1%I06?CIyz-?VRL0DV{dMAbYE$7WpZJ3Z*nOBBVjaTVP;}9VP!EfHe@+6VPs@EH#225W->QsI5;q2Ib;9=ISx1i7a%%1WpZJ2Whi5BZgX^BX>?_BVRUbDEFfcVZgX^BX>?_BVRUbDDF7p3FfuS@IA%97Vr647W@2V$H8L_bFkv-eF=a4gVlgsh0s=W6I06?EIyz-?VRL0Db97`nI&*Y#X>MmrWiT=~WjQrtGiEn9I0gba5jX-D5;{6&X>MdFb97`nI&*Y#X>MmjHaRj10y!2q0v8iHI%a8ZWGHiVWI8%`b98cPZf9S1X=QgQ03%^FVm4whVmLHoF=R4kWim8kH)1n4FlIS8Ib&jEIXGnu0yz;30vQ<~V{dMAbO2&CHDNbpWHnN06a&#z5WqDM2aAhVYEFe~4Y;|Q+d2nSWCMf_TVPQ8lH#a#qHZ(RlI5uW7W-?=AWiV!8I5aXcF*!CfWe@^67B~VI3_3b#ZgXXFbSO!5WpXSaNpxj$DF7p3V`XM$W-?@EWie%DVlX!{V>vK3GGaJpHZUVRLh7XKpAB@^H8?diV`DfmH)3WsWj8o6W??sGVliSiWHuH8IR-ca7XmsuVRK(}VPb4$C@BCVVPR%uI5#w7H)1e0VmD?mW;HW4Wj8T1Vlp-~FlJ>rHW&gqI06?4Iyz}{Utw}`VRv25jr|)b6;q0ZEt5~Ze?$Eb0}_aWMyA;d2nSZAY*TCb94YBVPr8gIAbs~Vq{`DGiEh7H)LfoWH>NnV>vi8I5s#pH5>vt4>$rB6FNF+b6;q0ZEt5~Ze?$Eb0}_aWMyA;d2nScAZ~ADWhy2q03%^xHZw6dH90t8WH~f3I5swBGB`M9Fl9GoFlJ#kWj8e*0yz;l0v8`TI%#uXXm4$AXJu|>Z*_AhZf|5|UvznJWh@|LZ*FsRAZ~ADWhy2qAY*TCb94YBVKrrBF)=w|G%;Z?Wj8l5G&VCbGcz$ZG-fkmV`DWpVju!J9XJ9P2s%1xb6<2}Vr*q7DIjBSZgX@1BVlARW;ru6GiEknWnwlnG-fnpWMXAwGdMIkGh|^mV=^KFIR-ca7YI5!X>(t8VQh6}C@COgZ*FsR03%^$F*7$~F=aGkW;Qc2FflbZFgav4VKp{3V`DcoWn^O{0yzda0v8B6I&^t(Whf~iV{dMAbO0k^W@R-vIX5*hVmUZtH!w0cF)(B{G&5m1F=b>nVmV=ECIUGII06?EIyz@%bSQIlWI8%?baH8KXJ2+{Wp^n6BVlDWI59D0VK-woIWl2mH!(OkFg7_eWim1~V>UKnWn?GUTrFk(1iVK8AgWo9rpF)9K%7B~VI6FNF)WppTWbYwa@cXM=dX>MmmWH&H2V`VrwWHn(hIc6|6GB7YQECM+ZECLxBAY*TCb94YUF*Rd3F)}n|WjHl6WnwmAH#IagV=!T2Gh#V8F)?N?0y!5r0v8fGI%j2cUtx17b97`nI&*Y#X>MmdQqW->T3GBY(|WoBeEFf%nYV>vK30y!670025VbYWs_WdLJrVRLhIZ*6Q}F<&usVPb4$E@*UZY(fGdIyz)!W?^+~bYEs{VP|syBVl4RVKg*2VKp#eVKq2rGchqSV`VmFI5Ih8G%`41H8ny4At5?CYIARHUuJJ|ZDDkDWpXHEZ*FsRAarkSY&tq_Z)9aAEFflYa&2LBUuJA!XLBh4BVl7@IAdftVKg{5VlXr^WM(&FH#j#oH!w0XWHmHmV>LPgLmxr{At^dKYIARHUuJJ|ZDDkDWpXHEZ*FsRAarkSY&tq{VRCb2Uvg!0b!>DdEFflYa&2LBUuJA!XLBh4BVjl>Wim5iVq!QsWH>fvH#uc8GcqV_$D`baG{3Z9G&yCM+Oob8l{6W^ZzBVRUq5ay(T&CMf_TVPauoWH(_qW;r)xFg7mcBWIh5zDnbGwEjl`HaAk5~bZ>GzJScN?WI8%xVRLC?UvG1Ca%Ev{JXAg=EFfxgZ*E^^Z*py6baZ8MJXJm>CMf_TVK-qkV>vKoGC5>oWMMKeWi@7EV`gGyHDxz3GBIX0GC%@DD_;NrIy!1|Z*E^^Z*py6baZ8M0Ap-nb8~cWZERmLUomQPZ*E^-W^ZzBVRUq5axQ3eZETeS76>{zb8mHWV`V5QAY*TCb94YBVPP{jIA&opG&5vjVmD+rVq{`8FgG(bH!x&kVKruCV?zQs29*L92s%1%aAk5~bZ>GXZf|5|Uv_C_cRXWnZgX@XZf|5|J}4<5V{dMAbO0k^V>e_rIX5|DH!?IfWH)AEWo0;HVKg{lVPs}wWo0%vMFKbml>!z5Iy!G~WpZJ3Z*m}RZ)9a(c4=jIJZ^7fWj-h=03%^AG-Nn1Fl07mV>vT4GGsDkWinwiHZ*21H8U|cH8(Ry0yvcd76LjtVRI-c03%^xI59Y3F*0UjFfuVRWi@3qF*af|IA&vJF)%Y`I5{~<0ys$m7ziL^Z*FsR05UOTH#9ggWnp4uW-w)8Wn^MGF=S+AWoBVHH85jiF-rnC29*L90y;Wjb6;U{a$$KWDF7p3WMN}6Ff?W{V=-kjVP!cvVr5}rH#uTrF*Y(ZV`DirO#(QT0u}-~I$?8PVsCG3Wnpe8DF7p3G%zqTF=1k6Ha9UfF*0U3W@KYzGch(cHe+QpI5B2qPXaiV0u}-~I$?8PWMOn=C@BCVVKX&lV>e=CG-YOCVm3KBFg9d2I5#w8W;Zi7V`O1rW>Eq-l>!z5Iyzxe?tIb>lnIXGlCH#0L+0yvcd76LjtVRK(*Y;R$7X>MmK`|HZe41IWc27Wi?jl>!z5IyzxDaFDF7p3WnwZjVK^`~G&ngqV>DtgWHmQsF)(8^VKZc7VPs}7T>?0j0u~55I%#t#DIjBSZgX@1BVjNzWieu6WieqeHZ(9fH8Wy2F)%e|Wi&8jH#0LaF*siWI0lsh76>{zX>(s;a&lpLC@COgZ*FsR03%^zV`F7EHZ?V3Fk@pgG%z(eF=00~H8e3YW@KeDWn?#D0yqYh0u~55I%#uXVRCX|d0%g4Uvyz&Y-MvODIjBSZgX@1BVjQ%IX7lEWMMI5WHw{zX>(sDaFDIjBSZgX@1BVjo)F*PzUG-73CH8EjhHf3fxHZo*nIb<|9VrDU7H)Ux8I0lsh76>{zX>(s@Y;R$7X>Mm!zMIyz}{UubV_Z)at0Wp8zJC~j|LWnXl8aAhnYZf|5|DkdoaBVjf;WMwutH!@{1H92KwF)}h^Ffd{;VL4+rVm321F*a=iI1!Zs79Tn~X>(s_Z*6a9Wo~6}b#o|gZ)9a(ba`-PEFfcVZgX@XZf|5|Dkdo)V{dMAbO0k^I5RY5F)(FgWidHqFf?K`WH&c7WHn|oGBjj0Fk(1nZvr?Sl>!zKIyz}{UubV_Z)at0Wp8zJC~j|LWnXl8aAheVV{dMAbO0k^HDoz4IWc5oH8eG4V`ODyGh$;nW;Zu5He)t3Wn^JwaRN9Gl>!zBIyz}{UubV_Z)at0Wp8zJC@COgZ*FsR03%^HWHMqmGd3_`GG$>jG%`3cI5{w7F=SN37XJv9IDIjBSZgX@1BVjdVV`O4BI5aXiI5IaiV`VWnI5sjkF=k?AF*r0eV`Fs!I0lsh76>{zX>(t0b!}p0awsVvV{dMAbO0k^F=S#kWMVcqIW#b1H92BtFl07nH)3TmI5c8qGc_?WcLF#Dl>!zBIyz}{UvqSFX>MmIDIjBSZgX@1BVlD`W-~Q8H#cE4VlgvjWiV!CW@0&EGh#J4F*jy8IAwVPI0lsh76>{zX>(t6VPb4$C@COgZ*FsR03%^FFkvz^Ffn0fH)S+3VlZZ5VlXx^GB7q|WMwyDIXPu}0yqYh0u~55I%#uXbZKp6C@COgZ*FsR03%^EVK+85GhsAhF*PmN2Wiv4|WI1Ae0yqYh0u~55I%#uXc42IFWhf~iV{dMAbO0k^Wn^S#Ib~&HVq`RBV`VovIb}6AH#KE4WI1FtIb}3qe*!oLl>!zBIy!WDaAhbdAY*TCb94YBVKFdfGdMXgGc{vnF*9LeVlXgaF)=wYGc`D2W;Qc3G=Ty*29*L91Ufo$Wo9TTASM7KVK8PgVm3E4WjHWmI5;w5Gcq|fF*9X1Wn(#EWn?%sGJ^s*0)qk=1ttJ8IWl5nWimBlW@R@wIb>rsF*GnUWjHuyFk@phVq;^40yqPe0u~B7I&x)ZC@COgZ*FsRASM7KVKX;4WjQouVq-8cGBY)0Vl-qiWMMWqW;iirWMnrtW`_be2$cdB2s%1;VQh6}C@COgZ*FsR03%^EI50UlWMVipGG#VlGB7eZFfwH}V>mT4GB##6F=8}{0yqYh0u~55I(A`fb!A^=cwu97C@COgZ*FsR03%^zF*GqZVq!EiF*9N^HZnA2Gi6~iH!xu|I5%c7H8Wz10yqYh0u~E8I(A`fb!A^~awt?LCMh6eZ*FsR03%^EGBadkV`F18HZwFeH8eFgF*Ri}FfutXV>w|sVKz050yqhk0u~B7I(BJuX>=$?b#7xOCMh5$03%^!G&eIjFlIA2GcqzZFl1skVrDQlV`MToGBr6kGBhxc0yqed0vHP>05dl+VK6geG-5e1V`gGvIAl3xWj8oAV=-l6V`exrHjx5236%mC5IQ<`X>)0GC`NT|VEnIWjY1FlJ>jWoBk(Fkv<~F*#&mVmUCA0yqv|0025VZf|5|0Ap-nb8~cWZERmLUomcPWMwXBbZuV(mGGZ__FgG!t0zn4S0v`f8I%RHTC@BCVVKXx}WHUK9Wiv84W-vH0IW=TAF*IgoFfwLjW@ckyHlPAQpaLNXAY*TCb94YPH8f;1GGb$4Gi6~lFl1vjFf%YSH!?OiHDNe4VKz0Q0zn4S0v`lAI%RTlZ*nLpASM7KVP$4wVmV=9W@KhCFlJ#fVPiQrIXN~mWHK^kF*0Q~IHUqW0;B>V1ttJuFgH0dG%_+cW;tdzG&43fGB{&7Ib>!uH8f^1H#cOa0zm`P0v`%GI%RTlZ*nLpAY*TCb95jk03%^JVKq52Ibtv|WM(;GH)c0xIXE_AI5aacV`XM!GGaKW0znAU0v`xEI%Z*MY-MC9DIjBSZgX@1BVjo(IX7ZsH8nCYFgG(gGg{Iy!G~WpZJ3Z*m}GZ*FsRAaG%Fb7fy;a&m8SCMYQ&V{dMAbO0k^G&5voHZ)~0GBh+ZVlrW3W@I^JGGjP4V>M+oV>2*et^z>@(gGg{Iy!G~WpZJ3Z*m}GZ*FsRAarkSY&tr0VPb4$CMYQ&V{dMAbO0k^Ib<+3IWjmoWn^JyHe)wtVmC24F*af{F<~-hIb%6yumV8_(gGg>Iy!G~WpZJ3Z*m}TVRCb2UuAM~Z*nFmDF7p3Vq-XAHaRn6Vl^{3G&C_{H90plWoBkGIAb?4Ha0dnvI0TU0v`f8I&W}ga$$6Dav*SFa&u*0WpZ+FawaAyDF7p3Ic7I7VPQ5lHDow6VPR%9W;ru9WMncoW;SCvHDfekv;slW0v`f8I&W}ga$$6Dav*eXZEQL^bYWs_WhN*o03%^FWid2mGBRW|WHvZrGB;x}F*h+WVKXx^Ib>rtVrDtE0zuLO9|Af$Z*XODVRUbDAarkSY&tr0VPb4$CMGB;03%^IWMg45HZU+aI5s&oG-5M2VmUcsG+{JmIb&isH)Axo0zuLO9}qe^Z*XODVRUbDJt%Nta&u*0a%FRMY;-0jDF7p3VKiehV>dT2VK`(mF*Ig5WHm52H8?UdGc#spF=RM2x&lEC(gGh1Iy!G~WpZJ3Z*p5*D06gjX>MmU81WHU8nV`DX9G-hOFV>vfuIc7CsH)c6DX21eL5x@c=86abCZgX@1H8^22Wo0=xF)}hRG&whAW;rr4W@9p8Vl`toVL4+k!U91T(gGh4Iy!J+a&u*0a%FRMY;-7aVRCb2Uvg!0b!>DdCMf_TVK6l~VmCHsGdX5rHDNh7F*P_fH8VJ7GGsI`IXGfrHN*lz4$=Z22s%1*bz@^?Wn^V!C@COgZ*FsR03%^yHDYFCWHx1FGdMLcF*Y+fH83(cVq`WsVPrQrVKZaK0zn4S0v`lAI&@)TY-K1ZASM7KVKg^nGG$?8GB9CfIb<<5I59FYFk?0|Gch?~HeoR~GROi!0>}a(1ttJDH)1q5Fk&_~WMnijF<~%aIWjpgFg9dlH#j(AI5;xO0zm`P0v`%GI&@)TY-K1ZAY*TCb95jk03%^JIWuN8WHmWsG-5F@W;i!7GdN~AVPax9VKFvjH8Et&0znAU0v`f8I(~3ra&u*0a%FRMY;-6o03%^!Ib||3W-vK8H8f#nG-ES1I5se3HZf%|V=!hiHDWQ&0zuLOA22#PZ*XODVRUbDJUl3KbYwa@VqtS>V_$D`baG{3Z9GG0VRAkuEFfcVZgX@XaA9(DWnXe-b9HQVCMf_TVK`zrGGjJ0F=b>jGG;e9H#RgjFg9dnH#s+EGcq?gWzYgaE?)ouIy!J+a&u*0a%FRMY;*u)Y+-YAbZ>2JUol@XaA9(DWnW)%Wpj0GbS`LgZEP_E956aMZ*XODVRUbDJUl3KbYwa@VqtS>V_$D`baG{3Z9GG0VRAkuEFfcVZgX@XZf|5|Uv_C_cRW-+CMf_TVKX#gIAb?rW@2SEW@a&CGht(4Vq|4yF*r0aFgY+cHq!z=E-?cf2s%1$Z)9aCDIjBSZgX@1BVlG@G%{jgHfCgGWM*PCFgIdkGdE&3IX7W6FgG$ZHe}TTJ_a!Z90EEzZf|5|Uv_C_cPJ?UBVjOPIAUfsF)?IfF)?B`H!wIcVr5}7HDfY0Wi(@9Ic3)ZJ~0Cv4mvt+Z)9a(c4=jID0XROcV%Q>ba`-PDk%UXVKF&5V_`63FfnB^H(@t4VlrW5He_ODH8nIbF*9ajIN1U|3^4;74mvt+Z)9a(c4=jID0XROcV%Q>ba`-PCMf_TVP-TiV`XGGIWRJ1I5A~2H8f#nG&Er_Gc#r|HDoq8GTQ<^3^4;72s%1%aAk5~bZ>GXVsCG3C@COgZ*FsR03%^yIAvupW@ckzIXO8tFfm~{VlXl^H)Ak4IbmTrGBq&W0zL*Y0~{baI&W}ga$$6Day>mLV{dMAbRceTWMyA=X=QgNEFfcVZgX@XbYWs_WhN;ABVji+G-708VK+E9HaTHtWj11CV`4O7H8Eu{VK+BrG&SD>J{~ax93VP6Z*XODVRUbDJv}I6Z*FsRAZ~ADWnXq_Wp^elAY*TCb95kKa&lpLCMf_TVKZVgIbmgFVqs)qHZn3XVKikkI5jt7FlI0^Gc`CgGvNY09x($PDLOiDaAk5~bZ>G!Jt$*uZgX@XZf|5|Uv_C_cP1<#V{dMAbRcwZZEQL^c42IFWjs_qCMf_TVPrXGWH~lCGB##oWo0xoV`MR9VKHN4W;SIqGGjP7HRA$4CouyY96CC0aAk5~bZ>G!Jt$*uZgX@XZf|5|Uv_C_cP1<#V{dMAbRbkFDF7p3G&L|cH!w0{GdD73FgY+bIb>uvW;0@8V=_1~Vq`Hh@5}Y-xIBa$js|b96jZJ|-yuBVl4H3VK8PnWi(-BFgay2H8AG_J~1%^94R_FZ*XODVRUbDJv}I6Z*FsRAZ~ADWnXq_Wp^elAY*TCb95kcbYwa@c4cF9Z*n|TJ|-yuBVjRSGBY+~H)1q0WH>Z2V=*~mI5sz8H8VM8WMeR9WMk<9J|{5)92hz}Z*XODVRUbDTU{t~bYwa@b98cPZf9S1X=QgQAY*TCb94YBVKQW7Wic{1IW%TBFf}tUWH>NnWi&NmFf(OgWj8oxVe0}u7BK@H89F*|aAk5~bZ>H7T_|&OWI8%`b98cPZf9S1X=QgQAY*TCb94YBVP-fpVK_KuFgIf~Vq!NjV>f0vIb}9sG&M0XWiVx9W9H7T_|&DdSzd9DIjBSZgX@1BVjdUF*9N?GB#yqV`MWiI59FbF*RjjWHT^jWnwltWMc0EJ`6Df90)o(VRI-cAY*TCb94YBVL4`IHZ(XmWjQrDGh$>iWMMU7Wj8TnGdD0YIWsdcH1PsH1~CI12s%1pb6;U{a$$KWDIjBSZgX@1BVlAYWj8i3WjSRqG&EvkGc++XHe+EiHaBHrVKQW4HDmJvJ_a!Z90)o(VRK(%Z*Od6VQwfXAY*TCb94YBVKHSmGBPn^GBaaiGdVV8WM*YJH)1j{G-6>eH)S?6X7vI-1~CI12s%1pb6;d(bY&3HD)w8G-fq6Vr4jFFf%tXWH2{jWcLC-1~CI12s%1pb6;d(bY)+3X>DaFDIjBSZgX@1BVjaVHZe3dIWlB1Gi75mF*P+cI5IgfWHK>jFkv@gI5+tMJ_a!Z90)o(VRK(*Y;R$7X>MmUB2Hva-X1~CI12s%1pb6<2}Vr*q7DIjBSZgX@1BVjf;H)c36V=_24H)bdEmV>V`CFf%zbVq;@DVPydWJ_a!Z90)o(VRK(}X>DaFDIjBSZgX@1BVlD_GBPnaV`5}DI5%ZuG&eRhWjQi3G%;c@HZnLgFgODPJ_a!Z90)o(X>%wkAY*TCb94YBVKOmfH)Az5VKXyfVKHMkHaKKtWi?}BVPQ9AH8f>oG6e%Z1~CI12s%1xb6;U{a$$KWDIjBSZgX@1BVjl(s;a&lpLUvFk#bYWs_WpgMgAY*TCb94YBVK!r9G&MP5WivK5IXGowHDNhnV=!beFk&<`I51^lWeEd51~CI12s%1xb6;X_Z){~@ZYU`rV{dMAbO0k^VK-%EFk~@iGdVV8F)}zaV>DqgF=Q||VmUN0FgQ6k3j;m|F#{Y3Iyz}{Uu0o)Whf~iV{dMAbO0k^G-P8pV`eyEH8*5pH#25oH#s?BIWswCH(_IBH8eS74Ff&~F#{Y3Iyz}{Uu0o)WnXk@ZDlAaAY*TCb94YBVKrehI51{6H#1>nGC470IW#h1Ff(N|HDNe7V>vWpFb@Mh1~CI12s%1xb6;j`Z(($4Zf9R`Z)t9HC@COgZ*FsR03%^EGi6~jWo2YHVlZYgGc#skH)J<8GGRG0GBRT~H8^Dv13m^Z0~{baI%#uXXm4$AXJu|>Z*_AhZf|5|UvznJWh@|eX=Qh1WM6c7aAhhcDIjBSZgX@1BVjUOGC43ZFg7$aGBIW}FfnB~FlAvjI5%TuW;HW5WMLBnJ{~ax91%J?X>(s_Z*6a9Wo~6}b#o|gZ)9a(ba`-PDIjBSZgX@1BVlG`Fkxb3H8Eu{Wic=~Vlyx{Vr4R6Gi7BtH8wG0V__8oJ`XVi90)o(X>(s_Z*6a9Wo~6}b#o{wAY*TCb94YBVKO;mI5K27Gh#7hHZ*21F*aplG%{v6HD+WpH)S(4HWvdv1~CI12s%1xb6;t0bY*8{awsVvV{dMAbO0k^VmV_tGc{ynW-u`~W->J}WH>ZtVKrnmH#0V6I5jdb83R5BF#{Y3Iyz}{Uv716Vr6nDDIjBSZgX@1BVjQxH#ajfGdD0}HZn9YGGZ|?Ffm~_IAu38I5K8rIAR+EJ_a!Z90)o(X>(t5baH8KXDBHkV{dMAbO0k^H#uT7H!?OjF*P-0IW;w6IAt=dWjQ!A9RofFF#{Y3Iyz}{Uvyz&Y-K1ZAY*TCb94YBVK*>hH8wY8VKq21V>CB1W@R}wVK_NrHDWk4GGk?BHXj2%1~CI12s%1xb6<36ZDlAaAY*TCb94YBVL3QqHezElGi5VkVKp~1V>35lFg7_cGB#mjW-wwnV<7`R1~CI12s%1xb6<90Y;|QQDIjBSZgX@1BVl1RIA%CxWi&TpWi@6sGdD9hVliPbG-NkrIb<+3VP+!(J_a!Z90)o(ba`-PC@COgZ*FsR03%^CG&nP3W-(znGchzaHZeIdIbu05Ha25rHZo&5HZn0K13m^Z0~`oCI&x)ZC@COgZ*FsR03%^#V>M$pHZ(FhGhsJnWnwZgFfch`G&nS3Gc;s3V>4kV13m^Z0~`oCI(A`fb!8|iAY*TCb94YBVKgyiWH4khVP<4xW->Q9VPrQqG+|~pGdMRgGi78mVJQPX1~CI12s%1;VQh6}UuAecuFf}w{F*Y(bVP-O9F)%e{W;Qr6Wh(VQh6}UvF|KR3;`VAY*TCb94YBVK-%CIb>uqGi5O`HZn3YFf}z|G-5eqF*h?dG-75lHZ21_2{8j44mvt^X>)0GC`NT|VAUv_C_cK}~sc4=jIE@*UZY&HWP6*@X^aAk5~bZ>GZB42cGZEPrGZ*FsRAY*7@aw;q!b7^{IUvwz|BVjZ!F*P$VWi>W1V=`o8H8e0cGC5&pFfnB@Fk&)cH#9N>Kod3t9vC`0Z*XODVRUbDA|hXOZ*6QSV{dMAbRc7BVRATMbSf+$b7^{IUvwz|BVl4?_BVQg~%Uol@XY-x05a$#(9E@*UZYyuzwBmyk~G66RMJpn=kNdrs;Pz6*0S^!=EW&vpcaByK~Wo}_@Wpi+0V`XP@Z*_2EY+-YAb98cbV{~V?Hd2nT9WoBe)a%O34WoC75V`OD!X>Mg@Zgp*CZgp)Sc42IGVRB<{ZewL|bN~PV'); diff --git a/v2.5.0/structtoml_1_1date.html b/v2.5.0/structtoml_1_1date.html new file mode 100644 index 00000000..dadb6b6c --- /dev/null +++ b/v2.5.0/structtoml_1_1date.html @@ -0,0 +1,183 @@ + + + + toml::date struct | toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date struct +

                                                                                                                              +

                                                                                                                              A local date.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              uint16_t year +
                                                                                                                              +
                                                                                                                              The year component.
                                                                                                                              +
                                                                                                                              uint8_t month +
                                                                                                                              +
                                                                                                                              The month component, from 1 - 12.
                                                                                                                              +
                                                                                                                              uint8_t day +
                                                                                                                              +
                                                                                                                              The day component, from 1 - 31.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(date lhs, + date rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(date lhs, + date rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<=(date lhs, + date rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(date lhs, + date rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(date lhs, + date rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(date lhs, + date rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.5.0/structtoml_1_1date__time.html b/v2.5.0/structtoml_1_1date__time.html new file mode 100644 index 00000000..84bf8e75 --- /dev/null +++ b/v2.5.0/structtoml_1_1date__time.html @@ -0,0 +1,279 @@ + + + + toml::date_time struct | toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date_time struct +

                                                                                                                              +

                                                                                                                              A date-time.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + date_time() constexpr noexcept +
                                                                                                                              +
                                                                                                                              Default-constructs a zero date-time.
                                                                                                                              +
                                                                                                                              + date_time(toml::date d, + toml::time t) constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs a local date-time.
                                                                                                                              +
                                                                                                                              + date_time(toml::date d, + toml::time t, + toml::time_offset off) constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs an offset date-time.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto is_local() const -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this date_time does not contain timezone offset information.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + toml::date date +
                                                                                                                              +
                                                                                                                              The date component.
                                                                                                                              +
                                                                                                                              + toml::time time +
                                                                                                                              +
                                                                                                                              The time component.
                                                                                                                              +
                                                                                                                              + optional<toml::time_offset> offset +
                                                                                                                              +
                                                                                                                              The timezone offset component.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<=(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date_time::date_time(toml::date d, + toml::time t) constexpr noexcept +

                                                                                                                              +

                                                                                                                              Constructs a local date-time.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              dThe date component.
                                                                                                                              tThe time component.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date_time::date_time(toml::date d, + toml::time t, + toml::time_offset off) constexpr noexcept +

                                                                                                                              +

                                                                                                                              Constructs an offset date-time.

                                                                                                                              + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              dThe date component.
                                                                                                                              tThe time component.
                                                                                                                              offThe timezone offset.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Variable documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + optional<toml::time_offset> toml::date_time::offset +

                                                                                                                              +

                                                                                                                              The timezone offset component.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.5.0/structtoml_1_1inserter.html b/v2.5.0/structtoml_1_1inserter.html new file mode 100644 index 00000000..6a13ca9d --- /dev/null +++ b/v2.5.0/structtoml_1_1inserter.html @@ -0,0 +1,129 @@ + + + + toml::inserter struct | toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + toml::inserter struct +

                                                                                                                              +

                                                                                                                              Helper class for suppressing move-construction in single-argument array constructors.

                                                                                                                              +
                                                                                                                              // desired result: [ [ 42 ] ]
                                                                                                                              +auto bad = toml::array{ toml::array{ 42 } }
                                                                                                                              +auto good = toml::array{ toml::inserter{ toml::array{ 42 } } }
                                                                                                                              +std::cout << "bad: " << bad << "\n";
                                                                                                                              +std::cout << "good:" << good << "\n";
                                                                                                                              bad:  [ 42 ]
                                                                                                                              +good: [ [ 42 ] ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.5.0/structtoml_1_1source__position.html b/v2.5.0/structtoml_1_1source__position.html new file mode 100644 index 00000000..cabb8a99 --- /dev/null +++ b/v2.5.0/structtoml_1_1source__position.html @@ -0,0 +1,203 @@ + + + + toml::source_position struct | toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::source_position struct +

                                                                                                                              +

                                                                                                                              A source document line-and-column pair.

                                                                                                                              + +
                                                                                                                              auto table = toml::parse_file("config.toml"sv);
                                                                                                                              +std::cout << "The node 'description' was defined at "sv
                                                                                                                              +    << table.get("description")->source().begin()
                                                                                                                              +    << "\n";
                                                                                                                              The value 'description' was defined at line 7, column 15
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + operator bool() const explicit constexpr noexcept +
                                                                                                                              +
                                                                                                                              Returns true if both line and column numbers are non-zero.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + source_index line +
                                                                                                                              +
                                                                                                                              The line number.
                                                                                                                              +
                                                                                                                              + source_index column +
                                                                                                                              +
                                                                                                                              The column number.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const source_position& lhs, + const source_position& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Returns true if two source_positions do not represent the same line and column.
                                                                                                                              +
                                                                                                                              + auto operator<(const source_position& lhs, + const source_position& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the LHS position is before the RHS position.
                                                                                                                              +
                                                                                                                              + auto operator<=(const source_position& lhs, + const source_position& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the LHS position is before the RHS position or equal to it.
                                                                                                                              +
                                                                                                                              + auto operator==(const source_position& lhs, + const source_position& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Returns true if two source_positions represent the same line and column.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Variable documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + source_index toml::source_position::line +

                                                                                                                              +

                                                                                                                              The line number.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + source_index toml::source_position::column +

                                                                                                                              +

                                                                                                                              The column number.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.5.0/structtoml_1_1source__region.html b/v2.5.0/structtoml_1_1source__region.html new file mode 100644 index 00000000..bea34de7 --- /dev/null +++ b/v2.5.0/structtoml_1_1source__region.html @@ -0,0 +1,189 @@ + + + + toml::source_region struct | toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::source_region struct +

                                                                                                                              +

                                                                                                                              A source document region.

                                                                                                                              + +
                                                                                                                              auto tbl = toml::parse_file("config.toml"sv);
                                                                                                                              +if (auto server = tbl.get("server"))
                                                                                                                              +{
                                                                                                                              +    std::cout << "begin: "sv << server->source().begin << "\n";
                                                                                                                              +    std::cout << "end: "sv << server->source().end << "\n";
                                                                                                                              +    std::cout << "path: "sv << *server->source().path << "\n";
                                                                                                                              +}
                                                                                                                              begin: line 3, column 1
                                                                                                                              +end: line 3, column 22
                                                                                                                              +path: config.toml
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto wide_path() const -> optional<std::wstring> noexcept +
                                                                                                                              +
                                                                                                                              The path to the corresponding source document as a wide-string.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + source_position begin +
                                                                                                                              +
                                                                                                                              The beginning of the region (inclusive).
                                                                                                                              +
                                                                                                                              + source_position end +
                                                                                                                              +
                                                                                                                              The end of the region (exclusive).
                                                                                                                              +
                                                                                                                              + source_path_ptr path +
                                                                                                                              +
                                                                                                                              The path to the corresponding source document.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + optional<std::wstring> toml::source_region::wide_path() const noexcept +

                                                                                                                              +

                                                                                                                              The path to the corresponding source document as a wide-string.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Variable documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + source_path_ptr toml::source_region::path +

                                                                                                                              +

                                                                                                                              The path to the corresponding source document.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.5.0/structtoml_1_1time.html b/v2.5.0/structtoml_1_1time.html new file mode 100644 index 00000000..96dc2704 --- /dev/null +++ b/v2.5.0/structtoml_1_1time.html @@ -0,0 +1,186 @@ + + + + toml::time struct | toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::time struct +

                                                                                                                              +

                                                                                                                              A local time-of-day.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              uint8_t hour +
                                                                                                                              +
                                                                                                                              The hour component, from 0 - 23.
                                                                                                                              +
                                                                                                                              uint8_t minute +
                                                                                                                              +
                                                                                                                              The minute component, from 0 - 59.
                                                                                                                              +
                                                                                                                              uint8_t second +
                                                                                                                              +
                                                                                                                              The second component, from 0 - 59.
                                                                                                                              +
                                                                                                                              uint32_t nanosecond +
                                                                                                                              +
                                                                                                                              The fractional nanoseconds component, from 0 - 999999999.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const time& lhs, + const time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(time lhs, + time rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<=(time lhs, + time rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const time& lhs, + const time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(time lhs, + time rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(time lhs, + time rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.5.0/structtoml_1_1time__offset.html b/v2.5.0/structtoml_1_1time__offset.html new file mode 100644 index 00000000..79e3f2ce --- /dev/null +++ b/v2.5.0/structtoml_1_1time__offset.html @@ -0,0 +1,224 @@ + + + + toml::time_offset struct | toml++ TOML for modern C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::time_offset struct +

                                                                                                                              +

                                                                                                                              A timezone offset.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + time_offset() constexpr noexcept +
                                                                                                                              +
                                                                                                                              Default-constructs a zero time-offset.
                                                                                                                              +
                                                                                                                              + time_offset(int8_t h, + int8_t m) constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs a timezone offset from separate hour and minute totals.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              int16_t minutes +
                                                                                                                              +
                                                                                                                              Offset from UTC+0, in minutes.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<=(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::time_offset::time_offset(int8_t h, + int8_t m) constexpr noexcept +

                                                                                                                              +

                                                                                                                              Constructs a timezone offset from separate hour and minute totals.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              hThe total hours.
                                                                                                                              mThe total minutes.
                                                                                                                              +
                                                                                                                              std::cout << toml::time_offset{ 2, 30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{ -2, 30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{ -2, -30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{ 0, 0 } << "\n";
                                                                                                                              +02:30
                                                                                                                              +-01:30
                                                                                                                              +-02:30
                                                                                                                              +Z
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v2.5.0/toml++.tagfile.xml b/v2.5.0/toml++.tagfile.xml new file mode 100644 index 00000000..f30eb64e --- /dev/null +++ b/v2.5.0/toml++.tagfile.xml @@ -0,0 +1,5829 @@ + + + + toml::array + classtoml_1_1array.html + toml::node + + array_iterator + iterator + classtoml_1_1array.html + a62a18471ca7c5b06204d2e26c963f833 + + + + const_array_iterator + const_iterator + classtoml_1_1array.html + adfd38318d3390a76f073a83fd2f2aa21 + + + + + array + classtoml_1_1array.html + a29fc707cf66a79f3c3d93dadbe3b2719 + () noexcept + + + + array + classtoml_1_1array.html + a5883d7e1a7b9c9ba2b87fb8043ddb0d9 + (const array &) noexcept + + + + array + classtoml_1_1array.html + ac552a63c329598d671e6531b0cef957b + (array &&other) noexcept + + + array & + operator= + classtoml_1_1array.html + af9bf16bc9e21887dc1447651f6fbaba7 + (const array &) noexcept + + + array & + operator= + classtoml_1_1array.html + a7e5e45777e08941abb2069a5991e1f31 + (array &&rhs) noexcept + + + + ~array + classtoml_1_1array.html + ace30b5dcdbcb8ff7da2c49f7e55bdfaa + () noexcept override + + + + array + classtoml_1_1array.html + a8484f098f8bb1a7dd8426ec99f4bb807 + (ElemType &&val, ElemTypes &&... vals) + + + node_type + type + classtoml_1_1array.html + a10f914637ff56f5bc6f96b089fd141a3 + () const noexcept override + + + bool + is_table + classtoml_1_1array.html + a30764b48a4c5cb191b620b77df4c8b00 + () const noexcept override + + + bool + is_array + classtoml_1_1array.html + a17362a39f6ec6f14ce59f8a8ed2b88cf + () const noexcept override + + + bool + is_value + classtoml_1_1array.html + a7a38831cec7e7215a6101ba40fc1ce11 + () const noexcept override + + + array * + as_array + classtoml_1_1array.html + a92874b0f5a195ffc699dde0a5a25f118 + () noexcept override + + + bool + is_array_of_tables + classtoml_1_1array.html + ab8e15c4067237ab3192ab8f412bee0f6 + () const noexcept override + + + bool + is_homogeneous + classtoml_1_1array.html + a628574d1e47440545019a3467be64fdc + (node_type ntype) const noexcept override + + + bool + is_homogeneous + classtoml_1_1array.html + abff1c5e9bf3afb04ff16c15522aa55c4 + (node_type ntype, node *&first_nonmatch) noexcept override + + + bool + is_homogeneous + classtoml_1_1array.html + aa3f96a375f73b5378d06894ab40af641 + (node_type ntype, const node *&first_nonmatch) const noexcept override + + + node & + operator[] + classtoml_1_1array.html + a853bad0297ca4dcee57c97da2fe318e7 + (size_t index) noexcept + + + const node & + operator[] + classtoml_1_1array.html + ae9f72a1b877f2ac66327a152d55aa9c6 + (size_t index) const noexcept + + + node & + front + classtoml_1_1array.html + a9c78848129a2a703c154e7cbe1a973d3 + () noexcept + + + const node & + front + classtoml_1_1array.html + a5ba3af18c63546da6f9d2ac3b5b77f64 + () const noexcept + + + node & + back + classtoml_1_1array.html + a4c58dea5e8795e4b9f8df4f1e1473204 + () noexcept + + + const node & + back + classtoml_1_1array.html + ac7652c1ab60af2ca1c7d52f0658639b4 + () const noexcept + + + iterator + begin + classtoml_1_1array.html + a8ee8179ddf1cb44fdf0b8d0700f55c2f + () noexcept + + + const_iterator + begin + classtoml_1_1array.html + a7cff1526a6d1f6157e0eab231b4757aa + () const noexcept + + + const_iterator + cbegin + classtoml_1_1array.html + a56d1cba006dccc5ad9982b58a8b2ddc1 + () const noexcept + + + iterator + end + classtoml_1_1array.html + adaf908b0cc3e8bcb1ee9ec9ec706d223 + () noexcept + + + const_iterator + end + classtoml_1_1array.html + a778b5b807ff7329f7de10237d73f29c2 + () const noexcept + + + const_iterator + cend + classtoml_1_1array.html + a50e6b032805760f3930e02923d9a84b0 + () const noexcept + + + bool + empty + classtoml_1_1array.html + a5d527ea6bfddad1025e90e4363c822cc + () const noexcept + + + size_t + size + classtoml_1_1array.html + af81d7b6a1257ad766a47d9276855a7c9 + () const noexcept + + + void + reserve + classtoml_1_1array.html + a1ba073adc52c3df5ad29cfd7e5daa1d5 + (size_t new_capacity) + + + void + clear + classtoml_1_1array.html + adaa65bf63f29f898c27423306c165d68 + () noexcept + + + size_t + max_size + classtoml_1_1array.html + ae65a76add6d756fc7ba8f12a5aad983c + () const noexcept + + + size_t + capacity + classtoml_1_1array.html + a02b773a1ff337692e78da429030c1610 + () const noexcept + + + void + shrink_to_fit + classtoml_1_1array.html + a718c2031ead428aa52912741f6d094aa + () + + + iterator + insert + classtoml_1_1array.html + ab44c0e3568a683bc6d53c8f5b11abb88 + (const_iterator pos, ElemType &&val) noexcept + + + iterator + insert + classtoml_1_1array.html + aa454d276f2935b1e2b5c2caec9bc2a0d + (const_iterator pos, size_t count, ElemType &&val) noexcept + + + iterator + insert + classtoml_1_1array.html + a311fed9b54b87daab0646fbc1818170b + (const_iterator pos, Iter first, Iter last) noexcept + + + iterator + insert + classtoml_1_1array.html + a87500f1ea51f3b42dadc686a3e128fea + (const_iterator pos, std::initializer_list< ElemType > ilist) noexcept + + + iterator + emplace + classtoml_1_1array.html + a5b87d1345eccbb1b9406092e72fa0c38 + (const_iterator pos, Args &&... args) noexcept + + + iterator + erase + classtoml_1_1array.html + a22389a9ed9444fe52be10c4acbdec908 + (const_iterator pos) noexcept + + + iterator + erase + classtoml_1_1array.html + a723388860d72c9a162137d0293366fb2 + (const_iterator first, const_iterator last) noexcept + + + void + resize + classtoml_1_1array.html + a8694e01e9b0b1c5b9152518137d5b971 + (size_t new_size, ElemType &&default_init_val) noexcept + + + void + truncate + classtoml_1_1array.html + a6e3ac9962c706a88c1001ff83a4084f3 + (size_t new_size) + + + void + push_back + classtoml_1_1array.html + a2b3315295340dc76b69ce916d31fec35 + (ElemType &&val) noexcept + + + decltype(auto) + emplace_back + classtoml_1_1array.html + af82fb4fec1f33c323123fab0ec4a74ac + (Args &&... args) noexcept + + + void + pop_back + classtoml_1_1array.html + af99d72e29cef84f736d91d627b47a1dc + () noexcept + + + node * + get + classtoml_1_1array.html + a10664e00054ea4021fec5144b69b8792 + (size_t index) noexcept + + + const node * + get + classtoml_1_1array.html + a44db509dce6b7b77e563c822a5936abe + (size_t index) const noexcept + + + impl::wrap_node< ElemType > * + get_as + classtoml_1_1array.html + a5c2f4624498cba9e1e467b0eb2e9046e + (size_t index) noexcept + + + const impl::wrap_node< ElemType > * + get_as + classtoml_1_1array.html + ae47ca1cc4c61e94fed30aea72ca8d268 + (size_t index) const noexcept + + + array & + flatten + classtoml_1_1array.html + aa2a21958705629bde15aafae9598a2ec + () & + + + array && + flatten + classtoml_1_1array.html + ad307bea17e7640c57715d67ab8a777d4 + () && + + + virtual bool + is_string + classtoml_1_1node.html + aeff35977a4b13fe0fefb9a3b5917f98e + () const noexcept + + + virtual bool + is_integer + classtoml_1_1node.html + a5ecdb684288275ce1786281fbe1845cc + () const noexcept + + + virtual bool + is_floating_point + classtoml_1_1node.html + a3ea1296a95c43125119a6fe26af5b014 + () const noexcept + + + virtual bool + is_number + classtoml_1_1node.html + a1db6db67940c59bf0d6f7be184be3511 + () const noexcept + + + virtual bool + is_boolean + classtoml_1_1node.html + a47ca3bd6392029a065f13c029b2db0b2 + () const noexcept + + + virtual bool + is_date + classtoml_1_1node.html + a6e6060cb1233b87d7b57a2a203891d2a + () const noexcept + + + virtual bool + is_time + classtoml_1_1node.html + a4a7663a4b15650cf833d5c833e313d9b + () const noexcept + + + virtual bool + is_date_time + classtoml_1_1node.html + a9115204bee51ac6ef962dd9d47bf1b7e + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + virtual table * + as_table + classtoml_1_1node.html + aa696716239e7434145103173e880fb80 + () noexcept + + + virtual toml::value< std::string > * + as_string + classtoml_1_1node.html + ab8f42ecf095260b1d97363949a98267b + () noexcept + + + virtual toml::value< int64_t > * + as_integer + classtoml_1_1node.html + ac507d02b3b744e0624c504614e91c9e5 + () noexcept + + + virtual toml::value< double > * + as_floating_point + classtoml_1_1node.html + a480ae95e180992d152ad80e3b52a330a + () noexcept + + + virtual toml::value< bool > * + as_boolean + classtoml_1_1node.html + a40031abf671512f9fdcd31666ce481fd + () noexcept + + + virtual toml::value< date > * + as_date + classtoml_1_1node.html + a35ec7bd4efab69906d7874df736cdaaf + () noexcept + + + virtual toml::value< time > * + as_time + classtoml_1_1node.html + aeb23a8054899c4b0d57e10c4a3dcadf0 + () noexcept + + + virtual toml::value< date_time > * + as_date_time + classtoml_1_1node.html + a68cc63dfd8e435b00c7c99da298d6733 + () noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + ac1417bb4313b2624e3ea270a487f153b + () const noexcept + + + optional< T > + value + classtoml_1_1node.html + a48098db842e6a202902e6c85326f71b4 + () const noexcept + + + auto + value_or + classtoml_1_1node.html + a423ddccc36345545615e20290c9a8a65 + (T &&default_value) const noexcept + + + impl::unwrap_node< T > & + ref + classtoml_1_1node.html + a0f2b674e80b882b329513e7ec9aed842 + () &noexcept + + + impl::unwrap_node< T > && + ref + classtoml_1_1node.html + a292bce25bfe779dc51403e88f0cc4bcc + () &&noexcept + + + const impl::unwrap_node< T > & + ref + classtoml_1_1node.html + a378e94ebc00235eb4d1da68f81edd77f + () const &noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + friend std::basic_ostream< Char > & + operator<< + classtoml_1_1array.html + a8574290131ff09ae36a4535e2ac25261 + (std::basic_ostream< Char > &, const array &) + + + node_type + type + classtoml_1_1array.html + a10f914637ff56f5bc6f96b089fd141a3 + () const noexcept override + + + bool + is_table + classtoml_1_1array.html + a30764b48a4c5cb191b620b77df4c8b00 + () const noexcept override + + + bool + is_array + classtoml_1_1array.html + a17362a39f6ec6f14ce59f8a8ed2b88cf + () const noexcept override + + + bool + is_value + classtoml_1_1array.html + a7a38831cec7e7215a6101ba40fc1ce11 + () const noexcept override + + + array * + as_array + classtoml_1_1array.html + a92874b0f5a195ffc699dde0a5a25f118 + () noexcept override + + + bool + is_array_of_tables + classtoml_1_1array.html + ab8e15c4067237ab3192ab8f412bee0f6 + () const noexcept override + + + bool + is_homogeneous + classtoml_1_1array.html + a628574d1e47440545019a3467be64fdc + (node_type ntype) const noexcept override + + + bool + is_homogeneous + classtoml_1_1array.html + abff1c5e9bf3afb04ff16c15522aa55c4 + (node_type ntype, node *&first_nonmatch) noexcept override + + + bool + is_homogeneous + classtoml_1_1array.html + aa3f96a375f73b5378d06894ab40af641 + (node_type ntype, const node *&first_nonmatch) const noexcept override + + + node & + operator[] + classtoml_1_1array.html + a853bad0297ca4dcee57c97da2fe318e7 + (size_t index) noexcept + + + const node & + operator[] + classtoml_1_1array.html + ae9f72a1b877f2ac66327a152d55aa9c6 + (size_t index) const noexcept + + + node & + front + classtoml_1_1array.html + a9c78848129a2a703c154e7cbe1a973d3 + () noexcept + + + const node & + front + classtoml_1_1array.html + a5ba3af18c63546da6f9d2ac3b5b77f64 + () const noexcept + + + node & + back + classtoml_1_1array.html + a4c58dea5e8795e4b9f8df4f1e1473204 + () noexcept + + + const node & + back + classtoml_1_1array.html + ac7652c1ab60af2ca1c7d52f0658639b4 + () const noexcept + + + iterator + begin + classtoml_1_1array.html + a8ee8179ddf1cb44fdf0b8d0700f55c2f + () noexcept + + + const_iterator + begin + classtoml_1_1array.html + a7cff1526a6d1f6157e0eab231b4757aa + () const noexcept + + + const_iterator + cbegin + classtoml_1_1array.html + a56d1cba006dccc5ad9982b58a8b2ddc1 + () const noexcept + + + iterator + end + classtoml_1_1array.html + adaf908b0cc3e8bcb1ee9ec9ec706d223 + () noexcept + + + const_iterator + end + classtoml_1_1array.html + a778b5b807ff7329f7de10237d73f29c2 + () const noexcept + + + const_iterator + cend + classtoml_1_1array.html + a50e6b032805760f3930e02923d9a84b0 + () const noexcept + + + bool + empty + classtoml_1_1array.html + a5d527ea6bfddad1025e90e4363c822cc + () const noexcept + + + size_t + size + classtoml_1_1array.html + af81d7b6a1257ad766a47d9276855a7c9 + () const noexcept + + + void + reserve + classtoml_1_1array.html + a1ba073adc52c3df5ad29cfd7e5daa1d5 + (size_t new_capacity) + + + void + clear + classtoml_1_1array.html + adaa65bf63f29f898c27423306c165d68 + () noexcept + + + size_t + max_size + classtoml_1_1array.html + ae65a76add6d756fc7ba8f12a5aad983c + () const noexcept + + + size_t + capacity + classtoml_1_1array.html + a02b773a1ff337692e78da429030c1610 + () const noexcept + + + void + shrink_to_fit + classtoml_1_1array.html + a718c2031ead428aa52912741f6d094aa + () + + + iterator + insert + classtoml_1_1array.html + ab44c0e3568a683bc6d53c8f5b11abb88 + (const_iterator pos, ElemType &&val) noexcept + + + iterator + insert + classtoml_1_1array.html + aa454d276f2935b1e2b5c2caec9bc2a0d + (const_iterator pos, size_t count, ElemType &&val) noexcept + + + iterator + insert + classtoml_1_1array.html + a311fed9b54b87daab0646fbc1818170b + (const_iterator pos, Iter first, Iter last) noexcept + + + iterator + insert + classtoml_1_1array.html + a87500f1ea51f3b42dadc686a3e128fea + (const_iterator pos, std::initializer_list< ElemType > ilist) noexcept + + + iterator + emplace + classtoml_1_1array.html + a5b87d1345eccbb1b9406092e72fa0c38 + (const_iterator pos, Args &&... args) noexcept + + + iterator + erase + classtoml_1_1array.html + a22389a9ed9444fe52be10c4acbdec908 + (const_iterator pos) noexcept + + + iterator + erase + classtoml_1_1array.html + a723388860d72c9a162137d0293366fb2 + (const_iterator first, const_iterator last) noexcept + + + void + resize + classtoml_1_1array.html + a8694e01e9b0b1c5b9152518137d5b971 + (size_t new_size, ElemType &&default_init_val) noexcept + + + void + truncate + classtoml_1_1array.html + a6e3ac9962c706a88c1001ff83a4084f3 + (size_t new_size) + + + void + push_back + classtoml_1_1array.html + a2b3315295340dc76b69ce916d31fec35 + (ElemType &&val) noexcept + + + decltype(auto) + emplace_back + classtoml_1_1array.html + af82fb4fec1f33c323123fab0ec4a74ac + (Args &&... args) noexcept + + + void + pop_back + classtoml_1_1array.html + af99d72e29cef84f736d91d627b47a1dc + () noexcept + + + node * + get + classtoml_1_1array.html + a10664e00054ea4021fec5144b69b8792 + (size_t index) noexcept + + + const node * + get + classtoml_1_1array.html + a44db509dce6b7b77e563c822a5936abe + (size_t index) const noexcept + + + impl::wrap_node< ElemType > * + get_as + classtoml_1_1array.html + a5c2f4624498cba9e1e467b0eb2e9046e + (size_t index) noexcept + + + const impl::wrap_node< ElemType > * + get_as + classtoml_1_1array.html + ae47ca1cc4c61e94fed30aea72ca8d268 + (size_t index) const noexcept + + + array & + flatten + classtoml_1_1array.html + aa2a21958705629bde15aafae9598a2ec + () & + + + array && + flatten + classtoml_1_1array.html + ad307bea17e7640c57715d67ab8a777d4 + () && + + + virtual bool + is_string + classtoml_1_1node.html + aeff35977a4b13fe0fefb9a3b5917f98e + () const noexcept + + + virtual bool + is_integer + classtoml_1_1node.html + a5ecdb684288275ce1786281fbe1845cc + () const noexcept + + + virtual bool + is_floating_point + classtoml_1_1node.html + a3ea1296a95c43125119a6fe26af5b014 + () const noexcept + + + virtual bool + is_number + classtoml_1_1node.html + a1db6db67940c59bf0d6f7be184be3511 + () const noexcept + + + virtual bool + is_boolean + classtoml_1_1node.html + a47ca3bd6392029a065f13c029b2db0b2 + () const noexcept + + + virtual bool + is_date + classtoml_1_1node.html + a6e6060cb1233b87d7b57a2a203891d2a + () const noexcept + + + virtual bool + is_time + classtoml_1_1node.html + a4a7663a4b15650cf833d5c833e313d9b + () const noexcept + + + virtual bool + is_date_time + classtoml_1_1node.html + a9115204bee51ac6ef962dd9d47bf1b7e + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + virtual table * + as_table + classtoml_1_1node.html + aa696716239e7434145103173e880fb80 + () noexcept + + + virtual toml::value< std::string > * + as_string + classtoml_1_1node.html + ab8f42ecf095260b1d97363949a98267b + () noexcept + + + virtual toml::value< int64_t > * + as_integer + classtoml_1_1node.html + ac507d02b3b744e0624c504614e91c9e5 + () noexcept + + + virtual toml::value< double > * + as_floating_point + classtoml_1_1node.html + a480ae95e180992d152ad80e3b52a330a + () noexcept + + + virtual toml::value< bool > * + as_boolean + classtoml_1_1node.html + a40031abf671512f9fdcd31666ce481fd + () noexcept + + + virtual toml::value< date > * + as_date + classtoml_1_1node.html + a35ec7bd4efab69906d7874df736cdaaf + () noexcept + + + virtual toml::value< time > * + as_time + classtoml_1_1node.html + aeb23a8054899c4b0d57e10c4a3dcadf0 + () noexcept + + + virtual toml::value< date_time > * + as_date_time + classtoml_1_1node.html + a68cc63dfd8e435b00c7c99da298d6733 + () noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + ac1417bb4313b2624e3ea270a487f153b + () const noexcept + + + optional< T > + value + classtoml_1_1node.html + a48098db842e6a202902e6c85326f71b4 + () const noexcept + + + auto + value_or + classtoml_1_1node.html + a423ddccc36345545615e20290c9a8a65 + (T &&default_value) const noexcept + + + impl::unwrap_node< T > & + ref + classtoml_1_1node.html + a0f2b674e80b882b329513e7ec9aed842 + () &noexcept + + + impl::unwrap_node< T > && + ref + classtoml_1_1node.html + a292bce25bfe779dc51403e88f0cc4bcc + () &&noexcept + + + const impl::unwrap_node< T > & + ref + classtoml_1_1node.html + a378e94ebc00235eb4d1da68f81edd77f + () const &noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + friend bool + operator== + classtoml_1_1array.html + a06cf25e3f80c98d88e041ef9823976c0 + (const array &lhs, const array &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1array.html + af06c7437a0946a9d5e093d903b59f6a4 + (const array &lhs, const array &rhs) noexcept + + + friend bool + operator== + classtoml_1_1array.html + ab87e435c5a41140e60cd2e703df96fbd + (const array &lhs, const std::initializer_list< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1array.html + a5b3c615e4ba8fd780b966f175070b554 + (const array &lhs, const std::vector< T > &rhs) noexcept + + + + toml::date + structtoml_1_1date.html + + uint16_t + year + structtoml_1_1date.html + ad1dc522b115c69dc908540b1c6ff792b + + + + uint8_t + month + structtoml_1_1date.html + a0528c722d0a81741a95f6e3a1116614e + + + + uint8_t + day + structtoml_1_1date.html + a8ec7a7238b8edd3341b450a7b43ec011 + + + + constexpr friend bool + operator== + structtoml_1_1date.html + a07ff3f69b41d69e780aac60d11e8a2a8 + (date lhs, date rhs) noexcept + + + constexpr friend bool + operator!= + structtoml_1_1date.html + af2ad5cc7af0b184e6fab182f32df8a1c + (date lhs, date rhs) noexcept + + + constexpr friend bool + operator< + structtoml_1_1date.html + af143f183b354544eb5f63a1887e65daa + (date lhs, date rhs) noexcept + + + constexpr friend bool + operator<= + structtoml_1_1date.html + af353d0dbb3eda43ee136ac12b4b94fdd + (date lhs, date rhs) noexcept + + + constexpr friend bool + operator> + structtoml_1_1date.html + a399f4b20d6b9f84a9c093026de0965c2 + (date lhs, date rhs) noexcept + + + constexpr friend bool + operator>= + structtoml_1_1date.html + aac65e3db8d117aad6dc469d4e5ec77bb + (date lhs, date rhs) noexcept + + + + toml::date_time + structtoml_1_1date__time.html + + constexpr + date_time + structtoml_1_1date__time.html + a58660e699081a0e3b44ea9564dcbec64 + () noexcept + + + constexpr + date_time + structtoml_1_1date__time.html + ae96326775192b72b5a20016b800d6d0c + (toml::date d, toml::time t) noexcept + + + constexpr + date_time + structtoml_1_1date__time.html + afb5f47a37cd051f4f4647dc071ed1e0f + (toml::date d, toml::time t, toml::time_offset off) noexcept + + + constexpr bool + is_local + structtoml_1_1date__time.html + af0d6119984645eb015f2fad0ef487bbc + () const noexcept + + + toml::date + date + structtoml_1_1date__time.html + a89f398585f373d1e7bd59fe440212074 + + + + toml::time + time + structtoml_1_1date__time.html + a18d5e772db4f61635643cda390c2b720 + + + + optional< toml::time_offset > + offset + structtoml_1_1date__time.html + af8596013f522b94a88d2caf69e90a1f5 + + + + constexpr friend bool + operator== + structtoml_1_1date__time.html + a885cbe902aeadacb0953230ade9d8b9a + (const date_time &lhs, const date_time &rhs) noexcept + + + constexpr friend bool + operator!= + structtoml_1_1date__time.html + a9ae0e032ffe90928c47b40bd8155dea3 + (const date_time &lhs, const date_time &rhs) noexcept + + + constexpr friend bool + operator< + structtoml_1_1date__time.html + a4f67803fdc02fb5549ba213a9273a63b + (const date_time &lhs, const date_time &rhs) noexcept + + + constexpr friend bool + operator<= + structtoml_1_1date__time.html + a7b2f0261ae38ef6dbb6de0fb35fbbf3b + (const date_time &lhs, const date_time &rhs) noexcept + + + constexpr friend bool + operator> + structtoml_1_1date__time.html + a1bceb05028f33a829d61ffc768eab78a + (const date_time &lhs, const date_time &rhs) noexcept + + + constexpr friend bool + operator>= + structtoml_1_1date__time.html + a361fb1904f477e0a1f7acaa3cdd14abf + (const date_time &lhs, const date_time &rhs) noexcept + + + + toml::default_formatter + classtoml_1_1default__formatter.html + + + + default_formatter + classtoml_1_1default__formatter.html + af2e597925932cf03b0df8f7379621582 + (const toml::node &source, format_flags flags=default_flags) noexcept + + + + default_formatter + classtoml_1_1default__formatter.html + a4ddc92e5b0c25edfffe95be72bb043a2 + (const toml::parse_result &result, format_flags flags=default_flags) noexcept + + + static constexpr format_flags + default_flags + classtoml_1_1default__formatter.html + a5672645717f5a096d64af5d25690f8e5 + + + + friend std::basic_ostream< T > & + operator<< + classtoml_1_1default__formatter.html + a516a015d387a195a4abb0f6262f88698 + (std::basic_ostream< T > &, default_formatter< U > &) + + + friend std::basic_ostream< T > & + operator<< + classtoml_1_1default__formatter.html + a09799f1ec6ad5804b5001fb37053e377 + (std::basic_ostream< T > &, default_formatter< U > &&) + + + + toml::inserter + structtoml_1_1inserter.html + + + + toml::json_formatter + classtoml_1_1json__formatter.html + + + + json_formatter + classtoml_1_1json__formatter.html + ace8cd7a487b042df7b78767022d54bc5 + (const toml::node &source, format_flags flags=default_flags) noexcept + + + + json_formatter + classtoml_1_1json__formatter.html + a89e23abb89d86f79e232654cf0f9e22d + (const toml::parse_result &result, format_flags flags=default_flags) noexcept + + + static constexpr format_flags + default_flags + classtoml_1_1json__formatter.html + ab4a448a50aa58f3111ce6e829d428b55 + + + + friend std::basic_ostream< T > & + operator<< + classtoml_1_1json__formatter.html + ababd7a7f97d0673d75407a612bfc887d + (std::basic_ostream< T > &, json_formatter< U > &) + + + friend std::basic_ostream< T > & + operator<< + classtoml_1_1json__formatter.html + a7a4c90e29dbda20e5fbcfbe5e7121f62 + (std::basic_ostream< T > &, json_formatter< U > &&) + + + + toml::node + classtoml_1_1node.html + + virtual node_type + type + classtoml_1_1node.html + a10f389035ce13abb00a1191358af6334 + () const noexcept=0 + + + virtual bool + is_table + classtoml_1_1node.html + a50a2501af7e42b0fab060206dde7a99e + () const noexcept=0 + + + virtual bool + is_array + classtoml_1_1node.html + accce7655b0cc340591a755412fde2ed7 + () const noexcept=0 + + + virtual bool + is_value + classtoml_1_1node.html + aeddf9eebbd4ece799e5675e2d9d59e4a + () const noexcept=0 + + + virtual bool + is_string + classtoml_1_1node.html + aeff35977a4b13fe0fefb9a3b5917f98e + () const noexcept + + + virtual bool + is_integer + classtoml_1_1node.html + a5ecdb684288275ce1786281fbe1845cc + () const noexcept + + + virtual bool + is_floating_point + classtoml_1_1node.html + a3ea1296a95c43125119a6fe26af5b014 + () const noexcept + + + virtual bool + is_number + classtoml_1_1node.html + a1db6db67940c59bf0d6f7be184be3511 + () const noexcept + + + virtual bool + is_boolean + classtoml_1_1node.html + a47ca3bd6392029a065f13c029b2db0b2 + () const noexcept + + + virtual bool + is_date + classtoml_1_1node.html + a6e6060cb1233b87d7b57a2a203891d2a + () const noexcept + + + virtual bool + is_time + classtoml_1_1node.html + a4a7663a4b15650cf833d5c833e313d9b + () const noexcept + + + virtual bool + is_date_time + classtoml_1_1node.html + a9115204bee51ac6ef962dd9d47bf1b7e + () const noexcept + + + virtual bool + is_array_of_tables + classtoml_1_1node.html + a1697f7da1cd6a5e4c3d3e25e08274b34 + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a68de6772e259ef122c00b0a9c7b63516 + (node_type ntype, node *&first_nonmatch) noexcept=0 + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a834e10ece19d04b4d774d5f224d50b8f + (node_type ntype, const node *&first_nonmatch) const noexcept=0 + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a5d9191dc545ecded3bc8f7706c63edad + (node_type ntype) const noexcept=0 + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + virtual table * + as_table + classtoml_1_1node.html + aa696716239e7434145103173e880fb80 + () noexcept + + + virtual array * + as_array + classtoml_1_1node.html + adac204f1c1e3ae99beaa79bb1624cc95 + () noexcept + + + virtual toml::value< std::string > * + as_string + classtoml_1_1node.html + ab8f42ecf095260b1d97363949a98267b + () noexcept + + + virtual toml::value< int64_t > * + as_integer + classtoml_1_1node.html + ac507d02b3b744e0624c504614e91c9e5 + () noexcept + + + virtual toml::value< double > * + as_floating_point + classtoml_1_1node.html + a480ae95e180992d152ad80e3b52a330a + () noexcept + + + virtual toml::value< bool > * + as_boolean + classtoml_1_1node.html + a40031abf671512f9fdcd31666ce481fd + () noexcept + + + virtual toml::value< date > * + as_date + classtoml_1_1node.html + a35ec7bd4efab69906d7874df736cdaaf + () noexcept + + + virtual toml::value< time > * + as_time + classtoml_1_1node.html + aeb23a8054899c4b0d57e10c4a3dcadf0 + () noexcept + + + virtual toml::value< date_time > * + as_date_time + classtoml_1_1node.html + a68cc63dfd8e435b00c7c99da298d6733 + () noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + ac1417bb4313b2624e3ea270a487f153b + () const noexcept + + + optional< T > + value + classtoml_1_1node.html + a48098db842e6a202902e6c85326f71b4 + () const noexcept + + + auto + value_or + classtoml_1_1node.html + a423ddccc36345545615e20290c9a8a65 + (T &&default_value) const noexcept + + + impl::unwrap_node< T > & + ref + classtoml_1_1node.html + a0f2b674e80b882b329513e7ec9aed842 + () &noexcept + + + impl::unwrap_node< T > && + ref + classtoml_1_1node.html + a292bce25bfe779dc51403e88f0cc4bcc + () &&noexcept + + + const impl::unwrap_node< T > & + ref + classtoml_1_1node.html + a378e94ebc00235eb4d1da68f81edd77f + () const &noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + virtual node_type + type + classtoml_1_1node.html + a10f389035ce13abb00a1191358af6334 + () const noexcept=0 + + + virtual bool + is_table + classtoml_1_1node.html + a50a2501af7e42b0fab060206dde7a99e + () const noexcept=0 + + + virtual bool + is_array + classtoml_1_1node.html + accce7655b0cc340591a755412fde2ed7 + () const noexcept=0 + + + virtual bool + is_value + classtoml_1_1node.html + aeddf9eebbd4ece799e5675e2d9d59e4a + () const noexcept=0 + + + virtual bool + is_string + classtoml_1_1node.html + aeff35977a4b13fe0fefb9a3b5917f98e + () const noexcept + + + virtual bool + is_integer + classtoml_1_1node.html + a5ecdb684288275ce1786281fbe1845cc + () const noexcept + + + virtual bool + is_floating_point + classtoml_1_1node.html + a3ea1296a95c43125119a6fe26af5b014 + () const noexcept + + + virtual bool + is_number + classtoml_1_1node.html + a1db6db67940c59bf0d6f7be184be3511 + () const noexcept + + + virtual bool + is_boolean + classtoml_1_1node.html + a47ca3bd6392029a065f13c029b2db0b2 + () const noexcept + + + virtual bool + is_date + classtoml_1_1node.html + a6e6060cb1233b87d7b57a2a203891d2a + () const noexcept + + + virtual bool + is_time + classtoml_1_1node.html + a4a7663a4b15650cf833d5c833e313d9b + () const noexcept + + + virtual bool + is_date_time + classtoml_1_1node.html + a9115204bee51ac6ef962dd9d47bf1b7e + () const noexcept + + + virtual bool + is_array_of_tables + classtoml_1_1node.html + a1697f7da1cd6a5e4c3d3e25e08274b34 + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a68de6772e259ef122c00b0a9c7b63516 + (node_type ntype, node *&first_nonmatch) noexcept=0 + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a834e10ece19d04b4d774d5f224d50b8f + (node_type ntype, const node *&first_nonmatch) const noexcept=0 + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a5d9191dc545ecded3bc8f7706c63edad + (node_type ntype) const noexcept=0 + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + virtual table * + as_table + classtoml_1_1node.html + aa696716239e7434145103173e880fb80 + () noexcept + + + virtual array * + as_array + classtoml_1_1node.html + adac204f1c1e3ae99beaa79bb1624cc95 + () noexcept + + + virtual toml::value< std::string > * + as_string + classtoml_1_1node.html + ab8f42ecf095260b1d97363949a98267b + () noexcept + + + virtual toml::value< int64_t > * + as_integer + classtoml_1_1node.html + ac507d02b3b744e0624c504614e91c9e5 + () noexcept + + + virtual toml::value< double > * + as_floating_point + classtoml_1_1node.html + a480ae95e180992d152ad80e3b52a330a + () noexcept + + + virtual toml::value< bool > * + as_boolean + classtoml_1_1node.html + a40031abf671512f9fdcd31666ce481fd + () noexcept + + + virtual toml::value< date > * + as_date + classtoml_1_1node.html + a35ec7bd4efab69906d7874df736cdaaf + () noexcept + + + virtual toml::value< time > * + as_time + classtoml_1_1node.html + aeb23a8054899c4b0d57e10c4a3dcadf0 + () noexcept + + + virtual toml::value< date_time > * + as_date_time + classtoml_1_1node.html + a68cc63dfd8e435b00c7c99da298d6733 + () noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + ac1417bb4313b2624e3ea270a487f153b + () const noexcept + + + optional< T > + value + classtoml_1_1node.html + a48098db842e6a202902e6c85326f71b4 + () const noexcept + + + auto + value_or + classtoml_1_1node.html + a423ddccc36345545615e20290c9a8a65 + (T &&default_value) const noexcept + + + impl::unwrap_node< T > & + ref + classtoml_1_1node.html + a0f2b674e80b882b329513e7ec9aed842 + () &noexcept + + + impl::unwrap_node< T > && + ref + classtoml_1_1node.html + a292bce25bfe779dc51403e88f0cc4bcc + () &&noexcept + + + const impl::unwrap_node< T > & + ref + classtoml_1_1node.html + a378e94ebc00235eb4d1da68f81edd77f + () const &noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + + toml::node_view + classtoml_1_1node__view.html + + + + node_view + classtoml_1_1node__view.html + a0d8bf511db11b67081bea35c25e4ca9e + () noexcept=default + + + + node_view + classtoml_1_1node__view.html + a199ca0c01e27a74b2ad6dbe554113fb8 + (viewed_type *node) noexcept + + + + node_view + classtoml_1_1node__view.html + af40ced8902e81e354af44a033f05d682 + (viewed_type &node) noexcept + + + + operator bool + classtoml_1_1node__view.html + ab8ee0ffcb999601a9b0247c099aa9250 + () const noexcept + + + viewed_type * + node + classtoml_1_1node__view.html + afb42ba6fdddfb407bd37b697a407246d + () const noexcept + + + node_type + type + classtoml_1_1node__view.html + a2483cf1a8314661919b9066ce62c9621 + () const noexcept + + + bool + is_table + classtoml_1_1node__view.html + a70b567ea582c472fe95a89b5b842cee6 + () const noexcept + + + bool + is_array + classtoml_1_1node__view.html + a879d945d2880fc216085d7deb087ad38 + () const noexcept + + + bool + is_value + classtoml_1_1node__view.html + aa58f8de47be5f53738b1a04d7e9d05af + () const noexcept + + + bool + is_string + classtoml_1_1node__view.html + a79b47268155d955b8e2c027b0c2ae983 + () const noexcept + + + bool + is_integer + classtoml_1_1node__view.html + ab9c835ddf017f250d84fa5d5736e8520 + () const noexcept + + + bool + is_floating_point + classtoml_1_1node__view.html + a43ea3eed7b0f133fa7d752a9322c758e + () const noexcept + + + bool + is_number + classtoml_1_1node__view.html + a107732370c62402b1101a78e7382fd8b + () const noexcept + + + bool + is_boolean + classtoml_1_1node__view.html + aa7ee0d1f396e1283c4a11d07b9400897 + () const noexcept + + + bool + is_date + classtoml_1_1node__view.html + a4dc7cf8a57db73fa799a939f7acd549d + () const noexcept + + + bool + is_time + classtoml_1_1node__view.html + a98a6bc33e3ba573c37a069126acf0b8c + () const noexcept + + + bool + is_date_time + classtoml_1_1node__view.html + a5a380f773ae291c942a03e45a88c94b0 + () const noexcept + + + bool + is_array_of_tables + classtoml_1_1node__view.html + a6cc459be36698ec5a9ac0d00b4480eae + () const noexcept + + + bool + is + classtoml_1_1node__view.html + a21d7c55a33aa1c868dde5cbaa7e54ec2 + () const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + a2a2902064421f401e80ea687cef536da + (node_type ntype, viewed_type *&first_nonmatch) const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + afe0abd51e0e108b306be2a3ee9561cca + (node_type ntype) const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + a29c82d83b1d64f016eb42f95fd37e346 + () const noexcept + + + auto + as_table + classtoml_1_1node__view.html + a687f80c2867f3ec72cc6fa0393bcc9ae + () const noexcept + + + auto + as_array + classtoml_1_1node__view.html + ad9e760e9e044bc34136ca167eba2da5c + () const noexcept + + + auto + as_string + classtoml_1_1node__view.html + a623c01318fd53c81ec03345343dc6356 + () const noexcept + + + auto + as_integer + classtoml_1_1node__view.html + a808722847b84556da8c87dfb46ce3eaf + () const noexcept + + + auto + as_floating_point + classtoml_1_1node__view.html + a23427a5b4bb7e07c61288ae292a3bd17 + () const noexcept + + + auto + as_boolean + classtoml_1_1node__view.html + a1e8221c23cc396edfe87b204ba07e63f + () const noexcept + + + auto + as_date + classtoml_1_1node__view.html + a33b269772c65f484f56be8d0371d07ad + () const noexcept + + + auto + as_time + classtoml_1_1node__view.html + aee2219cbd887ec4764e92241b0628408 + () const noexcept + + + auto + as_date_time + classtoml_1_1node__view.html + a4f614692d13ec415558290d21e0a7a87 + () const noexcept + + + auto + as + classtoml_1_1node__view.html + a9ff6488e9593bd2da5ae71c370293314 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node__view.html + af7d31ebd85f054b1626af2d105ef681e + () const noexcept + + + optional< T > + value + classtoml_1_1node__view.html + a41ed0d2afddf279ad774af738723ed3a + () const noexcept + + + auto + value_or + classtoml_1_1node__view.html + a7ec9dd23e116222055b4b9d17364bf26 + (T &&default_value) const noexcept + + + decltype(auto) + ref + classtoml_1_1node__view.html + aec5c764293a7eeb20009a484b34d7c3a + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node__view.html + aa5f84bfab779c71a07b04ca0b2db863f + (Func &&visitor) const noexcept(visit_is_nothrow< Func && >) + + + node_view + operator[] + classtoml_1_1node__view.html + a2dde12894f70530d80de45a03eae78fa + (std::string_view key) const noexcept + + + node_view + operator[] + classtoml_1_1node__view.html + af83a88f07c4bb71c7f89e6a4511e0ecc + (std::wstring_view key) const noexcept + + + node_view + operator[] + classtoml_1_1node__view.html + a5d13b026efcd31812415ead30eeb69db + (size_t index) const noexcept + + + friend std::basic_ostream< Char > & + operator<< + classtoml_1_1node__view.html + a34a8c7bfbe5ff1c3acabdee184109076 + (std::basic_ostream< Char > &, const node_view< T > &) + + + friend bool + operator== + classtoml_1_1node__view.html + a754bdba78869afe6bccb4b51e0a77e45 + (const node_view &lhs, const table &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a3b39aedbada6221a4e3857b0f0235843 + (const node_view &lhs, const array &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + ad9fd96826fcee43cd1ea1ccf6e22c895 + (const node_view &lhs, const toml::value< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a4507702b372f09069dd7f3bac281bd13 + (const node_view &lhs, const T &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + abb9edf3ed931fff246a0f9e4ae09e350 + (const node_view &lhs, const std::initializer_list< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a1f236c7b42d841c19b867b539fdc0fdc + (const node_view &lhs, const std::vector< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a754bdba78869afe6bccb4b51e0a77e45 + (const node_view &lhs, const table &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a3b39aedbada6221a4e3857b0f0235843 + (const node_view &lhs, const array &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + ad9fd96826fcee43cd1ea1ccf6e22c895 + (const node_view &lhs, const toml::value< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a4507702b372f09069dd7f3bac281bd13 + (const node_view &lhs, const T &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + abb9edf3ed931fff246a0f9e4ae09e350 + (const node_view &lhs, const std::initializer_list< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a1f236c7b42d841c19b867b539fdc0fdc + (const node_view &lhs, const std::vector< T > &rhs) noexcept + + + node_type + type + classtoml_1_1node__view.html + a2483cf1a8314661919b9066ce62c9621 + () const noexcept + + + bool + is_table + classtoml_1_1node__view.html + a70b567ea582c472fe95a89b5b842cee6 + () const noexcept + + + bool + is_array + classtoml_1_1node__view.html + a879d945d2880fc216085d7deb087ad38 + () const noexcept + + + bool + is_value + classtoml_1_1node__view.html + aa58f8de47be5f53738b1a04d7e9d05af + () const noexcept + + + bool + is_string + classtoml_1_1node__view.html + a79b47268155d955b8e2c027b0c2ae983 + () const noexcept + + + bool + is_integer + classtoml_1_1node__view.html + ab9c835ddf017f250d84fa5d5736e8520 + () const noexcept + + + bool + is_floating_point + classtoml_1_1node__view.html + a43ea3eed7b0f133fa7d752a9322c758e + () const noexcept + + + bool + is_number + classtoml_1_1node__view.html + a107732370c62402b1101a78e7382fd8b + () const noexcept + + + bool + is_boolean + classtoml_1_1node__view.html + aa7ee0d1f396e1283c4a11d07b9400897 + () const noexcept + + + bool + is_date + classtoml_1_1node__view.html + a4dc7cf8a57db73fa799a939f7acd549d + () const noexcept + + + bool + is_time + classtoml_1_1node__view.html + a98a6bc33e3ba573c37a069126acf0b8c + () const noexcept + + + bool + is_date_time + classtoml_1_1node__view.html + a5a380f773ae291c942a03e45a88c94b0 + () const noexcept + + + bool + is_array_of_tables + classtoml_1_1node__view.html + a6cc459be36698ec5a9ac0d00b4480eae + () const noexcept + + + bool + is + classtoml_1_1node__view.html + a21d7c55a33aa1c868dde5cbaa7e54ec2 + () const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + a2a2902064421f401e80ea687cef536da + (node_type ntype, viewed_type *&first_nonmatch) const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + afe0abd51e0e108b306be2a3ee9561cca + (node_type ntype) const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + a29c82d83b1d64f016eb42f95fd37e346 + () const noexcept + + + auto + as_table + classtoml_1_1node__view.html + a687f80c2867f3ec72cc6fa0393bcc9ae + () const noexcept + + + auto + as_array + classtoml_1_1node__view.html + ad9e760e9e044bc34136ca167eba2da5c + () const noexcept + + + auto + as_string + classtoml_1_1node__view.html + a623c01318fd53c81ec03345343dc6356 + () const noexcept + + + auto + as_integer + classtoml_1_1node__view.html + a808722847b84556da8c87dfb46ce3eaf + () const noexcept + + + auto + as_floating_point + classtoml_1_1node__view.html + a23427a5b4bb7e07c61288ae292a3bd17 + () const noexcept + + + auto + as_boolean + classtoml_1_1node__view.html + a1e8221c23cc396edfe87b204ba07e63f + () const noexcept + + + auto + as_date + classtoml_1_1node__view.html + a33b269772c65f484f56be8d0371d07ad + () const noexcept + + + auto + as_time + classtoml_1_1node__view.html + aee2219cbd887ec4764e92241b0628408 + () const noexcept + + + auto + as_date_time + classtoml_1_1node__view.html + a4f614692d13ec415558290d21e0a7a87 + () const noexcept + + + auto + as + classtoml_1_1node__view.html + a9ff6488e9593bd2da5ae71c370293314 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node__view.html + af7d31ebd85f054b1626af2d105ef681e + () const noexcept + + + optional< T > + value + classtoml_1_1node__view.html + a41ed0d2afddf279ad774af738723ed3a + () const noexcept + + + auto + value_or + classtoml_1_1node__view.html + a7ec9dd23e116222055b4b9d17364bf26 + (T &&default_value) const noexcept + + + decltype(auto) + ref + classtoml_1_1node__view.html + aec5c764293a7eeb20009a484b34d7c3a + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node__view.html + aa5f84bfab779c71a07b04ca0b2db863f + (Func &&visitor) const noexcept(visit_is_nothrow< Func && >) + + + node_view + operator[] + classtoml_1_1node__view.html + a2dde12894f70530d80de45a03eae78fa + (std::string_view key) const noexcept + + + node_view + operator[] + classtoml_1_1node__view.html + af83a88f07c4bb71c7f89e6a4511e0ecc + (std::wstring_view key) const noexcept + + + node_view + operator[] + classtoml_1_1node__view.html + a5d13b026efcd31812415ead30eeb69db + (size_t index) const noexcept + + + + toml::parse_error + classtoml_1_1parse__error.html + + std::string_view + description + classtoml_1_1parse__error.html + a5582e9d66f8aa3f6ef442c0a04d5282f + () const noexcept + + + const source_region & + source + classtoml_1_1parse__error.html + a8168b4941305654cf4ba8fc96efd0514 + () const noexcept + + + + toml::parse_result + classtoml_1_1parse__result.html + + table_iterator + iterator + classtoml_1_1parse__result.html + aae503c11e9f9162de5cbef5e2c9f4863 + + + + const_table_iterator + const_iterator + classtoml_1_1parse__result.html + abf92ffb48c1f4d0f129f4032708d4ab0 + + + + bool + succeeded + classtoml_1_1parse__result.html + ab5bfcd6ed385016395029bd69ad78a3c + () const noexcept + + + bool + failed + classtoml_1_1parse__result.html + a9097bc552007537f840602ceca00e99b + () const noexcept + + + + operator bool + classtoml_1_1parse__result.html + af66ea78a6dd881521ce865a372298e12 + () const noexcept + + + toml::table & + table + classtoml_1_1parse__result.html + a47d2ead20ae9d1681210c63319a6a162 + () &noexcept + + + toml::table && + table + classtoml_1_1parse__result.html + a77b470b66dd401a0a929006dd788b882 + () &&noexcept + + + const toml::table & + table + classtoml_1_1parse__result.html + a993f5d59c4b10f87138f8abb8a16d51d + () const &noexcept + + + parse_error & + error + classtoml_1_1parse__result.html + aefbb9aafdf00fa1ac979962d22e12e68 + () &noexcept + + + parse_error && + error + classtoml_1_1parse__result.html + ab07914228f9f7436628c99df454f177d + () &&noexcept + + + const parse_error & + error + classtoml_1_1parse__result.html + a9a5929b01df9a7f7f986b8431cefd2b8 + () const &noexcept + + + + operator toml::table & + classtoml_1_1parse__result.html + a5e14e22d4d68b27c11711a3319dc6bf9 + () noexcept + + + + operator toml::table && + classtoml_1_1parse__result.html + a8dca1600886954b38b99a4a4f9cb77c4 + () noexcept + + + + operator const toml::table & + classtoml_1_1parse__result.html + a9d059289edaf6c7fb71916b21a2f9c9f + () const noexcept + + + + operator parse_error & + classtoml_1_1parse__result.html + abc8a693cb538441b5974eff38c716669 + () noexcept + + + + operator parse_error && + classtoml_1_1parse__result.html + a9f70aa665d84aaf5f936dd27f6c95c4a + () noexcept + + + + operator const parse_error & + classtoml_1_1parse__result.html + a43df64e02443b2abfd9d2c86c5e4c30a + () const noexcept + + + + parse_result + classtoml_1_1parse__result.html + a058b76f39fb5a971585538f2d4098ba5 + (parse_result &&res) noexcept + + + parse_result & + operator= + classtoml_1_1parse__result.html + aa4c2c770a8d214f9d508582233ff1d84 + (parse_result &&rhs) noexcept + + + + ~parse_result + classtoml_1_1parse__result.html + ad9e22f09854af4c36860d61e0c0f25b1 + () noexcept + + + node_view< node > + operator[] + classtoml_1_1parse__result.html + aaa83205a294dedd8857844d0b6378560 + (string_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1parse__result.html + a3b88dad377d33e1fdda317177025fba5 + (string_view key) const noexcept + + + node_view< node > + operator[] + classtoml_1_1parse__result.html + ade8c625d35dcc5b4fdec97d9f5a7f96f + (std::wstring_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1parse__result.html + a58a3ee971220497ef922fc2ab5c7a9c0 + (std::wstring_view key) const noexcept + + + table_iterator + begin + classtoml_1_1parse__result.html + a3f641e942f1518dffad6fcc7dc13893d + () noexcept + + + const_table_iterator + begin + classtoml_1_1parse__result.html + a910f13933a0547a2920404287829781f + () const noexcept + + + const_table_iterator + cbegin + classtoml_1_1parse__result.html + af58212d8a367e5c1d38eb5d58708754b + () const noexcept + + + table_iterator + end + classtoml_1_1parse__result.html + a336d398e329f08195d714ff02fdffca6 + () noexcept + + + const_table_iterator + end + classtoml_1_1parse__result.html + a154d32bca3ea50dc5030372675a85a65 + () const noexcept + + + const_table_iterator + cend + classtoml_1_1parse__result.html + afa4f821ad60ceb06327cec6b42b05071 + () const noexcept + + + friend std::basic_ostream< Char > & + operator<< + classtoml_1_1parse__result.html + a8b92c641ed22f79764606df797f3278e + (std::basic_ostream< Char > &os, const parse_result &result) + + + + toml::source_position + structtoml_1_1source__position.html + + constexpr + operator bool + structtoml_1_1source__position.html + accba2f34a07d8b453b8f2f6baf2d73cf + () const noexcept + + + source_index + line + structtoml_1_1source__position.html + ab21cac59798d70e25fe97ac7433763cc + + + + source_index + column + structtoml_1_1source__position.html + a1ca6d0db40c69d2784703011f7cf5434 + + + + constexpr friend bool + operator== + structtoml_1_1source__position.html + a2661adb822c0291c5328d9d00e4b9a8f + (const source_position &lhs, const source_position &rhs) noexcept + + + constexpr friend bool + operator!= + structtoml_1_1source__position.html + a90fec8fa1014a1358a362f9171cdb073 + (const source_position &lhs, const source_position &rhs) noexcept + + + constexpr friend bool + operator< + structtoml_1_1source__position.html + a771714902fb113445597a1fd2a24e8cd + (const source_position &lhs, const source_position &rhs) noexcept + + + constexpr friend bool + operator<= + structtoml_1_1source__position.html + abb7d47c85374301ec48e7c5f3ee1c71a + (const source_position &lhs, const source_position &rhs) noexcept + + + + toml::source_region + structtoml_1_1source__region.html + + optional< std::wstring > + wide_path + structtoml_1_1source__region.html + ae4aaf4e5c7a8b178b4ba46e7f9d050bd + () const noexcept + + + source_position + begin + structtoml_1_1source__region.html + ab36a5db15201864a13fb628f331196d0 + + + + source_position + end + structtoml_1_1source__region.html + a054940b42dcf83391697ec2b8690531d + + + + source_path_ptr + path + structtoml_1_1source__region.html + a25fc23f579edb8afc0818c013c5ac5d7 + + + + + toml::table + classtoml_1_1table.html + toml::node + + table_iterator + iterator + classtoml_1_1table.html + aeecd89b0c0b321a9aff276ff1470f1d7 + + + + const_table_iterator + const_iterator + classtoml_1_1table.html + a5a6ce59c3fe438ac94eadaa8a2b17957 + + + + + table + classtoml_1_1table.html + a823f0d3385d2d8d8320a72f78c677a35 + () noexcept + + + + table + classtoml_1_1table.html + a94c0bf5a412f0bed2ad23914d9685b2f + (const table &) noexcept + + + + table + classtoml_1_1table.html + ab47a76ab242afa13f1a74e5e2bcded44 + (table &&other) noexcept + + + table & + operator= + classtoml_1_1table.html + a54571ed4637b4164cb559135807d00c0 + (const table &) noexcept + + + table & + operator= + classtoml_1_1table.html + a5c5fd0e11db828ab264eccc96dfdd619 + (table &&rhs) noexcept + + + + ~table + classtoml_1_1table.html + a5d3f92d3964aa9e47433bf7a61cbc0e7 + () noexcept override + + + + table + classtoml_1_1table.html + a58a5d740a7b210b1942915f98fe9d8fe + (impl::table_init_pair(&&arr)[N]) noexcept + + + node_type + type + classtoml_1_1table.html + afe589750b98c702710d643a81ed6b9af + () const noexcept override + + + bool + is_table + classtoml_1_1table.html + ad2f9333f6aeb634f4ddbec38493da7c2 + () const noexcept override + + + bool + is_array + classtoml_1_1table.html + a8d24e995e5cfab4933c82ccd95dd6fa3 + () const noexcept override + + + bool + is_value + classtoml_1_1table.html + af137c1e4cf632015709d6a566cc74edc + () const noexcept override + + + bool + is_homogeneous + classtoml_1_1table.html + ad138c03bdb93f587de1d80dc98386875 + (node_type ntype) const noexcept override + + + bool + is_homogeneous + classtoml_1_1table.html + aa6317598ad941866f288f0e7e0fa6e75 + (node_type ntype, node *&first_nonmatch) noexcept override + + + bool + is_homogeneous + classtoml_1_1table.html + a5ed119a41a0e771463233164f3bcc57b + (node_type ntype, const node *&first_nonmatch) const noexcept override + + + table * + as_table + classtoml_1_1table.html + aafd874c7b06b7f0f535e713b2640fe96 + () noexcept override + + + bool + is_inline + classtoml_1_1table.html + a53be1b93aa90608ed378323df835a2f3 + () const noexcept + + + void + is_inline + classtoml_1_1table.html + a8e797a683ff2bacd14d7e7461ecd2780 + (bool val) noexcept + + + node_view< node > + operator[] + classtoml_1_1table.html + a6d8386049f630c8551597a2180479c7c + (std::string_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1table.html + a9b13a19ddfcd2f76685f57587d28701c + (std::string_view key) const noexcept + + + node_view< node > + operator[] + classtoml_1_1table.html + a06fd3d9032b031b0363818939cd5cf38 + (std::wstring_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1table.html + a404ae83ed52c7b8ce294d3d4925c8a16 + (std::wstring_view key) const noexcept + + + iterator + begin + classtoml_1_1table.html + a334f050427eb20c8530254f4cd6dddf3 + () noexcept + + + const_iterator + begin + classtoml_1_1table.html + a3352f9954e03087b6f596ae23283bd3c + () const noexcept + + + const_iterator + cbegin + classtoml_1_1table.html + a15a5f8bd6d194fcbe925a24e5b73b1fb + () const noexcept + + + iterator + end + classtoml_1_1table.html + a96da67654c5ca131cfec2e3c07aa2730 + () noexcept + + + const_iterator + end + classtoml_1_1table.html + a40c72e81de1da66b7083cad11442cb05 + () const noexcept + + + const_iterator + cend + classtoml_1_1table.html + a311451209f990931ea25828c6091714f + () const noexcept + + + bool + empty + classtoml_1_1table.html + a554f495f6f2ebc993be1bd0379447051 + () const noexcept + + + size_t + size + classtoml_1_1table.html + ad7c4105854cc817bf6e781fa7fb1b6d6 + () const noexcept + + + void + clear + classtoml_1_1table.html + aa710f85c588a1b00c3192d1553de4eef + () noexcept + + + std::pair< iterator, bool > + insert + classtoml_1_1table.html + aa757797646986f2f2cce0fa84221963e + (KeyType &&key, ValueType &&val) noexcept + + + void + insert + classtoml_1_1table.html + acefff2dfe1efb072c9062b8f60146cd9 + (Iter first, Iter last) noexcept + + + std::pair< iterator, bool > + insert_or_assign + classtoml_1_1table.html + acb97b09eb0b36ea708178678f15d0614 + (KeyType &&key, ValueType &&val) noexcept + + + std::pair< iterator, bool > + emplace + classtoml_1_1table.html + a04815da57fe75169ceb1c20946faac6b + (KeyType &&key, ValueArgs &&... args) noexcept + + + iterator + erase + classtoml_1_1table.html + a1a90984876ccdd03aaa9e0f9801a839f + (iterator pos) noexcept + + + iterator + erase + classtoml_1_1table.html + a4dafb4ae116d92add973e5f27f880a9d + (const_iterator pos) noexcept + + + iterator + erase + classtoml_1_1table.html + a020e8f71bec1fbff52260a5a1e0cb12e + (const_iterator first, const_iterator last) noexcept + + + bool + erase + classtoml_1_1table.html + ad9d90151f332b24a0c747fa33ebb81e1 + (std::string_view key) noexcept + + + bool + erase + classtoml_1_1table.html + a53151a06151fbd78887e027e95c3f788 + (std::wstring_view key) noexcept + + + iterator + find + classtoml_1_1table.html + a087ecb9d9fd4562d79f83341f0c643c0 + (std::string_view key) noexcept + + + const_iterator + find + classtoml_1_1table.html + a65a894481bab5dd2bd00690931ed2692 + (std::string_view key) const noexcept + + + bool + contains + classtoml_1_1table.html + aacf6efa6e7865211f7a1283f79a88ee0 + (std::string_view key) const noexcept + + + iterator + find + classtoml_1_1table.html + a5b6b0b84c1d2fe24b7b370f989cbd98e + (std::wstring_view key) noexcept + + + const_iterator + find + classtoml_1_1table.html + ab55a7ed5c436a045c69a1f1adcb07b5c + (std::wstring_view key) const noexcept + + + bool + contains + classtoml_1_1table.html + a2449e053ad373e82d2500226bf084cb9 + (std::wstring_view key) const noexcept + + + node * + get + classtoml_1_1table.html + ae6811ea7c692ac71880693e225c66aed + (std::string_view key) noexcept + + + const node * + get + classtoml_1_1table.html + a43afae4f760f715c69b0b8aa0a7ef071 + (std::string_view key) const noexcept + + + node * + get + classtoml_1_1table.html + aa67b393855cbd706ce89d5a09f062002 + (std::wstring_view key) noexcept + + + const node * + get + classtoml_1_1table.html + a615c9124ee853eb6a7544c0ab3b9911f + (std::wstring_view key) const noexcept + + + impl::wrap_node< ValueType > * + get_as + classtoml_1_1table.html + a933f4a709d7bb5f51a756e571f6166f9 + (std::string_view key) noexcept + + + const impl::wrap_node< ValueType > * + get_as + classtoml_1_1table.html + a180f46103dda744bf75eeadb32659b7c + (std::string_view key) const noexcept + + + impl::wrap_node< ValueType > * + get_as + classtoml_1_1table.html + ade6422b39babbf9b3e4b87cd985f0d14 + (std::wstring_view key) noexcept + + + const impl::wrap_node< ValueType > * + get_as + classtoml_1_1table.html + ad734dfa38c76cf282235befd30354c90 + (std::wstring_view key) const noexcept + + + virtual bool + is_string + classtoml_1_1node.html + aeff35977a4b13fe0fefb9a3b5917f98e + () const noexcept + + + virtual bool + is_integer + classtoml_1_1node.html + a5ecdb684288275ce1786281fbe1845cc + () const noexcept + + + virtual bool + is_floating_point + classtoml_1_1node.html + a3ea1296a95c43125119a6fe26af5b014 + () const noexcept + + + virtual bool + is_number + classtoml_1_1node.html + a1db6db67940c59bf0d6f7be184be3511 + () const noexcept + + + virtual bool + is_boolean + classtoml_1_1node.html + a47ca3bd6392029a065f13c029b2db0b2 + () const noexcept + + + virtual bool + is_date + classtoml_1_1node.html + a6e6060cb1233b87d7b57a2a203891d2a + () const noexcept + + + virtual bool + is_time + classtoml_1_1node.html + a4a7663a4b15650cf833d5c833e313d9b + () const noexcept + + + virtual bool + is_date_time + classtoml_1_1node.html + a9115204bee51ac6ef962dd9d47bf1b7e + () const noexcept + + + virtual bool + is_array_of_tables + classtoml_1_1node.html + a1697f7da1cd6a5e4c3d3e25e08274b34 + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + virtual array * + as_array + classtoml_1_1node.html + adac204f1c1e3ae99beaa79bb1624cc95 + () noexcept + + + virtual toml::value< std::string > * + as_string + classtoml_1_1node.html + ab8f42ecf095260b1d97363949a98267b + () noexcept + + + virtual toml::value< int64_t > * + as_integer + classtoml_1_1node.html + ac507d02b3b744e0624c504614e91c9e5 + () noexcept + + + virtual toml::value< double > * + as_floating_point + classtoml_1_1node.html + a480ae95e180992d152ad80e3b52a330a + () noexcept + + + virtual toml::value< bool > * + as_boolean + classtoml_1_1node.html + a40031abf671512f9fdcd31666ce481fd + () noexcept + + + virtual toml::value< date > * + as_date + classtoml_1_1node.html + a35ec7bd4efab69906d7874df736cdaaf + () noexcept + + + virtual toml::value< time > * + as_time + classtoml_1_1node.html + aeb23a8054899c4b0d57e10c4a3dcadf0 + () noexcept + + + virtual toml::value< date_time > * + as_date_time + classtoml_1_1node.html + a68cc63dfd8e435b00c7c99da298d6733 + () noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + ac1417bb4313b2624e3ea270a487f153b + () const noexcept + + + optional< T > + value + classtoml_1_1node.html + a48098db842e6a202902e6c85326f71b4 + () const noexcept + + + auto + value_or + classtoml_1_1node.html + a423ddccc36345545615e20290c9a8a65 + (T &&default_value) const noexcept + + + impl::unwrap_node< T > & + ref + classtoml_1_1node.html + a0f2b674e80b882b329513e7ec9aed842 + () &noexcept + + + impl::unwrap_node< T > && + ref + classtoml_1_1node.html + a292bce25bfe779dc51403e88f0cc4bcc + () &&noexcept + + + const impl::unwrap_node< T > & + ref + classtoml_1_1node.html + a378e94ebc00235eb4d1da68f81edd77f + () const &noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + friend bool + operator== + classtoml_1_1table.html + af8ebaed8105e5de2098992764f2d534a + (const table &lhs, const table &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1table.html + abdeb5d9d9fc23c031c78e544c6196ea6 + (const table &lhs, const table &rhs) noexcept + + + friend std::basic_ostream< Char > & + operator<< + classtoml_1_1table.html + ab34ff6b624f5f39fa8002f3d6e539eca + (std::basic_ostream< Char > &, const table &) + + + friend bool + operator== + classtoml_1_1table.html + af8ebaed8105e5de2098992764f2d534a + (const table &lhs, const table &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1table.html + abdeb5d9d9fc23c031c78e544c6196ea6 + (const table &lhs, const table &rhs) noexcept + + + friend std::basic_ostream< Char > & + operator<< + classtoml_1_1table.html + ab34ff6b624f5f39fa8002f3d6e539eca + (std::basic_ostream< Char > &, const table &) + + + node_type + type + classtoml_1_1table.html + afe589750b98c702710d643a81ed6b9af + () const noexcept override + + + bool + is_table + classtoml_1_1table.html + ad2f9333f6aeb634f4ddbec38493da7c2 + () const noexcept override + + + bool + is_array + classtoml_1_1table.html + a8d24e995e5cfab4933c82ccd95dd6fa3 + () const noexcept override + + + bool + is_value + classtoml_1_1table.html + af137c1e4cf632015709d6a566cc74edc + () const noexcept override + + + bool + is_homogeneous + classtoml_1_1table.html + ad138c03bdb93f587de1d80dc98386875 + (node_type ntype) const noexcept override + + + bool + is_homogeneous + classtoml_1_1table.html + aa6317598ad941866f288f0e7e0fa6e75 + (node_type ntype, node *&first_nonmatch) noexcept override + + + bool + is_homogeneous + classtoml_1_1table.html + a5ed119a41a0e771463233164f3bcc57b + (node_type ntype, const node *&first_nonmatch) const noexcept override + + + table * + as_table + classtoml_1_1table.html + aafd874c7b06b7f0f535e713b2640fe96 + () noexcept override + + + bool + is_inline + classtoml_1_1table.html + a53be1b93aa90608ed378323df835a2f3 + () const noexcept + + + void + is_inline + classtoml_1_1table.html + a8e797a683ff2bacd14d7e7461ecd2780 + (bool val) noexcept + + + node_view< node > + operator[] + classtoml_1_1table.html + a6d8386049f630c8551597a2180479c7c + (std::string_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1table.html + a9b13a19ddfcd2f76685f57587d28701c + (std::string_view key) const noexcept + + + node_view< node > + operator[] + classtoml_1_1table.html + a06fd3d9032b031b0363818939cd5cf38 + (std::wstring_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1table.html + a404ae83ed52c7b8ce294d3d4925c8a16 + (std::wstring_view key) const noexcept + + + iterator + begin + classtoml_1_1table.html + a334f050427eb20c8530254f4cd6dddf3 + () noexcept + + + const_iterator + begin + classtoml_1_1table.html + a3352f9954e03087b6f596ae23283bd3c + () const noexcept + + + const_iterator + cbegin + classtoml_1_1table.html + a15a5f8bd6d194fcbe925a24e5b73b1fb + () const noexcept + + + iterator + end + classtoml_1_1table.html + a96da67654c5ca131cfec2e3c07aa2730 + () noexcept + + + const_iterator + end + classtoml_1_1table.html + a40c72e81de1da66b7083cad11442cb05 + () const noexcept + + + const_iterator + cend + classtoml_1_1table.html + a311451209f990931ea25828c6091714f + () const noexcept + + + bool + empty + classtoml_1_1table.html + a554f495f6f2ebc993be1bd0379447051 + () const noexcept + + + size_t + size + classtoml_1_1table.html + ad7c4105854cc817bf6e781fa7fb1b6d6 + () const noexcept + + + void + clear + classtoml_1_1table.html + aa710f85c588a1b00c3192d1553de4eef + () noexcept + + + std::pair< iterator, bool > + insert + classtoml_1_1table.html + aa757797646986f2f2cce0fa84221963e + (KeyType &&key, ValueType &&val) noexcept + + + void + insert + classtoml_1_1table.html + acefff2dfe1efb072c9062b8f60146cd9 + (Iter first, Iter last) noexcept + + + std::pair< iterator, bool > + insert_or_assign + classtoml_1_1table.html + acb97b09eb0b36ea708178678f15d0614 + (KeyType &&key, ValueType &&val) noexcept + + + std::pair< iterator, bool > + emplace + classtoml_1_1table.html + a04815da57fe75169ceb1c20946faac6b + (KeyType &&key, ValueArgs &&... args) noexcept + + + iterator + erase + classtoml_1_1table.html + a1a90984876ccdd03aaa9e0f9801a839f + (iterator pos) noexcept + + + iterator + erase + classtoml_1_1table.html + a4dafb4ae116d92add973e5f27f880a9d + (const_iterator pos) noexcept + + + iterator + erase + classtoml_1_1table.html + a020e8f71bec1fbff52260a5a1e0cb12e + (const_iterator first, const_iterator last) noexcept + + + bool + erase + classtoml_1_1table.html + ad9d90151f332b24a0c747fa33ebb81e1 + (std::string_view key) noexcept + + + bool + erase + classtoml_1_1table.html + a53151a06151fbd78887e027e95c3f788 + (std::wstring_view key) noexcept + + + iterator + find + classtoml_1_1table.html + a087ecb9d9fd4562d79f83341f0c643c0 + (std::string_view key) noexcept + + + const_iterator + find + classtoml_1_1table.html + a65a894481bab5dd2bd00690931ed2692 + (std::string_view key) const noexcept + + + bool + contains + classtoml_1_1table.html + aacf6efa6e7865211f7a1283f79a88ee0 + (std::string_view key) const noexcept + + + iterator + find + classtoml_1_1table.html + a5b6b0b84c1d2fe24b7b370f989cbd98e + (std::wstring_view key) noexcept + + + const_iterator + find + classtoml_1_1table.html + ab55a7ed5c436a045c69a1f1adcb07b5c + (std::wstring_view key) const noexcept + + + bool + contains + classtoml_1_1table.html + a2449e053ad373e82d2500226bf084cb9 + (std::wstring_view key) const noexcept + + + node * + get + classtoml_1_1table.html + ae6811ea7c692ac71880693e225c66aed + (std::string_view key) noexcept + + + const node * + get + classtoml_1_1table.html + a43afae4f760f715c69b0b8aa0a7ef071 + (std::string_view key) const noexcept + + + node * + get + classtoml_1_1table.html + aa67b393855cbd706ce89d5a09f062002 + (std::wstring_view key) noexcept + + + const node * + get + classtoml_1_1table.html + a615c9124ee853eb6a7544c0ab3b9911f + (std::wstring_view key) const noexcept + + + impl::wrap_node< ValueType > * + get_as + classtoml_1_1table.html + a933f4a709d7bb5f51a756e571f6166f9 + (std::string_view key) noexcept + + + const impl::wrap_node< ValueType > * + get_as + classtoml_1_1table.html + a180f46103dda744bf75eeadb32659b7c + (std::string_view key) const noexcept + + + impl::wrap_node< ValueType > * + get_as + classtoml_1_1table.html + ade6422b39babbf9b3e4b87cd985f0d14 + (std::wstring_view key) noexcept + + + const impl::wrap_node< ValueType > * + get_as + classtoml_1_1table.html + ad734dfa38c76cf282235befd30354c90 + (std::wstring_view key) const noexcept + + + virtual bool + is_string + classtoml_1_1node.html + aeff35977a4b13fe0fefb9a3b5917f98e + () const noexcept + + + virtual bool + is_integer + classtoml_1_1node.html + a5ecdb684288275ce1786281fbe1845cc + () const noexcept + + + virtual bool + is_floating_point + classtoml_1_1node.html + a3ea1296a95c43125119a6fe26af5b014 + () const noexcept + + + virtual bool + is_number + classtoml_1_1node.html + a1db6db67940c59bf0d6f7be184be3511 + () const noexcept + + + virtual bool + is_boolean + classtoml_1_1node.html + a47ca3bd6392029a065f13c029b2db0b2 + () const noexcept + + + virtual bool + is_date + classtoml_1_1node.html + a6e6060cb1233b87d7b57a2a203891d2a + () const noexcept + + + virtual bool + is_time + classtoml_1_1node.html + a4a7663a4b15650cf833d5c833e313d9b + () const noexcept + + + virtual bool + is_date_time + classtoml_1_1node.html + a9115204bee51ac6ef962dd9d47bf1b7e + () const noexcept + + + virtual bool + is_array_of_tables + classtoml_1_1node.html + a1697f7da1cd6a5e4c3d3e25e08274b34 + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + virtual array * + as_array + classtoml_1_1node.html + adac204f1c1e3ae99beaa79bb1624cc95 + () noexcept + + + virtual toml::value< std::string > * + as_string + classtoml_1_1node.html + ab8f42ecf095260b1d97363949a98267b + () noexcept + + + virtual toml::value< int64_t > * + as_integer + classtoml_1_1node.html + ac507d02b3b744e0624c504614e91c9e5 + () noexcept + + + virtual toml::value< double > * + as_floating_point + classtoml_1_1node.html + a480ae95e180992d152ad80e3b52a330a + () noexcept + + + virtual toml::value< bool > * + as_boolean + classtoml_1_1node.html + a40031abf671512f9fdcd31666ce481fd + () noexcept + + + virtual toml::value< date > * + as_date + classtoml_1_1node.html + a35ec7bd4efab69906d7874df736cdaaf + () noexcept + + + virtual toml::value< time > * + as_time + classtoml_1_1node.html + aeb23a8054899c4b0d57e10c4a3dcadf0 + () noexcept + + + virtual toml::value< date_time > * + as_date_time + classtoml_1_1node.html + a68cc63dfd8e435b00c7c99da298d6733 + () noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + ac1417bb4313b2624e3ea270a487f153b + () const noexcept + + + optional< T > + value + classtoml_1_1node.html + a48098db842e6a202902e6c85326f71b4 + () const noexcept + + + auto + value_or + classtoml_1_1node.html + a423ddccc36345545615e20290c9a8a65 + (T &&default_value) const noexcept + + + impl::unwrap_node< T > & + ref + classtoml_1_1node.html + a0f2b674e80b882b329513e7ec9aed842 + () &noexcept + + + impl::unwrap_node< T > && + ref + classtoml_1_1node.html + a292bce25bfe779dc51403e88f0cc4bcc + () &&noexcept + + + const impl::unwrap_node< T > & + ref + classtoml_1_1node.html + a378e94ebc00235eb4d1da68f81edd77f + () const &noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + + toml::time + structtoml_1_1time.html + + uint8_t + hour + structtoml_1_1time.html + a18f32a58846d333f9e866b725b7b7ae4 + + + + uint8_t + minute + structtoml_1_1time.html + a02de4fe041dfa9535eb4df60d86f7fb4 + + + + uint8_t + second + structtoml_1_1time.html + a8ae0ab849a761543207ca86a2e1d0fdf + + + + uint32_t + nanosecond + structtoml_1_1time.html + a3e9c60650ccd21f1e47132b777547185 + + + + constexpr friend bool + operator== + structtoml_1_1time.html + aa88d156f8ea405513e00702b3c88de2f + (const time &lhs, const time &rhs) noexcept + + + constexpr friend bool + operator!= + structtoml_1_1time.html + a76766a077e105960758caa4a9cbfd25b + (const time &lhs, const time &rhs) noexcept + + + constexpr friend bool + operator< + structtoml_1_1time.html + a6e53cc30a5701a18713e853d8abd4b20 + (time lhs, time rhs) noexcept + + + constexpr friend bool + operator<= + structtoml_1_1time.html + a108b128e5d6a831b110909e4f18c1cbb + (time lhs, time rhs) noexcept + + + constexpr friend bool + operator> + structtoml_1_1time.html + aaba3d9a66b122ab5a10a359d95d0171c + (time lhs, time rhs) noexcept + + + constexpr friend bool + operator>= + structtoml_1_1time.html + a59c7d66cd934fe5af4f85e2fdd1a3892 + (time lhs, time rhs) noexcept + + + + toml::time_offset + structtoml_1_1time__offset.html + + constexpr + time_offset + structtoml_1_1time__offset.html + a93151fbb3eca9339753b901aa3142c47 + () noexcept + + + constexpr + time_offset + structtoml_1_1time__offset.html + a8a875e9fa59060eec5d5d775e407d46d + (int8_t h, int8_t m) noexcept + + + int16_t + minutes + structtoml_1_1time__offset.html + a2f4cd0259300e318defc0c5efde592dd + + + + constexpr friend bool + operator== + structtoml_1_1time__offset.html + ad9423ee067d0a4c0ba39deb2679a07f6 + (time_offset lhs, time_offset rhs) noexcept + + + constexpr friend bool + operator!= + structtoml_1_1time__offset.html + a77e5bb056ffcd6a91b1740333f23b806 + (time_offset lhs, time_offset rhs) noexcept + + + constexpr friend bool + operator< + structtoml_1_1time__offset.html + afe1582662b6922546524d14c1588cf9d + (time_offset lhs, time_offset rhs) noexcept + + + constexpr friend bool + operator<= + structtoml_1_1time__offset.html + a4a0886d9ad65963a4e812576ba0c6928 + (time_offset lhs, time_offset rhs) noexcept + + + constexpr friend bool + operator> + structtoml_1_1time__offset.html + aa5270a5c11af2a9344d2c20911643429 + (time_offset lhs, time_offset rhs) noexcept + + + constexpr friend bool + operator>= + structtoml_1_1time__offset.html + a0146123daf63c677b2559aaf9bda1338 + (time_offset lhs, time_offset rhs) noexcept + + + + toml::value + classtoml_1_1value.html + + toml::node + + ValueType + value_type + classtoml_1_1value.html + ad87b8c7ec465c424b861aba2d4cd5526 + + + + std::conditional_t< std::is_same_v< value_type, std::string >, std::string_view, std::conditional_t< impl::is_one_of< value_type, double, int64_t, bool >, value_type, const value_type & > > + value_arg + classtoml_1_1value.html + ad31666efce027c28c5383357badfa555 + + + + + value + classtoml_1_1value.html + addb06e973867c52b1ea77efae1c6ad10 + (Args &&... args) noexcept(noexcept(value_type(impl::native_value_maker< value_type, std::decay_t< Args >... >::make(static_cast< Args && >(args)...)))) + + + + value + classtoml_1_1value.html + a62ace5d37c6cf09fdc589efa5e0a0905 + (const value &other) noexcept + + + + value + classtoml_1_1value.html + adfb0250a9769fea9d585609db77bc64a + (value &&other) noexcept + + + value & + operator= + classtoml_1_1value.html + a339731a8213b5e0993b5547067fde1f7 + (const value &rhs) noexcept + + + value & + operator= + classtoml_1_1value.html + a958da7aae3ff90094e348ebceaa4aa5d + (value &&rhs) noexcept + + + value & + operator= + classtoml_1_1value.html + a08950deffd1a5568154d58d27517c973 + (value_arg rhs) noexcept + + + node_type + type + classtoml_1_1value.html + a6fae24eb3eca5e298e4211d2f3503fa4 + () const noexcept override + + + bool + is_table + classtoml_1_1value.html + a043bd619a674718f1404f554eaef41e3 + () const noexcept override + + + bool + is_array + classtoml_1_1value.html + a64d6b4223bcf8c124802bb8f97e0e40e + () const noexcept override + + + bool + is_value + classtoml_1_1value.html + a9679039a2bda46d148a8b3ff842d8702 + () const noexcept override + + + bool + is_string + classtoml_1_1value.html + aaec50db69c9e38159d6844394fe94dd5 + () const noexcept override + + + bool + is_integer + classtoml_1_1value.html + a48ff507b26ed64224f1866502b8eaf28 + () const noexcept override + + + bool + is_floating_point + classtoml_1_1value.html + adf9e031d41969de6d8b55f59da72cfa3 + () const noexcept override + + + bool + is_number + classtoml_1_1value.html + a4a81fff689d825a1717b1b439d130800 + () const noexcept override + + + bool + is_boolean + classtoml_1_1value.html + aa6218b2cf228431ab8933251cdd2827e + () const noexcept override + + + bool + is_date + classtoml_1_1value.html + a8efb92838ded8eee056a295b12f861b2 + () const noexcept override + + + bool + is_time + classtoml_1_1value.html + afa64172102844454bffe7ad2e757aace + () const noexcept override + + + bool + is_date_time + classtoml_1_1value.html + a0de55ce6d6abe26d1a94d4e2021bd331 + () const noexcept override + + + bool + is_homogeneous + classtoml_1_1value.html + a69ff59b2ee4d65a911382220856584b5 + (node_type ntype) const noexcept override + + + bool + is_homogeneous + classtoml_1_1value.html + a1f509d1a85224c6997b481d26ecdbf5c + (node_type ntype, toml::node *&first_nonmatch) noexcept override + + + bool + is_homogeneous + classtoml_1_1value.html + ad83111695c9a3fc792940e5e09d5954e + (node_type ntype, const toml::node *&first_nonmatch) const noexcept override + + + value< std::string > * + as_string + classtoml_1_1value.html + ad1a3c4dd6ffe9bbc53e1e0210a1dfcb9 + () noexcept override + + + value< int64_t > * + as_integer + classtoml_1_1value.html + af4ff7751b5220c599d5dcee7fc44a595 + () noexcept override + + + value< double > * + as_floating_point + classtoml_1_1value.html + a1a50e6ae4b77e2399e979e0e32e2c122 + () noexcept override + + + value< bool > * + as_boolean + classtoml_1_1value.html + a388205107db2b06f7f2954942cca8063 + () noexcept override + + + value< date > * + as_date + classtoml_1_1value.html + ad66d88e92f607a426a28ca3d933f641d + () noexcept override + + + value< time > * + as_time + classtoml_1_1value.html + ad0f53f0e903d09aecdbd62b956113457 + () noexcept override + + + value< date_time > * + as_date_time + classtoml_1_1value.html + a693ae6fa8490000bad7c4b947a71f352 + () noexcept override + + + value_type & + get + classtoml_1_1value.html + af607a8347e5918b35fcfb11e8f7d4398 + () &noexcept + + + value_type && + get + classtoml_1_1value.html + a0b4ea781b83a3c164df24129d0e73341 + () &&noexcept + + + const value_type & + get + classtoml_1_1value.html + a3a0ec9ea9604d68ba9a9a4692868f8d8 + () const &noexcept + + + value_type & + operator* + classtoml_1_1value.html + a054c1fb796a4e560d4afb27019bb1aef + () &noexcept + + + value_type && + operator* + classtoml_1_1value.html + a64ad94a1086eedde1a94f12f020498d2 + () &&noexcept + + + const value_type & + operator* + classtoml_1_1value.html + a15e56286d17f11a4d567eaddb36368f8 + () const &noexcept + + + + operator value_type & + classtoml_1_1value.html + adaf04b51fea2bdc3da39fbf63c240b3b + () &noexcept + + + + operator value_type && + classtoml_1_1value.html + ad5d4a1c818d7004bc4c42219edf84dd9 + () &&noexcept + + + + operator const value_type & + classtoml_1_1value.html + aeaa7f385c753bc7f11f0758d8ae325b6 + () const &noexcept + + + value_flags + flags + classtoml_1_1value.html + a1a213908a7297491a07e647967897fcb + () const noexcept + + + value & + flags + classtoml_1_1value.html + a4311828058d75bfaa2c01c3395d09385 + (value_flags new_flags) noexcept + + + virtual bool + is_array_of_tables + classtoml_1_1node.html + a1697f7da1cd6a5e4c3d3e25e08274b34 + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + virtual table * + as_table + classtoml_1_1node.html + aa696716239e7434145103173e880fb80 + () noexcept + + + virtual array * + as_array + classtoml_1_1node.html + adac204f1c1e3ae99beaa79bb1624cc95 + () noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + ac1417bb4313b2624e3ea270a487f153b + () const noexcept + + + optional< T > + value + classtoml_1_1node.html + a48098db842e6a202902e6c85326f71b4 + () const noexcept + + + auto + value_or + classtoml_1_1node.html + a423ddccc36345545615e20290c9a8a65 + (T &&default_value) const noexcept + + + impl::unwrap_node< T > & + ref + classtoml_1_1node.html + a0f2b674e80b882b329513e7ec9aed842 + () &noexcept + + + impl::unwrap_node< T > && + ref + classtoml_1_1node.html + a292bce25bfe779dc51403e88f0cc4bcc + () &&noexcept + + + const impl::unwrap_node< T > & + ref + classtoml_1_1node.html + a378e94ebc00235eb4d1da68f81edd77f + () const &noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + friend std::basic_ostream< Char > & + operator<< + classtoml_1_1value.html + a3559f8309f337e65ee1baba5f2130f48 + (std::basic_ostream< Char > &lhs, const value< T > &rhs) + + + friend bool + operator== + classtoml_1_1value.html + a0b90e4f85ecaf2c81e4ba8b42aa5ce34 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a1771aa33bd2d425b542d0b9d0e90866d + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a6bbe09942bd6046fa94addb911940491 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + a7d02565c608c663afc8f3d2102639740 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + a2f37f69d3e477c0c2e2ba16f6919815e + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + ace8c00e345c69ee93e5d2bd2df694340 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + af200f2be4273ed0923743f4b918f86e6 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a80417b5055072f20d3a6985d1b78af21 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a727e2acd21edf04a144918d174706ba6 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator== + classtoml_1_1value.html + a2fa446100047d052d0cca2c1f3f60085 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1value.html + a872e565adfbcd201f2ab1e3103699758 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a7fdc4f87f9ec3efb896cc3e09694328b + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + ac6af15f59d537d95d1afe887b12b697e + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + ab95d07a7f48e44baefbacbf5f6072837 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a0ebdea821d98546de4b686f450506637 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1value.html + a0b90e4f85ecaf2c81e4ba8b42aa5ce34 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a1771aa33bd2d425b542d0b9d0e90866d + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a6bbe09942bd6046fa94addb911940491 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + a7d02565c608c663afc8f3d2102639740 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + a2f37f69d3e477c0c2e2ba16f6919815e + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + ace8c00e345c69ee93e5d2bd2df694340 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + af200f2be4273ed0923743f4b918f86e6 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a80417b5055072f20d3a6985d1b78af21 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a727e2acd21edf04a144918d174706ba6 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator== + classtoml_1_1value.html + a2fa446100047d052d0cca2c1f3f60085 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1value.html + a872e565adfbcd201f2ab1e3103699758 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a7fdc4f87f9ec3efb896cc3e09694328b + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + ac6af15f59d537d95d1afe887b12b697e + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + ab95d07a7f48e44baefbacbf5f6072837 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a0ebdea821d98546de4b686f450506637 + (const value &lhs, const value< T > &rhs) noexcept + + + node_type + type + classtoml_1_1value.html + a6fae24eb3eca5e298e4211d2f3503fa4 + () const noexcept override + + + bool + is_table + classtoml_1_1value.html + a043bd619a674718f1404f554eaef41e3 + () const noexcept override + + + bool + is_array + classtoml_1_1value.html + a64d6b4223bcf8c124802bb8f97e0e40e + () const noexcept override + + + bool + is_value + classtoml_1_1value.html + a9679039a2bda46d148a8b3ff842d8702 + () const noexcept override + + + bool + is_string + classtoml_1_1value.html + aaec50db69c9e38159d6844394fe94dd5 + () const noexcept override + + + bool + is_integer + classtoml_1_1value.html + a48ff507b26ed64224f1866502b8eaf28 + () const noexcept override + + + bool + is_floating_point + classtoml_1_1value.html + adf9e031d41969de6d8b55f59da72cfa3 + () const noexcept override + + + bool + is_number + classtoml_1_1value.html + a4a81fff689d825a1717b1b439d130800 + () const noexcept override + + + bool + is_boolean + classtoml_1_1value.html + aa6218b2cf228431ab8933251cdd2827e + () const noexcept override + + + bool + is_date + classtoml_1_1value.html + a8efb92838ded8eee056a295b12f861b2 + () const noexcept override + + + bool + is_time + classtoml_1_1value.html + afa64172102844454bffe7ad2e757aace + () const noexcept override + + + bool + is_date_time + classtoml_1_1value.html + a0de55ce6d6abe26d1a94d4e2021bd331 + () const noexcept override + + + bool + is_homogeneous + classtoml_1_1value.html + a69ff59b2ee4d65a911382220856584b5 + (node_type ntype) const noexcept override + + + bool + is_homogeneous + classtoml_1_1value.html + a1f509d1a85224c6997b481d26ecdbf5c + (node_type ntype, toml::node *&first_nonmatch) noexcept override + + + bool + is_homogeneous + classtoml_1_1value.html + ad83111695c9a3fc792940e5e09d5954e + (node_type ntype, const toml::node *&first_nonmatch) const noexcept override + + + value< std::string > * + as_string + classtoml_1_1value.html + ad1a3c4dd6ffe9bbc53e1e0210a1dfcb9 + () noexcept override + + + value< int64_t > * + as_integer + classtoml_1_1value.html + af4ff7751b5220c599d5dcee7fc44a595 + () noexcept override + + + value< double > * + as_floating_point + classtoml_1_1value.html + a1a50e6ae4b77e2399e979e0e32e2c122 + () noexcept override + + + value< bool > * + as_boolean + classtoml_1_1value.html + a388205107db2b06f7f2954942cca8063 + () noexcept override + + + value< date > * + as_date + classtoml_1_1value.html + ad66d88e92f607a426a28ca3d933f641d + () noexcept override + + + value< time > * + as_time + classtoml_1_1value.html + ad0f53f0e903d09aecdbd62b956113457 + () noexcept override + + + value< date_time > * + as_date_time + classtoml_1_1value.html + a693ae6fa8490000bad7c4b947a71f352 + () noexcept override + + + value_type & + get + classtoml_1_1value.html + af607a8347e5918b35fcfb11e8f7d4398 + () &noexcept + + + value_type && + get + classtoml_1_1value.html + a0b4ea781b83a3c164df24129d0e73341 + () &&noexcept + + + const value_type & + get + classtoml_1_1value.html + a3a0ec9ea9604d68ba9a9a4692868f8d8 + () const &noexcept + + + value_type & + operator* + classtoml_1_1value.html + a054c1fb796a4e560d4afb27019bb1aef + () &noexcept + + + value_type && + operator* + classtoml_1_1value.html + a64ad94a1086eedde1a94f12f020498d2 + () &&noexcept + + + const value_type & + operator* + classtoml_1_1value.html + a15e56286d17f11a4d567eaddb36368f8 + () const &noexcept + + + + operator value_type & + classtoml_1_1value.html + adaf04b51fea2bdc3da39fbf63c240b3b + () &noexcept + + + + operator value_type && + classtoml_1_1value.html + ad5d4a1c818d7004bc4c42219edf84dd9 + () &&noexcept + + + + operator const value_type & + classtoml_1_1value.html + aeaa7f385c753bc7f11f0758d8ae325b6 + () const &noexcept + + + value_flags + flags + classtoml_1_1value.html + a1a213908a7297491a07e647967897fcb + () const noexcept + + + value & + flags + classtoml_1_1value.html + a4311828058d75bfaa2c01c3395d09385 + (value_flags new_flags) noexcept + + + virtual bool + is_array_of_tables + classtoml_1_1node.html + a1697f7da1cd6a5e4c3d3e25e08274b34 + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + virtual table * + as_table + classtoml_1_1node.html + aa696716239e7434145103173e880fb80 + () noexcept + + + virtual array * + as_array + classtoml_1_1node.html + adac204f1c1e3ae99beaa79bb1624cc95 + () noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + ac1417bb4313b2624e3ea270a487f153b + () const noexcept + + + optional< T > + value + classtoml_1_1node.html + a48098db842e6a202902e6c85326f71b4 + () const noexcept + + + auto + value_or + classtoml_1_1node.html + a423ddccc36345545615e20290c9a8a65 + (T &&default_value) const noexcept + + + impl::unwrap_node< T > & + ref + classtoml_1_1node.html + a0f2b674e80b882b329513e7ec9aed842 + () &noexcept + + + impl::unwrap_node< T > && + ref + classtoml_1_1node.html + a292bce25bfe779dc51403e88f0cc4bcc + () &&noexcept + + + const impl::unwrap_node< T > & + ref + classtoml_1_1node.html + a378e94ebc00235eb4d1da68f81edd77f + () const &noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + + toml + namespacetoml.html + toml::literals + toml::array + toml::inserter + toml::source_position + toml::source_region + toml::date + toml::time + toml::time_offset + toml::date_time + toml::default_formatter + toml::json_formatter + toml::node + toml::node_view + toml::parse_error + toml::parse_result + toml::table + toml::value + + impl::array_iterator< false > + array_iterator + namespacetoml.html + a2b0930b7b75df6f189d9815c000bef8b + + + + impl::array_iterator< true > + const_array_iterator + namespacetoml.html + acc99ae392186dc605aeb233d26f07013 + + + + std::optional< T > + optional + namespacetoml.html + af34a9fb3305e419784104609e6bbb7ac + + + + std::shared_ptr< const std::string > + source_path_ptr + namespacetoml.html + ac6cf446b480546ae1f71f5b86442368d + + + + typename impl::inserted_type_of_< impl::remove_cvref_t< T > >::type + inserted_type_of + namespacetoml.html + a42d815ed50a34bce24289004e57e1ed8 + + + + uint16_t + source_index + namespacetoml.html + ae845239fd7271e3d8e529302d300ad5b + + + + impl::table_iterator< false > + table_iterator + namespacetoml.html + a57894617837065610e5746a3204fa8e9 + + + + impl::table_iterator< true > + const_table_iterator + namespacetoml.html + adeb2aa84bcd2bcb46e2cdfaa5dd6572f + + + + + node_type + namespacetoml.html + abac3e84bbf1f2c90717fca107055f48d + + none + table + array + string + integer + floating_point + boolean + date + time + date_time + + + + value_flags + namespacetoml.html + afb4d25262a72170134337eb67e6793de + + none + format_as_binary + format_as_octal + format_as_hexadecimal + + + + format_flags + namespacetoml.html + af1a6761a2f4d80b1a541ba819d9c8e0f + + none + quote_dates_and_times + allow_literal_strings + allow_multi_line_strings + allow_value_format_flags + + + std::basic_ostream< Char > & + operator<< + namespacetoml.html + aba6195d5e83ab18f30c9a211384e2c1a + (std::basic_ostream< Char > &lhs, node_type rhs) + + + std::basic_ostream< Char > & + operator<< + namespacetoml.html + ad6baa4a70ba588d799c8b5d47368daab + (std::basic_ostream< Char > &lhs, const date &rhs) + + + std::basic_ostream< Char > & + operator<< + namespacetoml.html + adbd4fa5a540b9013568db5ca31509611 + (std::basic_ostream< Char > &lhs, const time &rhs) + + + std::basic_ostream< Char > & + operator<< + namespacetoml.html + ae806dceb4c37542aef0b1603ecb24f93 + (std::basic_ostream< Char > &lhs, const time_offset &rhs) + + + std::basic_ostream< Char > & + operator<< + namespacetoml.html + a47918bf17e54f33e998e32b837d295ae + (std::basic_ostream< Char > &lhs, const date_time &rhs) + + + std::basic_ostream< T > & + operator<< + namespacetoml.html + a76e6f635590c5477371cfdbd9995e93c + (std::basic_ostream< T > &lhs, default_formatter< U > &rhs) + + + std::basic_ostream< T > & + operator<< + namespacetoml.html + a7751ef32d579a26d6d718bd20727c366 + (std::basic_ostream< T > &lhs, default_formatter< U > &&rhs) + + + std::basic_ostream< T > & + operator<< + namespacetoml.html + a71f00c85c2e052bc37e68901e528adf8 + (std::basic_ostream< T > &lhs, json_formatter< U > &rhs) + + + std::basic_ostream< T > & + operator<< + namespacetoml.html + a5950cf269cd3a637e75a0c5d862bb59e + (std::basic_ostream< T > &lhs, json_formatter< U > &&rhs) + + + std::basic_ostream< Char > & + operator<< + namespacetoml.html + af05142410823b801c5337566ec4167e9 + (std::basic_ostream< Char > &os, const node_view< T > &nv) + + + std::basic_ostream< Char > & + operator<< + namespacetoml.html + aa96d938e7e76fa6753e2c3b319af0ab6 + (std::basic_ostream< Char > &lhs, const parse_error &rhs) + + + parse_result + parse + namespacetoml.html + ada8654fb4ceef15c20fc1d5e0cc734dd + (std::string_view doc, std::string_view source_path={}) + + + parse_result + parse + namespacetoml.html + a20fa3e08d72759083fb17c772a357043 + (std::string_view doc, std::string &&source_path) + + + parse_result + parse + namespacetoml.html + a01565f26a7982d162949bac3b554a334 + (std::string_view doc, std::wstring_view source_path) + + + parse_result + parse + namespacetoml.html + ae9ee4300ddfbd72b7237283ab8d97618 + (std::u8string_view doc, std::string_view source_path={}) + + + parse_result + parse + namespacetoml.html + a02a2724564149ad8439c0457357308b8 + (std::u8string_view doc, std::string &&source_path) + + + parse_result + parse + namespacetoml.html + a38852451309f406db281f17334ea8dfe + (std::u8string_view doc, std::wstring_view source_path) + + + parse_result + parse + namespacetoml.html + a23fd62ae7ec77404532a589672ae1d0e + (std::basic_istream< Char > &doc, std::string_view source_path={}) + + + parse_result + parse + namespacetoml.html + a64954bc71af181daba9ef3a1d12f05db + (std::basic_istream< Char > &doc, std::string &&source_path) + + + parse_result + parse + namespacetoml.html + a2ad07c01e86daea5544e1d92261bab81 + (std::basic_istream< Char > &doc, std::wstring_view source_path) + + + parse_result + parse_file + namespacetoml.html + a8dbc58dad43c3b66f4476a7131f5741a + (std::string_view file_path) + + + parse_result + parse_file + namespacetoml.html + acdbabd4b771d221fe98b0053d848d69d + (std::u8string_view file_path) + + + parse_result + parse_file + namespacetoml.html + ad425af491341206589ca6acc37c3b19e + (std::wstring_view file_path) + + + std::basic_ostream< Char > & + operator<< + namespacetoml.html + a97327637eb536dde43a66ea3469bce9e + (std::basic_ostream< Char > &lhs, const source_position &rhs) + + + std::basic_ostream< Char > & + operator<< + namespacetoml.html + a86595b9c9187cb2c09cbffebe3752f0f + (std::basic_ostream< Char > &lhs, const source_region &rhs) + + + constexpr bool + is_table + namespacetoml.html + ad11c8c8a8286d6931e40658679aa7ddb + + + + constexpr bool + is_array + namespacetoml.html + a2251b703f3ec4d1a3036c82ead3d69cc + + + + constexpr bool + is_container + namespacetoml.html + ad6c6e1677e1cc564d40efa89af2514a2 + + + + constexpr bool + is_string + namespacetoml.html + aea14621807afe92a840d82c7139cde07 + + + + constexpr bool + is_integer + namespacetoml.html + a513bdc4a19071f0be70e92bb6cb1a1a3 + + + + constexpr bool + is_floating_point + namespacetoml.html + a1aaaa0e264cdd4f43518571f2f61ac36 + + + + constexpr bool + is_number + namespacetoml.html + a64ce7ed6974d2b17823565bc67c40873 + + + + constexpr bool + is_boolean + namespacetoml.html + a8e79820651cc9a835082cf9abd47d885 + + + + constexpr bool + is_date + namespacetoml.html + a3c5daa4563e3aff2b5e6460aa97d28df + + + + constexpr bool + is_time + namespacetoml.html + a87aee32768a32bb838150421e4e3cf97 + + + + constexpr bool + is_date_time + namespacetoml.html + a3285caf012789a607851026f9827a33d + + + + constexpr bool + is_chronological + namespacetoml.html + a7f8764060ca7dccb7e829f67d82c0485 + + + + constexpr bool + is_value + namespacetoml.html + a0d9cd265e448130b95305ccd68d2f508 + + + + constexpr bool + is_node + namespacetoml.html + a4e4126f63ba560963de095cd9bee0704 + + + + constexpr bool + is_node_view + namespacetoml.html + ab5b06dac8c1e0de9e06411917e10b618 + + + + + toml::literals + namespacetoml_1_1literals.html + + parse_result + operator""_toml + namespacetoml_1_1literals.html + a401530e560c2dc540729af01e10b2a74 + (const char *str, size_t len) + + + parse_result + operator""_toml + namespacetoml_1_1literals.html + abb2307d66538d0d43dd074040f83224c + (const char8_t *str, size_t len) + + + + configuration + Library Configuration + group__configuration.html + + #define + TOML_HEADER_ONLY + group__configuration.html + ga8219bfd7e75587516385b6022b28abc2 + + + + #define + TOML_API + group__configuration.html + gad443ebc67d9e196f296f2038b2ad5e46 + + + + #define + TOML_ASSERT + group__configuration.html + ga8c407a8f6fe52a795db35be3f00393f8 + (expr) + + + #define + TOML_CONFIG_HEADER + group__configuration.html + ga09204feb4a3ff5534623c2bd052dcec0 + + + + #define + TOML_EXCEPTIONS + group__configuration.html + ga93097ecd88ca4bca393f60a78bda643b + + + + #define + TOML_IMPLEMENTATION + group__configuration.html + ga27ee69835a1ddff9dbaf3015b4b08a11 + + + + #define + TOML_LARGE_FILES + group__configuration.html + ga55379d57f896d97994e0aca167297c7f + + + + #define + TOML_OPTIONAL_TYPE + group__configuration.html + ga9c2c03f867eb6d76a5f65b06eeb1186e + + + + #define + TOML_PARSER + group__configuration.html + ga53c34f99a546e479d2440b60e3e6588d + + + + #define + TOML_SMALL_FLOAT_TYPE + group__configuration.html + ga11a3368da40938a6b5cfd898320706f7 + + + + #define + TOML_SMALL_INT_TYPE + group__configuration.html + ga0722fa2c57da6360c7f2ba08c60e1a81 + + + + #define + TOML_UNRELEASED_FEATURES + group__configuration.html + ga337ec177a5d46e3b6d8fa4f23edf98e2 + + + + #define + TOML_WINDOWS_COMPAT + group__configuration.html + ga0785b375499ea976c627d775f8fc747b + + + + + index + toml++ + index.html + mainpage-features + mainpage-api-documentation + mainpage-example + mainpage-example-parsing-files + mainpage-example-parsing-strings + mainpage-example-parsing-without-exceptions + mainpage-example-custom-error-formatting + mainpage-example-manipulations + mainpage-example-serialization + mainpage-example-speed-up-compilation + mainpage-adding-lib + mainpage-adding-lib-old-school + mainpage-adding-lib-conan + mainpage-adding-lib-dds + mainpage-adding-lib-meson + mainpage-adding-lib-vcpkg + mainpage-adding-lib-cmake-fetch-content + mainpage-adding-lib-other + mainpage-adding-lib-python + mainpage-configuration + mainpage-contributing + mainpage-license + mainpage-contact + + diff --git a/v3.0.0/annotated.html b/v3.0.0/annotated.html new file mode 100644 index 00000000..b3657b64 --- /dev/null +++ b/v3.0.0/annotated.html @@ -0,0 +1,160 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Classes

                                                                                                                              +
                                                                                                                                +
                                                                                                                              • + namespace toml The root namespace for all toml++ functions and types. +
                                                                                                                                  +
                                                                                                                                • class array A TOML array.
                                                                                                                                • +
                                                                                                                                • struct date A local date.
                                                                                                                                • +
                                                                                                                                • struct date_time A date-time.
                                                                                                                                • +
                                                                                                                                • struct inserter Helper class for suppressing move-construction in single-argument array constructors.
                                                                                                                                • +
                                                                                                                                • class json_formatter A wrapper for printing TOML objects out to a stream as formatted JSON.
                                                                                                                                • +
                                                                                                                                • class key A key parsed from a TOML document.
                                                                                                                                • +
                                                                                                                                • class node A TOML node.
                                                                                                                                • +
                                                                                                                                • class node_view A view of a node.
                                                                                                                                • +
                                                                                                                                • class parse_error An error generated when parsing fails.
                                                                                                                                • +
                                                                                                                                • class parse_result The result of a parsing operation.
                                                                                                                                • +
                                                                                                                                • struct source_position A source document line-and-column pair.
                                                                                                                                • +
                                                                                                                                • struct source_region A source document region.
                                                                                                                                • +
                                                                                                                                • class table A TOML table.
                                                                                                                                • +
                                                                                                                                • struct time A local time-of-day.
                                                                                                                                • +
                                                                                                                                • struct time_offset A timezone offset.
                                                                                                                                • +
                                                                                                                                • class toml_formatter A wrapper for printing TOML objects out to a stream as formatted TOML.
                                                                                                                                • +
                                                                                                                                • class value A TOML value.
                                                                                                                                • +
                                                                                                                                • class yaml_formatter A wrapper for printing TOML objects out to a stream as formatted YAML.
                                                                                                                                • +
                                                                                                                                +
                                                                                                                              • +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.0/badge-C++20.svg b/v3.0.0/badge-C++20.svg new file mode 100644 index 00000000..92e9684c --- /dev/null +++ b/v3.0.0/badge-C++20.svg @@ -0,0 +1 @@ + standardC++20 \ No newline at end of file diff --git a/v3.0.0/badge-TOML.svg b/v3.0.0/badge-TOML.svg new file mode 100644 index 00000000..01db3c41 --- /dev/null +++ b/v3.0.0/badge-TOML.svg @@ -0,0 +1 @@ +TOML: v1.0.0TOMLv1.0.0 \ No newline at end of file diff --git a/v3.0.0/badge-awesome.svg b/v3.0.0/badge-awesome.svg new file mode 100644 index 00000000..5d9da969 --- /dev/null +++ b/v3.0.0/badge-awesome.svg @@ -0,0 +1 @@ +Mentioned in an Awesome list diff --git a/v3.0.0/banner_small.png b/v3.0.0/banner_small.png new file mode 100644 index 00000000..c9ee9963 Binary files /dev/null and b/v3.0.0/banner_small.png differ diff --git a/v3.0.0/classtoml_1_1array.html b/v3.0.0/classtoml_1_1array.html new file mode 100644 index 00000000..f85ade0f --- /dev/null +++ b/v3.0.0/classtoml_1_1array.html @@ -0,0 +1,1671 @@ + + + + toml::array class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::array class +

                                                                                                                              +

                                                                                                                              A TOML array.

                                                                                                                              + +

                                                                                                                              The interface of this type is modeled after std::vector, with some additional considerations made for the heterogeneous nature of a TOML array.

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              toml::table tbl = toml::parse(R"( + arr = [1, 2, 3, 4, 'five'] +)"sv); + +// get the element as an array +toml::array& arr = *tbl.get_as<toml::array>("arr"); +std::cout << arr << "\n"; + +// increment each element with visit() +for (auto&& elem : arr) +{ + elem.visit([](auto&& el) noexcept + { + if constexpr (toml::is_number<decltype(el)>) + (*el)++; + else if constexpr (toml::is_string<decltype(el)>) + el = "six"sv; + }); +} +std::cout << arr << "\n"; + +// add and remove elements +arr.push_back(7); +arr.push_back(8.0f); +arr.push_back("nine"sv); +arr.erase(arr.cbegin()); +std::cout << arr << "\n"; + +// emplace elements +arr.emplace_back<std::string>("ten"); +arr.emplace_back<toml::array>(11, 12.0); +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3, 4, 'five' ]
                                                                                                                              +[ 2, 3, 4, 5, 'six' ]
                                                                                                                              +[ 3, 4, 5, 'six', 7, 8.0, 'nine' ]
                                                                                                                              +[ 3, 4, 5, 'six', 7, 8.0, 'nine', 'ten', [ 11, 12.0 ] ]
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Base classes

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + class node +
                                                                                                                              +
                                                                                                                              A TOML node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + array() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Default constructor.
                                                                                                                              +
                                                                                                                              + array(const array&) +
                                                                                                                              +
                                                                                                                              Copy constructor.
                                                                                                                              +
                                                                                                                              + array(array&& other) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType, typename... ElemTypes>
                                                                                                                              + array(ElemType&& val, + ElemTypes && ... vals) explicit +
                                                                                                                              +
                                                                                                                              Constructs an array with one or more initial elements.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator=(const array&) -> array& +
                                                                                                                              +
                                                                                                                              Copy-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(array&& rhs) -> array& noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const array& lhs, + const array& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const array& lhs, + const array& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const array& lhs, + const std::initializer_list<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Initializer list equality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const array& lhs, + const std::vector<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Vector equality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Erasure

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + void clear() noexcept +
                                                                                                                              +
                                                                                                                              Removes all elements from the array.
                                                                                                                              +
                                                                                                                              + auto erase(const_iterator pos) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Removes the specified element from the array.
                                                                                                                              +
                                                                                                                              + auto erase(const_iterator first, + const_iterator last) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Removes the elements in the range [first, last) from the array.
                                                                                                                              +
                                                                                                                              + auto flatten() & -> array& +
                                                                                                                              +
                                                                                                                              Flattens this array, recursively hoisting the contents of child arrays up into itself.
                                                                                                                              +
                                                                                                                              + auto flatten() && -> array&& +
                                                                                                                              +
                                                                                                                              Flattens this array, recursively hoisting the contents of child arrays up into itself (rvalue overload).
                                                                                                                              +
                                                                                                                              + void pop_back() noexcept +
                                                                                                                              +
                                                                                                                              Removes the last element from the array.
                                                                                                                              +
                                                                                                                              + auto prune(bool recursive = true) & -> array& noexcept +
                                                                                                                              +
                                                                                                                              Removes empty child arrays and tables.
                                                                                                                              +
                                                                                                                              + auto prune(bool recursive = true) && -> array&& noexcept +
                                                                                                                              +
                                                                                                                              Removes empty child arrays and tables (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Insertion and Emplacement

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType, typename... Args>
                                                                                                                              + auto emplace(const_iterator pos, + Args && ... args) -> iterator +
                                                                                                                              +
                                                                                                                              Emplaces a new element at a specific position in the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType, typename... ElemArgs>
                                                                                                                              + auto emplace_back(ElemArgs && ... args) -> decltype(auto) +
                                                                                                                              +
                                                                                                                              Emplaces a new element at the end of the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto insert(const_iterator pos, + ElemType&& val, + value_flags flags = preserve_source_value_flags) -> iterator +
                                                                                                                              +
                                                                                                                              Inserts a new element at a specific position in the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto insert(const_iterator pos, + size_t count, + ElemType&& val, + value_flags flags = preserve_source_value_flags) -> iterator +
                                                                                                                              +
                                                                                                                              Repeatedly inserts a new element starting at a specific position in the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Iter>
                                                                                                                              + auto insert(const_iterator pos, + Iter first, + Iter last, + value_flags flags = preserve_source_value_flags) -> iterator +
                                                                                                                              +
                                                                                                                              Inserts a range of elements into the array at a specific position.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto insert(const_iterator pos, + std::initializer_list<ElemType> ilist, + value_flags flags = preserve_source_value_flags) -> iterator +
                                                                                                                              +
                                                                                                                              Inserts a range of elements into the array at a specific position.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + void push_back(ElemType&& val, + value_flags flags = preserve_source_value_flags) +
                                                                                                                              +
                                                                                                                              Appends a new element to the end of the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto replace(const_iterator pos, + ElemType&& val, + value_flags flags = preserve_source_value_flags) -> iterator +
                                                                                                                              +
                                                                                                                              Replaces the element at a specific position in the array with a different value.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Iterators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using const_iterator = const_array_iterator +
                                                                                                                              +
                                                                                                                              A RandomAccessIterator for iterating over const elements in a toml::array.
                                                                                                                              +
                                                                                                                              + using iterator = array_iterator +
                                                                                                                              +
                                                                                                                              A RandomAccessIterator for iterating over elements in a toml::array.
                                                                                                                              +
                                                                                                                              + auto begin() -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first element.
                                                                                                                              +
                                                                                                                              + auto begin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first element.
                                                                                                                              +
                                                                                                                              + auto cbegin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first element.
                                                                                                                              +
                                                                                                                              + auto cend() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last element.
                                                                                                                              +
                                                                                                                              + auto end() -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last element.
                                                                                                                              +
                                                                                                                              + auto end() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last element.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Metadata

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the source region responsible for generating this node during parsing.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Node views

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) -> node_view<node> +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) const -> node_view<const node> +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + operator node_view<const node>() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node (const overload).
                                                                                                                              +
                                                                                                                              + operator node_view<node>() explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Size and Capacity

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto capacity() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the current max number of elements that may be held in the array's internal storage.
                                                                                                                              +
                                                                                                                              + auto empty() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the array is empty.
                                                                                                                              +
                                                                                                                              + auto max_size() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the maximum number of elements that can be stored in an array on the current platform.
                                                                                                                              +
                                                                                                                              + void reserve(size_t new_capacity) +
                                                                                                                              +
                                                                                                                              Reserves internal storage capacity up to a pre-determined number of elements.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + void resize(size_t new_size, + ElemType&& default_init_val, + value_flags default_init_flags = preserve_source_value_flags) +
                                                                                                                              +
                                                                                                                              Resizes the array.
                                                                                                                              +
                                                                                                                              + void shrink_to_fit() +
                                                                                                                              +
                                                                                                                              Requests the removal of any unused internal storage capacity.
                                                                                                                              +
                                                                                                                              + auto size() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the number of elements in the array.
                                                                                                                              +
                                                                                                                              + void truncate(size_t new_size) +
                                                                                                                              +
                                                                                                                              Shrinks the array to the given size.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type casts

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() -> impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() const -> const impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type (const overload).
                                                                                                                              +
                                                                                                                              + auto as_array() -> array* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the array.
                                                                                                                              +
                                                                                                                              + auto as_array() const -> const array* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the array.
                                                                                                                              +
                                                                                                                              + auto as_boolean() -> toml::value<bool>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_boolean() const -> const toml::value<bool>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date() -> toml::value<date>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date() const -> const toml::value<date>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date_time() -> toml::value<date_time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date_time() const -> const toml::value<date_time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() -> toml::value<double>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() const -> const toml::value<double>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_integer() -> toml::value<int64_t>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_integer() const -> const toml::value<int64_t>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_string() -> toml::value<std::string>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_string() const -> const toml::value<std::string>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_table() -> table* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_table() const -> const table* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_time() -> toml::value<time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_time() const -> const toml::value<time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type checks

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto is() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node is a specific type.
                                                                                                                              +
                                                                                                                              + auto is_array() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true.
                                                                                                                              +
                                                                                                                              + auto is_array_of_tables() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the array contains only tables.
                                                                                                                              +
                                                                                                                              + auto is_boolean() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_date() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_date_time() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_floating_point() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype) const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + node*& first_nonmatch) -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + const node*& first_nonmatch) const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType = void>
                                                                                                                              + auto is_homogeneous() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_integer() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_number() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_string() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_table() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_time() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_value() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto type() const -> node_type final noexcept +
                                                                                                                              +
                                                                                                                              Returns toml::node_type::array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Value retrieval

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at(size_t index) -> node& +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific index, throwing std::out_of_range if none existed.
                                                                                                                              +
                                                                                                                              + auto at(size_t index) const -> const node& +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific index, throwing std::out_of_range if none existed.
                                                                                                                              +
                                                                                                                              + auto back() -> node& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the last element in the array.
                                                                                                                              +
                                                                                                                              + auto back() const -> const node& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the last element in the array.
                                                                                                                              +
                                                                                                                              + auto front() -> node& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the first element in the array.
                                                                                                                              +
                                                                                                                              + auto front() const -> const node& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the first element in the array.
                                                                                                                              +
                                                                                                                              + auto get(size_t index) -> node* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the element at a specific index.
                                                                                                                              +
                                                                                                                              + auto get(size_t index) const -> const node* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the element at a specific index (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto get_as(size_t index) -> impl::wrap_node<ElemType>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the element at a specific index if it is a particular type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto get_as(size_t index) const -> const impl::wrap_node<ElemType>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the element at a specific index if it is a particular type (const overload).
                                                                                                                              +
                                                                                                                              + auto operator[](size_t index) -> node& noexcept +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific index.
                                                                                                                              +
                                                                                                                              + auto operator[](size_t index) const -> const node& noexcept +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific index.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_exact() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_or(T&& default_value) const -> auto noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the raw value contained by this node, or a default.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Visitation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const array& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the array out to a stream as formatted TOML.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType, typename... ElemTypes> +
                                                                                                                              + toml::array::array(ElemType&& val, + ElemTypes && ... vals) explicit +

                                                                                                                              +

                                                                                                                              Constructs an array with one or more initial elements.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypeOne of the TOML node or value types (or a type promotable to one).
                                                                                                                              ElemTypesOne of the TOML node or value types (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              valThe node or value used to initialize element 0.
                                                                                                                              valsThe nodes or values used to initialize elements 1...N.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2.0, "three"sv, toml::array{ 4, 5 } };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2.0, 'three', [ 4, 5 ] ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::array::operator!=(const array& lhs, + const array& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Inequality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS array.
                                                                                                                              rhsThe RHS array.
                                                                                                                              ReturnsTrue if the arrays did not contain the same elements.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::array::operator==(const array& lhs, + const array& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Equality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS array.
                                                                                                                              rhsThe RHS array.
                                                                                                                              ReturnsTrue if the arrays contained the same elements.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::array::erase(const_iterator pos) noexcept +

                                                                                                                              +

                                                                                                                              Removes the specified element from the array.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              posIterator to the element being erased.
                                                                                                                              ReturnsIterator to the first element immediately following the removed element.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +
                                                                                                                              +arr.erase(arr.cbegin() + 1);
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3 ]
                                                                                                                              +[ 1, 3 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::array::erase(const_iterator first, + const_iterator last) noexcept +

                                                                                                                              +

                                                                                                                              Removes the elements in the range [first, last) from the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              firstIterator to the first element being erased.
                                                                                                                              lastIterator to the one-past-the-last element being erased.
                                                                                                                              ReturnsIterator to the first element immediately following the last removed element.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, "bad", "karma" 2 };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +
                                                                                                                              +arr.erase(arr.cbegin() + 1, arr.cbegin() + 3);
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 'bad', 'karma', 3 ]
                                                                                                                              +[ 1, 3 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + array& toml::array::flatten() & +

                                                                                                                              +

                                                                                                                              Flattens this array, recursively hoisting the contents of child arrays up into itself.

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsA reference to the array.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, toml::array{ 3, 4, toml::array{ 5 } }, 6, toml::array{} };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +
                                                                                                                              +arr.flatten();
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, [ 3, 4, [ 5 ] ], 6, [] ]
                                                                                                                              +[ 1, 2, 3, 4, 5, 6 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + array&& toml::array::flatten() && +

                                                                                                                              +

                                                                                                                              Flattens this array, recursively hoisting the contents of child arrays up into itself (rvalue overload).

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsAn rvalue reference to the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + array& toml::array::prune(bool recursive = true) & noexcept +

                                                                                                                              +

                                                                                                                              Removes empty child arrays and tables.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              recursiveShould child arrays and tables themselves be pruned?
                                                                                                                              ReturnsA reference to the array.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, toml::array{ }, toml::array{ 3, toml::array{ } }, 4 };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +
                                                                                                                              +arr.prune(true);
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, [], [ 3, [] ], 4 ]
                                                                                                                              +[ 1, 2, [ 3 ], 4 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + array&& toml::array::prune(bool recursive = true) && noexcept +

                                                                                                                              +

                                                                                                                              Removes empty child arrays and tables (rvalue overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              recursiveShould child arrays and tables themselves be pruned?
                                                                                                                              ReturnsAn rvalue reference to the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType, typename... Args> +
                                                                                                                              + iterator toml::array::emplace(const_iterator pos, + Args && ... args) +

                                                                                                                              +

                                                                                                                              Emplaces a new element at a specific position in the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::table, toml::array, or any native TOML value type.
                                                                                                                              ArgsValue constructor argument types.
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              argsArguments to forward to the value's constructor.
                                                                                                                              ReturnsAn iterator to the inserted element.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2 };
                                                                                                                              +
                                                                                                                              +//add a string using std::string's substring constructor
                                                                                                                              +arr.emplace<std::string>(arr.cbegin() + 1, "this is not a drill"sv, 14, 5);
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 'drill', 2 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType, typename... ElemArgs> +
                                                                                                                              + decltype(auto) toml::array::emplace_back(ElemArgs && ... args) +

                                                                                                                              +

                                                                                                                              Emplaces a new element at the end of the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::table, toml::array, or a native TOML value type
                                                                                                                              ElemArgsElement constructor argument types.
                                                                                                                              Parameters
                                                                                                                              argsArguments to forward to the elements's constructor.
                                                                                                                              ReturnsA reference to the newly-constructed element.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2 };
                                                                                                                              +arr.emplace_back<toml::array>(3, "four"sv);
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, [ 3, 'four' ] ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + iterator toml::array::insert(const_iterator pos, + ElemType&& val, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Inserts a new element at a specific position in the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              valThe node or value being inserted.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              ReturnsValid input: An iterator to the newly-inserted element. Input is a null toml::node_view: + end()
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 3 };
                                                                                                                              +arr.insert(arr.cbegin() + 1, "two");
                                                                                                                              +arr.insert(arr.cend(), toml::array{ 4, 5 });
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 'two', 3, [ 4, 5 ] ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + iterator toml::array::insert(const_iterator pos, + size_t count, + ElemType&& val, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Repeatedly inserts a new element starting at a specific position in the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              countThe number of times the node or value should be inserted.
                                                                                                                              valThe node or value being inserted.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              ReturnsValid input: An iterator to the newly-inserted element. count == 0: A copy of pos Input is a null toml::node_view: + end()
                                                                                                                              +
                                                                                                                              auto arr = toml::array{
                                                                                                                              +    "with an evil twinkle in its eye the goose said",
                                                                                                                              +    "and immediately we knew peace was never an option."
                                                                                                                              +};
                                                                                                                              +arr.insert(arr.cbegin() + 1, 3, "honk");
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [
                                                                                                                              +    'with an evil twinkle in its eye the goose said',
                                                                                                                              +    'honk',
                                                                                                                              +    'honk',
                                                                                                                              +    'honk',
                                                                                                                              +    'and immediately we knew peace was never an option.'
                                                                                                                              +]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Iter> +
                                                                                                                              + iterator toml::array::insert(const_iterator pos, + Iter first, + Iter last, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Inserts a range of elements into the array at a specific position.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              IterAn iterator type. Must satisfy ForwardIterator.
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              firstIterator to the first node or value being inserted.
                                                                                                                              lastIterator to the one-past-the-last node or value being inserted.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              ReturnsValid input: An iterator to the first newly-inserted element. first >= last: A copy of pos All objects in the range were null toml::node_views: A copy of pos
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + iterator toml::array::insert(const_iterator pos, + std::initializer_list<ElemType> ilist, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Inserts a range of elements into the array at a specific position.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              ilistAn initializer list containing the values to be inserted.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              ReturnsValid input: An iterator to the first newly-inserted element. Input list is empty: A copy of pos All objects in the list were null toml::node_views: A copy of pos
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + void toml::array::push_back(ElemType&& val, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Appends a new element to the end of the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type
                                                                                                                              Parameters
                                                                                                                              valThe node or value being added.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2 };
                                                                                                                              +arr.push_back(3);
                                                                                                                              +arr.push_back(4.0);
                                                                                                                              +arr.push_back(toml::array{ 5, "six"sv });
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3, 4.0, [ 5, 'six' ] ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + iterator toml::array::replace(const_iterator pos, + ElemType&& val, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Replaces the element at a specific position in the array with a different value.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              valThe node or value being inserted.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              ReturnsValid input: An iterator to the replaced element. Input is a null toml::node_view: + end()
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +arr.replace(arr.cbegin() + 1, "two");
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3 ]
                                                                                                                              +[ 1, 'two', 3 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + void toml::array::resize(size_t new_size, + ElemType&& default_init_val, + value_flags default_init_flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Resizes the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              new_sizeThe number of elements the array will have after resizing.
                                                                                                                              default_init_valThe node or value used to initialize new elements if the array needs to grow.
                                                                                                                              default_init_flagsValue flags to apply to new values created if new elements are created by growing.
                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto arr = toml::array{ 1, 2, 3 }; +std::cout << arr << "\n"; + +arr.resize(6, 42); +std::cout << arr << "\n"; + +arr.resize(2, 0); +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3 ]
                                                                                                                              +[ 1, 2, 3, 42, 42, 42 ]
                                                                                                                              +[ 1, 2 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + void toml::array::truncate(size_t new_size) +

                                                                                                                              +

                                                                                                                              Shrinks the array to the given size.

                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto arr = toml::array{ 1, 2, 3 }; +std::cout << arr << "\n"; + +arr.truncate(5); // no-op +std::cout << arr << "\n"; + +arr.truncate(1); +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3 ]
                                                                                                                              +[ 1, 2, 3 ]
                                                                                                                              +[ 1]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::array::is_homogeneous(node_type ntype) const final noexcept +

                                                                                                                              +

                                                                                                                              Checks if the node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << "homogenous: "sv << arr.is_homogeneous(toml::node_type::none) << "\n";
                                                                                                                              +std::cout << "all floats: "sv << arr.is_homogeneous(toml::node_type::floating_point) << "\n";
                                                                                                                              +std::cout << "all arrays: "sv << arr.is_homogeneous(toml::node_type::array) << "\n";
                                                                                                                              +std::cout << "all ints:   "sv << arr.is_homogeneous(toml::node_type::integer) << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::array::is_homogeneous(node_type ntype, + node*& first_nonmatch) final noexcept +

                                                                                                                              +

                                                                                                                              Checks if a node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              first_nonmatchReference to a pointer in which the address of the first non-matching element will be stored if the return value is false.
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]");
                                                                                                                              +toml::array& arr = *cfg["arr"].as_array();
                                                                                                                              +
                                                                                                                              +toml::node* nonmatch{};
                                                                                                                              +if (arr.is_homogeneous(toml::node_type::integer, nonmatch))
                                                                                                                              +    std::cout << "array was homogeneous"sv << "\n";
                                                                                                                              +else
                                                                                                                              +    std::cout << "array was not homogeneous!\n"
                                                                                                                              +    << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
                                                                                                                              array was not homogeneous!
                                                                                                                              +first non-match was a floating-point at line 1, column 18
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node* toml::array::get(size_t index) noexcept +

                                                                                                                              +

                                                                                                                              Gets a pointer to the element at a specific index.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              indexThe element's index.
                                                                                                                              ReturnsA pointer to the element at the specified index if one existed, or nullptr.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 99, "bottles of beer on the wall" };
                                                                                                                              +std::cout << "element [0] exists: "sv << !!arr.get(0) << "\n";
                                                                                                                              +std::cout << "element [1] exists: "sv << !!arr.get(1) << "\n";
                                                                                                                              +std::cout << "element [2] exists: "sv << !!arr.get(2) << "\n";
                                                                                                                              +if (toml::node* val = arr.get(0))
                                                                                                                              +    std::cout << "element [0] is an "sv << val->type() << "\n";
                                                                                                                              element [0] exists: true
                                                                                                                              +element [1] exists: true
                                                                                                                              +element [2] exists: false
                                                                                                                              +element [0] is an integer
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const node* toml::array::get(size_t index) const noexcept +

                                                                                                                              +

                                                                                                                              Gets a pointer to the element at a specific index (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              indexThe element's index.
                                                                                                                              ReturnsA pointer to the element at the specified index if one existed, or nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + impl::wrap_node<ElemType>* toml::array::get_as(size_t index) noexcept +

                                                                                                                              +

                                                                                                                              Gets a pointer to the element at a specific index if it is a particular type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::table, toml::array, or a native TOML value type
                                                                                                                              Parameters
                                                                                                                              indexThe element's index.
                                                                                                                              ReturnsA pointer to the selected element if it existed and was of the specified type, or nullptr.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 42, "is the meaning of life, apparently."sv };
                                                                                                                              +if (toml::value<int64_t>* val = arr.get_as<int64_t>(0))
                                                                                                                              +    std::cout << "element [0] is an integer with value "sv << *val << "\n";
                                                                                                                              element [0] is an integer with value 42
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + const impl::wrap_node<ElemType>* toml::array::get_as(size_t index) const noexcept +

                                                                                                                              +

                                                                                                                              Gets a pointer to the element at a specific index if it is a particular type (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::table, toml::array, or a native TOML value type
                                                                                                                              Parameters
                                                                                                                              indexThe element's index.
                                                                                                                              ReturnsA pointer to the selected element if it existed and was of the specified type, or nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const array& rhs) +

                                                                                                                              +

                                                                                                                              Prints the array out to a stream as formatted TOML.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.0/classtoml_1_1json__formatter.html b/v3.0.0/classtoml_1_1json__formatter.html new file mode 100644 index 00000000..67d39c05 --- /dev/null +++ b/v3.0.0/classtoml_1_1json__formatter.html @@ -0,0 +1,251 @@ + + + + toml::json_formatter class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::json_formatter class +

                                                                                                                              +

                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted JSON.

                                                                                                                              + +
                                                                                                                              auto some_toml = toml::parse(R"(
                                                                                                                              +    [fruit]
                                                                                                                              +    apple.color = "red"
                                                                                                                              +    apple.taste.sweet = true
                                                                                                                              +
                                                                                                                              +    [fruit.apple.texture]
                                                                                                                              +    smooth = true
                                                                                                                              +)"sv);
                                                                                                                              +std::cout << toml::json_formatter{ some_toml } << "\n";
                                                                                                                              {
                                                                                                                              +    "fruit" : {
                                                                                                                              +        "apple" : {
                                                                                                                              +            "color" : "red",
                                                                                                                              +            "taste" : {
                                                                                                                              +                "sweet" : true
                                                                                                                              +            },
                                                                                                                              +            "texture" : {
                                                                                                                              +                "smooth" : true
                                                                                                                              +            }
                                                                                                                              +        }
                                                                                                                              +    }
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public static variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + static format_flags default_flags constexpr +
                                                                                                                              +
                                                                                                                              The default flags for a json_formatter.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + json_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a JSON formatter and binds it to a TOML object.
                                                                                                                              +
                                                                                                                              + json_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a JSON formatter and binds it to a toml::parse_result.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + json_formatter& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as JSON.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + json_formatter&& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as JSON (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::json_formatter::json_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a JSON formatter and binds it to a TOML object.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              sourceThe source TOML object.
                                                                                                                              flagsFormat option flags.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::json_formatter::json_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a JSON formatter and binds it to a toml::parse_result.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              resultThe parse result.
                                                                                                                              flagsFormat option flags.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.0/classtoml_1_1key.html b/v3.0.0/classtoml_1_1key.html new file mode 100644 index 00000000..67979983 --- /dev/null +++ b/v3.0.0/classtoml_1_1key.html @@ -0,0 +1,383 @@ + + + + toml::key class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::key class +

                                                                                                                              +

                                                                                                                              A key parsed from a TOML document.

                                                                                                                              + +

                                                                                                                              These are used as the internal keys for a toml::table:

                                                                                                                              const toml::table tbl = R"(
                                                                                                                              +    a = 1
                                                                                                                              +      b = 2
                                                                                                                              +        c = 3
                                                                                                                              +)"_toml;
                                                                                                                              +
                                                                                                                              +for (auto&& [k, v] : tbl)
                                                                                                                              +    std::cout << "key '"sv << k << "' defined at "sv << k.source() << "\n";
                                                                                                                              key 'a' defined at line 2, column 5
                                                                                                                              +key 'b' defined at line 3, column 7
                                                                                                                              +key 'c' defined at line 4, column 9
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public types

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using const_iterator = const char* +
                                                                                                                              +
                                                                                                                              A const iterator for iterating over the characters in the key.
                                                                                                                              +
                                                                                                                              + using iterator = const_iterator +
                                                                                                                              +
                                                                                                                              A const iterator for iterating over the characters in the key.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + key() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Default constructor.
                                                                                                                              +
                                                                                                                              + key(std::string_view k, + source_region&& src = {}) explicit +
                                                                                                                              +
                                                                                                                              Constructs a key from a string view and source region.
                                                                                                                              +
                                                                                                                              + key(std::string_view k, + const source_region& src) explicit +
                                                                                                                              +
                                                                                                                              Constructs a key from a string view and source region.
                                                                                                                              +
                                                                                                                              + key(std::string&& k, + source_region&& src = {}) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a key from a string and source region.
                                                                                                                              +
                                                                                                                              + key(std::string&& k, + const source_region& src) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a key from a string and source region.
                                                                                                                              +
                                                                                                                              + key(const char* k, + source_region&& src = {}) explicit +
                                                                                                                              +
                                                                                                                              Constructs a key from a c-string and source region.
                                                                                                                              +
                                                                                                                              + key(const char* k, + const source_region& src) explicit +
                                                                                                                              +
                                                                                                                              Constructs a key from a c-string view and source region.
                                                                                                                              +
                                                                                                                              + key(std::wstring_view k, + source_region&& src = {}) explicit +
                                                                                                                              +
                                                                                                                              Constructs a key from a wide string view and source region.
                                                                                                                              +
                                                                                                                              + key(std::wstring_view k, + const source_region& src) explicit +
                                                                                                                              +
                                                                                                                              Constructs a key from a wide string and source region.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality and Comparison

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              + auto operator!=(const key& lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() != rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator!=(const key& lhs, + std::string_view rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() != rhs.
                                                                                                                              +
                                                                                                                              + auto operator!=(std::string_view lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs != rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator<(const key& lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() < rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator<(const key& lhs, + std::string_view rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() < rhs.
                                                                                                                              +
                                                                                                                              + auto operator<(std::string_view lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs < rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator<=(const key& lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() <= rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator<=(const key& lhs, + std::string_view rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() <= rhs.
                                                                                                                              +
                                                                                                                              + auto operator<=(std::string_view lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs <= rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator==(const key& lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() == rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator==(const key& lhs, + std::string_view rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() == rhs.
                                                                                                                              +
                                                                                                                              + auto operator==(std::string_view lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs == rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator>(const key& lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() > rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator>(const key& lhs, + std::string_view rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() > rhs.
                                                                                                                              +
                                                                                                                              + auto operator>(std::string_view lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs > rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator>=(const key& lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() >= rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator>=(const key& lhs, + std::string_view rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() >= rhs.
                                                                                                                              +
                                                                                                                              + auto operator>=(std::string_view lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs >= rhs.str().
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Iterators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto begin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first character in the key's backing string.
                                                                                                                              +
                                                                                                                              + auto end() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last character in the key's backing string.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Metadata

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the source region responsible for specifying this key during parsing.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              String operations

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto data() const -> const char* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the start of the key's underlying string.
                                                                                                                              +
                                                                                                                              + auto empty() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the key's underlying string is empty.
                                                                                                                              +
                                                                                                                              + auto length() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the length of the key's underlying string.
                                                                                                                              +
                                                                                                                              + operator std::string_view() const noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the key's underlying string.
                                                                                                                              +
                                                                                                                              + auto str() const -> std::string_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the key's underlying string.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const key& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the key's underlying string out to the stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::key::key(std::wstring_view k, + source_region&& src = {}) explicit +

                                                                                                                              +

                                                                                                                              Constructs a key from a wide string view and source region.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::key::key(std::wstring_view k, + const source_region& src) explicit +

                                                                                                                              +

                                                                                                                              Constructs a key from a wide string and source region.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.0/classtoml_1_1node.html b/v3.0.0/classtoml_1_1node.html new file mode 100644 index 00000000..3ed70ddf --- /dev/null +++ b/v3.0.0/classtoml_1_1node.html @@ -0,0 +1,892 @@ + + + + toml::node class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::node class +

                                                                                                                              +

                                                                                                                              A TOML node.

                                                                                                                              + +

                                                                                                                              A parsed TOML document forms a tree made up of tables, arrays and values. This type is the base of each of those, providing a lot of the polymorphic plumbing.

                                                                                                                              +
                                                                                                                              +

                                                                                                                              Derived classes

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + class array +
                                                                                                                              +
                                                                                                                              A TOML array.
                                                                                                                              +
                                                                                                                              + class table +
                                                                                                                              +
                                                                                                                              A TOML table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ValueType>
                                                                                                                              + class value +
                                                                                                                              +
                                                                                                                              A TOML value.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Metadata

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the source region responsible for generating this node during parsing.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Node views

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) -> node_view<node> +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) const -> node_view<const node> +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + operator node_view<const node>() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node (const overload).
                                                                                                                              +
                                                                                                                              + operator node_view<node>() explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type casts

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() -> impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() const -> const impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type (const overload).
                                                                                                                              +
                                                                                                                              + auto as_array() -> array* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::array, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_array() const -> const array* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::array, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_boolean() -> toml::value<bool>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<bool>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_boolean() const -> const toml::value<bool>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<bool>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date() -> toml::value<date>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<toml::date>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date() const -> const toml::value<date>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<toml::date>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date_time() -> toml::value<date_time>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<toml::date_time>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date_time() const -> const toml::value<date_time>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<toml::date_time>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() -> toml::value<double>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<double>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() const -> const toml::value<double>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<double>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_integer() -> toml::value<int64_t>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<int64_t>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_integer() const -> const toml::value<int64_t>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<int64_t>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_string() -> toml::value<std::string>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<std::string>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_string() const -> const toml::value<std::string>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<std::string>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_table() -> table* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::table, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_table() const -> const table* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::table, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_time() -> toml::value<time>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<toml::time>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_time() const -> const toml::value<time>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<toml::time>, if it is one.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type checks

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto is() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node is a specific type.
                                                                                                                              +
                                                                                                                              + auto is_array() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an array.
                                                                                                                              +
                                                                                                                              + auto is_array_of_tables() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an array containing only tables.
                                                                                                                              +
                                                                                                                              + auto is_boolean() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a boolean value.
                                                                                                                              +
                                                                                                                              + auto is_date() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a local date value.
                                                                                                                              +
                                                                                                                              + auto is_date_time() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a date-time value.
                                                                                                                              +
                                                                                                                              + auto is_floating_point() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an floating-point value.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + node*& first_nonmatch) -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + const node*& first_nonmatch) const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type (const overload).
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype) const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType = void>
                                                                                                                              + auto is_homogeneous() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_integer() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an integer value.
                                                                                                                              +
                                                                                                                              + auto is_number() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an integer or floating-point value.
                                                                                                                              +
                                                                                                                              + auto is_string() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a string value.
                                                                                                                              +
                                                                                                                              + auto is_table() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a table.
                                                                                                                              +
                                                                                                                              + auto is_time() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a local time value.
                                                                                                                              +
                                                                                                                              + auto is_value() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a value.
                                                                                                                              +
                                                                                                                              + auto type() const -> node_type pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns the node's type identifier.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Value retrieval

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_exact() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_or(T&& default_value) const -> auto noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the raw value contained by this node, or a default.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Visitation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::node::at_path(std::string_view path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::node::at_path(std::string_view path) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::node::at_path(std::wstring_view path) +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::node::at_path(std::wstring_view path) const +

                                                                                                                              +

                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + impl::wrap_node<T>* toml::node::as() noexcept +

                                                                                                                              +

                                                                                                                              Gets a pointer to the node as a more specific node type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TThe node type or TOML value type to cast to.
                                                                                                                              ReturnsA pointer to the node as the given type, or nullptr if it was a different type.
                                                                                                                              +
                                                                                                                              toml::value<int64_t>* int_value = node->as<int64_t>();
                                                                                                                              +toml::table* tbl = node->as<toml::table>();
                                                                                                                              +if (int_value)
                                                                                                                              +    std::cout << "Node is a value<int64_t>\n";
                                                                                                                              +else if (tbl)
                                                                                                                              +    std::cout << "Node is a table\n";
                                                                                                                              +
                                                                                                                              +// fully-qualified value node types also work (useful for template code):
                                                                                                                              +toml::value<int64_t>* int_value2 = node->as<toml::value<int64_t>>();
                                                                                                                              +if (int_value2)
                                                                                                                              +    std::cout << "Node is a value<int64_t>\n";
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::node::is() const noexcept +

                                                                                                                              +

                                                                                                                              Checks if a node is a specific type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TA TOML node or value type.
                                                                                                                              ReturnsReturns true if this node is an instance of the specified type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::node::is_homogeneous(node_type ntype, + node*& first_nonmatch) pure virtual noexcept +

                                                                                                                              +

                                                                                                                              Checks if a node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              first_nonmatchReference to a pointer in which the address of the first non-matching element will be stored if the return value is false.
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]");
                                                                                                                              +toml::array& arr = *cfg["arr"].as_array();
                                                                                                                              +
                                                                                                                              +toml::node* nonmatch{};
                                                                                                                              +if (arr.is_homogeneous(toml::node_type::integer, nonmatch))
                                                                                                                              +    std::cout << "array was homogeneous"sv << "\n";
                                                                                                                              +else
                                                                                                                              +    std::cout << "array was not homogeneous!\n"
                                                                                                                              +    << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
                                                                                                                              array was not homogeneous!
                                                                                                                              +first non-match was a floating-point at line 1, column 18
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::node::is_homogeneous(node_type ntype) const pure virtual noexcept +

                                                                                                                              +

                                                                                                                              Checks if the node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << "homogenous: "sv << arr.is_homogeneous(toml::node_type::none) << "\n";
                                                                                                                              +std::cout << "all floats: "sv << arr.is_homogeneous(toml::node_type::floating_point) << "\n";
                                                                                                                              +std::cout << "all arrays: "sv << arr.is_homogeneous(toml::node_type::array) << "\n";
                                                                                                                              +std::cout << "all ints:   "sv << arr.is_homogeneous(toml::node_type::integer) << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType = void> +
                                                                                                                              + bool toml::node::is_homogeneous() const noexcept +

                                                                                                                              +

                                                                                                                              Checks if the node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypeA TOML node or value type.
                                                                                                                              Left as void: "is every element the same type?"
                                                                                                                              Explicitly specified: "is every element a T?"
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << "homogenous:   "sv << arr.is_homogeneous() << "\n";
                                                                                                                              +std::cout << "all doubles:  "sv << arr.is_homogeneous<double>() << "\n";
                                                                                                                              +std::cout << "all arrays:   "sv << arr.is_homogeneous<toml::array>() << "\n";
                                                                                                                              +std::cout << "all integers: "sv << arr.is_homogeneous<int64_t>() << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + decltype(auto) toml::node::ref() & noexcept +

                                                                                                                              +

                                                                                                                              Gets a raw reference to a node's underlying data.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              Ttoml::table, toml::array, or one of the TOML value types.
                                                                                                                              ReturnsA reference to the underlying data.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + optional<T> toml::node::value() const noexcept(…) +

                                                                                                                              +

                                                                                                                              Gets the value contained by this node.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the native TOML value types, or a type capable of converting to one.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or convertible to it) and within the range of the output type, or an empty optional.
                                                                                                                              +

                                                                                                                              This function has 'permissive' retrieval semantics; some value types are allowed to convert to others (e.g. retrieving a boolean as an integer), and the specified return value type can be any type where a reasonable conversion from a native TOML value exists (e.g. std::wstring on Windows). If the source value cannot be represented by the destination type, an empty optional is returned.

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto tbl = toml::parse(R"( + int = -10 + flt = 25.0 + pi = 3.14159 + bool = false + huge = 9223372036854775807 + str = "foo" +)"sv); + +const auto print_value_with_typename = + [&](std::string_view key, std::string_view type_name, auto* dummy) + { + std::cout << "- " << std::setw(18) << std::left << type_name; + using type = std::remove_pointer_t<decltype(dummy)>; + if (std::optional<type> val = tbl.get(key)->value<type>()) + std::cout << *val << "\n"; + else + std::cout << "n/a\n"; + }; + +#define print_value(key, T) print_value_with_typename(key, #T, (T*)nullptr) + +for (auto key : { "int", "flt", "pi", "bool", "huge", "str" }) +{ + std::cout << tbl[key].type() << " value '" << key << "' as:\n"; + print_value(key, bool); + print_value(key, int); + print_value(key, unsigned int); + print_value(key, long long); + print_value(key, float); + print_value(key, double); + print_value(key, std::string); + print_value(key, std::string_view); + print_value(key, const char*); + std::cout << "\n"; +}
                                                                                                                              integer value 'int' as:
                                                                                                                              +- bool              true
                                                                                                                              +- int               -10
                                                                                                                              +- unsigned int      n/a
                                                                                                                              +- long long         -10
                                                                                                                              +- float             -10
                                                                                                                              +- double            -10
                                                                                                                              +- std::string       n/a
                                                                                                                              +- std::string_view  n/a
                                                                                                                              +- const char*       n/a
                                                                                                                              +
                                                                                                                              +floating-point value 'flt' as:
                                                                                                                              +- bool              n/a
                                                                                                                              +- int               25
                                                                                                                              +- unsigned int      25
                                                                                                                              +- long long         25
                                                                                                                              +- float             25
                                                                                                                              +- double            25
                                                                                                                              +- std::string       n/a
                                                                                                                              +- std::string_view  n/a
                                                                                                                              +- const char*       n/a
                                                                                                                              +
                                                                                                                              +floating-point value 'pi' as:
                                                                                                                              +- bool              n/a
                                                                                                                              +- int               n/a
                                                                                                                              +- unsigned int      n/a
                                                                                                                              +- long long         n/a
                                                                                                                              +- float             3.14159
                                                                                                                              +- double            3.14159
                                                                                                                              +- std::string       n/a
                                                                                                                              +- std::string_view  n/a
                                                                                                                              +- const char*       n/a
                                                                                                                              +
                                                                                                                              +boolean value 'bool' as:
                                                                                                                              +- bool              false
                                                                                                                              +- int               0
                                                                                                                              +- unsigned int      0
                                                                                                                              +- long long         0
                                                                                                                              +- float             n/a
                                                                                                                              +- double            n/a
                                                                                                                              +- std::string       n/a
                                                                                                                              +- std::string_view  n/a
                                                                                                                              +- const char*       n/a
                                                                                                                              +
                                                                                                                              +integer value 'huge' as:
                                                                                                                              +- bool              true
                                                                                                                              +- int               n/a
                                                                                                                              +- unsigned int      n/a
                                                                                                                              +- long long         9223372036854775807
                                                                                                                              +- float             n/a
                                                                                                                              +- double            n/a
                                                                                                                              +- std::string       n/a
                                                                                                                              +- std::string_view  n/a
                                                                                                                              +- const char*       n/a
                                                                                                                              +
                                                                                                                              +string value 'str' as:
                                                                                                                              +- bool              n/a
                                                                                                                              +- int               n/a
                                                                                                                              +- unsigned int      n/a
                                                                                                                              +- long long         n/a
                                                                                                                              +- float             n/a
                                                                                                                              +- double            n/a
                                                                                                                              +- std::string       foo
                                                                                                                              +- std::string_view  foo
                                                                                                                              +- const char*       foo
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + optional<T> toml::node::value_exact() const noexcept(…) +

                                                                                                                              +

                                                                                                                              Gets the value contained by this node.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the native TOML value types, or a type capable of losslessly representing one.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or losslessly convertible to it), or an empty optional.
                                                                                                                              +

                                                                                                                              This function has 'exact' retrieval semantics; the only return value types allowed are the TOML native value types, or types that can losslessly represent a native value type (e.g. std::wstring on Windows).

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + auto toml::node::value_or(T&& default_value) const noexcept(…) +

                                                                                                                              +

                                                                                                                              Gets the raw value contained by this node, or a default.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TDefault value type. Must be one of the native TOML value types, or convertible to it.
                                                                                                                              Parameters
                                                                                                                              default_valueThe default value to return if the node wasn't a value, wasn't the correct type, or no conversion was possible.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or convertible to it) and within the range of the output type, or the provided default.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Func> +
                                                                                                                              + decltype(auto) toml::node::visit(Func&& visitor) & noexcept(…) +

                                                                                                                              +

                                                                                                                              Invokes a visitor on the node based on the node's concrete type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              FuncA callable type invocable with one or more of the toml++ node types.
                                                                                                                              Parameters
                                                                                                                              visitorThe visitor object.
                                                                                                                              ReturnsThe return value of the visitor. Can be void. Non-exhaustive visitors must return a default-constructible type.
                                                                                                                              +

                                                                                                                              Visitation is useful when you expect a node to be one of a set number of types and need to handle these types differently. Using visit() allows you to eliminate some of the casting/conversion boilerplate:

                                                                                                                              node.visit([](auto&& n)
                                                                                                                              +{
                                                                                                                              +    if constexpr (toml::is_string<decltype(n)>)
                                                                                                                              +        do_something_with_a_string(*n)); //n is a toml::value<std::string>
                                                                                                                              +    else if constexpr (toml::is_integer<decltype(n)>)
                                                                                                                              +        do_something_with_an_int(*n); //n is a toml::value<int64_t>
                                                                                                                              +    else
                                                                                                                              +        throw std::exception{ "Expected string or integer" };
                                                                                                                              +});
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.0/classtoml_1_1node__view.html b/v3.0.0/classtoml_1_1node__view.html new file mode 100644 index 00000000..15d20936 --- /dev/null +++ b/v3.0.0/classtoml_1_1node__view.html @@ -0,0 +1,897 @@ + + + + toml::node_view class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              template <typename ViewedType>
                                                                                                                              + toml::node_view class +

                                                                                                                              +

                                                                                                                              A view of a node.

                                                                                                                              + +

                                                                                                                              A node_view is like a std::optional<toml::node&> (if such a construct were legal), with lots of toml-specific stuff built-in. It may represent a node, and allows you to do many of the same operations that you'd do on nodes directly, as well as easily traversing the node tree by creating subviews (via node_view::operator[]).

                                                                                                                              auto tbl = toml::parse(R"(
                                                                                                                              +
                                                                                                                              +    title = "my hardware store"
                                                                                                                              +
                                                                                                                              +    [[products]]
                                                                                                                              +    name = "Hammer"
                                                                                                                              +    sku = 738594937
                                                                                                                              +    keywords = [ "hammer", "construction", "build" ]
                                                                                                                              +
                                                                                                                              +    [[products]]
                                                                                                                              +    name = "Nail"
                                                                                                                              +    sku = 284758393
                                                                                                                              +    color = "gray"
                                                                                                                              +
                                                                                                                              +)"sv);
                                                                                                                              +
                                                                                                                              +std::cout << tbl["title"] << "\n";
                                                                                                                              +std::cout << tbl["products"][0]["name"] << "\n";
                                                                                                                              +std::cout << tbl["products"][0]["keywords"] << "\n";
                                                                                                                              +std::cout << tbl["products"][0]["keywords"][2] << "\n";
                                                                                                                              +
                                                                                                                              +tbl["products"][0]["keywords"].as_array()->push_back("heavy");
                                                                                                                              +std::cout << tbl["products"][0]["keywords"] << "\n";
                                                                                                                              +std::cout << "has product[2]: "sv << !!tbl["products"][2] << "\n";
                                                                                                                              +std::cout << "product[2]: "sv << tbl["products"][2] << "\n";
                                                                                                                              "my hardware store"
                                                                                                                              +"Hammer"
                                                                                                                              +[ "hammer", "construction", "build" ]
                                                                                                                              +"build"
                                                                                                                              +[ "hammer", "construction", "build", "heavy" ]
                                                                                                                              +has product[2]: false
                                                                                                                              +product[2]:
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public types

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using viewed_type = ViewedType +
                                                                                                                              +
                                                                                                                              The node type being viewed - either node or const node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + node_view() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Constructs an empty node view.
                                                                                                                              +
                                                                                                                              + node_view(viewed_type* node) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs node_view of a specific node.
                                                                                                                              +
                                                                                                                              + node_view(viewed_type& node) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs node_view of a specific node.
                                                                                                                              +
                                                                                                                              + node_view(const node_view&) defaulted noexcept +
                                                                                                                              +
                                                                                                                              Copy constructor.
                                                                                                                              +
                                                                                                                              + node_view(node_view&&) defaulted noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              + operator bool() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the view references a node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto node() const -> viewed_type* noexcept +
                                                                                                                              +
                                                                                                                              Returns the node that's being referenced by the view.
                                                                                                                              +
                                                                                                                              + auto operator=(const node_view&) & -> node_view& defaulted noexcept +
                                                                                                                              +
                                                                                                                              Copy-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(node_view&&) & -> node_view& defaulted noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator!=(const node_view& lhs, + const node_view<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the two views do not refer to nodes of the same type and value.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const node_view& lhs, + const node_view<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the two views refer to nodes of the same type and value.
                                                                                                                              +
                                                                                                                              + auto operator==(const node_view& lhs, + const table& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a table with the same contents as RHS.
                                                                                                                              +
                                                                                                                              + auto operator==(const node_view& lhs, + const array& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is an array with the same contents as RHS.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const node_view& lhs, + const toml::value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a value with the same value as RHS.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const node_view& lhs, + const T& rhs) -> bool noexcept(…) +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a value with the same value as RHS.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const node_view& lhs, + const std::initializer_list<T>& rhs) -> bool noexcept(…) +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is an array with the same contents as the RHS initializer list.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const node_view& lhs, + const std::vector<T>& rhs) -> bool noexcept(…) +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is an array with the same contents as the RHS vector.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Subviews

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) const -> node_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) const -> node_view +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto operator[](std::string_view key) const -> node_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the selected subnode.
                                                                                                                              +
                                                                                                                              + auto operator[](std::wstring_view key) const -> node_view +
                                                                                                                              +
                                                                                                                              Returns a view of the selected subnode.
                                                                                                                              +
                                                                                                                              + auto operator[](size_t index) const -> node_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the selected subnode.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type casts

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the viewed node as a more specific node type.
                                                                                                                              +
                                                                                                                              + auto as_array() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::array, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_boolean() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<bool>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<date>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date_time() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<date_time>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<double>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_integer() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<int64_t>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_string() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<string>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_table() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::table, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_time() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<time>, if it is one.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type checks

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto is() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if this view references a node of a specific type.
                                                                                                                              +
                                                                                                                              + auto is_array() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::array.
                                                                                                                              +
                                                                                                                              + auto is_array_of_tables() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::array that contains only tables.
                                                                                                                              +
                                                                                                                              + auto is_boolean() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<bool>.
                                                                                                                              +
                                                                                                                              + auto is_date() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<date>.
                                                                                                                              +
                                                                                                                              + auto is_date_time() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<date_time>.
                                                                                                                              +
                                                                                                                              + auto is_floating_point() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<double>.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + viewed_type*& first_nonmatch) const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the viewed node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype) const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the viewed node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType = void>
                                                                                                                              + auto is_homogeneous() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the viewed node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_integer() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<int64_t>.
                                                                                                                              +
                                                                                                                              + auto is_number() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<int64_t> or toml::value<double>.
                                                                                                                              +
                                                                                                                              + auto is_string() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<string>.
                                                                                                                              +
                                                                                                                              + auto is_table() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::table.
                                                                                                                              +
                                                                                                                              + auto is_time() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<time>.
                                                                                                                              +
                                                                                                                              + auto is_value() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<>.
                                                                                                                              +
                                                                                                                              + auto type() const -> node_type noexcept +
                                                                                                                              +
                                                                                                                              Returns the type identifier for the viewed node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Value retrieval

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to the viewed node's underlying data.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by the referenced node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_exact() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by the referenced node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_or(T&& default_value) const -> auto noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the raw value contained by the referenced node, or a default.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Visitation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the viewed node based on its concrete type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& os, + const node_view& nv) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the viewed node out to a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::at_path(std::string_view path) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::at_path(std::wstring_view path) const +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::operator[](std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the selected subnode.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key of the node to retrieve
                                                                                                                              ReturnsA view of the selected node if this node represented a table and it contained a value at the given key, or an empty view.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::operator[](std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Returns a view of the selected subnode.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key of the node to retrieve
                                                                                                                              ReturnsA view of the selected node if this node represented a table and it contained a value at the given key, or an empty view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::operator[](size_t index) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the selected subnode.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              indexThe index of the node to retrieve
                                                                                                                              ReturnsA view of the selected node if this node represented an array and it contained a value at the given index, or an empty view.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + auto* toml::node_view::as() const noexcept +

                                                                                                                              +

                                                                                                                              Gets a pointer to the viewed node as a more specific node type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TThe node type or TOML value type to cast to.
                                                                                                                              ReturnsA pointer to the node as the given type, or nullptr if it was a different type.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::node_view::is() const noexcept +

                                                                                                                              +

                                                                                                                              Checks if this view references a node of a specific type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TA TOML node or value type.
                                                                                                                              ReturnsReturns true if the viewed node is an instance of the specified type.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + bool toml::node_view::is_homogeneous(node_type ntype, + viewed_type*& first_nonmatch) const noexcept +

                                                                                                                              +

                                                                                                                              Checks if the viewed node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              first_nonmatchReference to a pointer in which the address of the first non-matching element will be stored if the return value is false.
                                                                                                                              ReturnsTrue if the viewed node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]");
                                                                                                                              +
                                                                                                                              +toml::node* nonmatch{};
                                                                                                                              +if (cfg["arr"].is_homogeneous(toml::node_type::integer, nonmatch))
                                                                                                                              +    std::cout << "array was homogeneous"sv << "\n";
                                                                                                                              +else
                                                                                                                              +    std::cout << "array was not homogeneous!\n"
                                                                                                                              +    << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
                                                                                                                              array was not homogeneous!
                                                                                                                              +first non-match was a floating-point at line 1, column 18
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + bool toml::node_view::is_homogeneous(node_type ntype) const noexcept +

                                                                                                                              +

                                                                                                                              Checks if the viewed node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              ReturnsTrue if the viewed node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3 ]");
                                                                                                                              +std::cout << "homogenous: "sv << cfg["arr"].is_homogeneous(toml::node_type::none) << "\n";
                                                                                                                              +std::cout << "all floats: "sv << cfg["arr"].is_homogeneous(toml::node_type::floating_point) << "\n";
                                                                                                                              +std::cout << "all arrays: "sv << cfg["arr"].is_homogeneous(toml::node_type::array) << "\n";
                                                                                                                              +std::cout << "all ints:   "sv << cfg["arr"].is_homogeneous(toml::node_type::integer) << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename ElemType = void> +
                                                                                                                              + bool toml::node_view::is_homogeneous() const noexcept +

                                                                                                                              +

                                                                                                                              Checks if the viewed node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypeA TOML node or value type.
                                                                                                                              Left as void: "is every element the same type?"
                                                                                                                              Explicitly specified: "is every element a T?"
                                                                                                                              ReturnsTrue if the viewed node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3 ]");
                                                                                                                              +std::cout << "homogenous:   "sv << cfg["arr"].is_homogeneous() << "\n";
                                                                                                                              +std::cout << "all doubles:  "sv << cfg["arr"].is_homogeneous<double>() << "\n";
                                                                                                                              +std::cout << "all arrays:   "sv << cfg["arr"].is_homogeneous<toml::array>() << "\n";
                                                                                                                              +std::cout << "all integers: "sv << cfg["arr"].is_homogeneous<int64_t>() << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + decltype(auto) toml::node_view::ref() const noexcept +

                                                                                                                              +

                                                                                                                              Gets a raw reference to the viewed node's underlying data.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the TOML value types.
                                                                                                                              ReturnsA reference to the underlying data.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + optional<T> toml::node_view::value() const noexcept(…) +

                                                                                                                              +

                                                                                                                              Gets the value contained by the referenced node.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the native TOML value types, or a type capable of convertible to one.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or convertible to it) and within the range of the output type, or an empty optional.
                                                                                                                              +

                                                                                                                              This function has 'permissive' retrieval semantics; some value types are allowed to convert to others (e.g. retrieving a boolean as an integer), and the specified return value type can be any type where a reasonable conversion from a native TOML value exists (e.g. std::wstring on Windows). If the source value cannot be represented by the destination type, an empty optional is returned. See node::value() for examples.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + optional<T> toml::node_view::value_exact() const noexcept(…) +

                                                                                                                              +

                                                                                                                              Gets the value contained by the referenced node.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the native TOML value types, or a type capable of losslessly representing one.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or losslessly convertible to it), or an empty optional.
                                                                                                                              +

                                                                                                                              This function has 'exact' retrieval semantics; the only return value types allowed are the TOML native value types, or types that can losslessly represent a native value type (e.g. std::wstring on Windows).

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + auto toml::node_view::value_or(T&& default_value) const noexcept(…) +

                                                                                                                              +

                                                                                                                              Gets the raw value contained by the referenced node, or a default.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TDefault value type. Must be one of the native TOML value types, or convertible to it.
                                                                                                                              Parameters
                                                                                                                              default_valueThe default value to return if the node wasn't a value, wasn't the correct type, or no conversion was possible.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or convertible to it) and within the range of the output type, or the provided default.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename Func> +
                                                                                                                              + decltype(auto) toml::node_view::visit(Func&& visitor) const noexcept(…) +

                                                                                                                              +

                                                                                                                              Invokes a visitor on the viewed node based on its concrete type.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + std::ostream& operator<<(std::ostream& os, + const node_view& nv) +

                                                                                                                              +

                                                                                                                              Prints the viewed node out to a stream.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.0/classtoml_1_1parse__error.html b/v3.0.0/classtoml_1_1parse__error.html new file mode 100644 index 00000000..3b6f6f87 --- /dev/null +++ b/v3.0.0/classtoml_1_1parse__error.html @@ -0,0 +1,206 @@ + + + + toml::parse_error class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::parse_error class +

                                                                                                                              +

                                                                                                                              An error generated when parsing fails.

                                                                                                                              + + +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto description() const -> std::string_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a textual description of the error.
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the region of the source document responsible for the error.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const parse_error& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a parse_error to a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::string_view toml::parse_error::description() const noexcept +

                                                                                                                              +

                                                                                                                              Returns a textual description of the error.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const parse_error& rhs) +

                                                                                                                              +

                                                                                                                              Prints a parse_error to a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe stream.
                                                                                                                              rhsThe parse_error.
                                                                                                                              ReturnsThe input stream.
                                                                                                                              +
                                                                                                                              try
                                                                                                                              +{
                                                                                                                              +    auto tbl = toml::parse("enabled = trUe"sv);
                                                                                                                              +}
                                                                                                                              +catch (const toml::parse_error & err)
                                                                                                                              +{
                                                                                                                              +    std::cerr << "Parsing failed:\n"sv << err << "\n";
                                                                                                                              +}
                                                                                                                              Parsing failed:
                                                                                                                              +Encountered unexpected character while parsing boolean; expected 'true', saw 'trU'
                                                                                                                              +    (error occurred at line 1, column 13)
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.0/classtoml_1_1parse__result.html b/v3.0.0/classtoml_1_1parse__result.html new file mode 100644 index 00000000..6fc60336 --- /dev/null +++ b/v3.0.0/classtoml_1_1parse__result.html @@ -0,0 +1,494 @@ + + + + toml::parse_result class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::parse_result class +

                                                                                                                              +

                                                                                                                              The result of a parsing operation.

                                                                                                                              + +

                                                                                                                              A parse_result is effectively a discriminated union containing either a toml::table or a toml::parse_error. Most member functions assume a particular one of these two states, and calling them when in the wrong state will cause errors (e.g. attempting to access the error object when parsing was successful).

                                                                                                                              toml::parse_result result = toml::parse_file("config.toml");
                                                                                                                              +if (result)
                                                                                                                              +    do_stuff_with_a_table(result); //implicitly converts to table&
                                                                                                                              +else
                                                                                                                              +    std::cerr << "Parse failed:\n"sv << result.error() << "\n";
                                                                                                                              example output:
                                                                                                                              +
                                                                                                                              +Parse failed:
                                                                                                                              +Encountered unexpected character while parsing boolean; expected 'true', saw 'trU'
                                                                                                                              +    (error occurred at line 1, column 13 of 'config.toml')

                                                                                                                              Getting node_views (operator[], at_path()) and using the iterator accessor functions (begin(), end() etc.) are unconditionally safe; when parsing fails these just return 'empty' values. A ranged-for loop on a failed parse_result is also safe since begin() and end() return the same iterator and will not lead to any dereferences and iterations.

                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + parse_result() noexcept +
                                                                                                                              +
                                                                                                                              Default constructs an 'error' result.
                                                                                                                              +
                                                                                                                              + parse_result(parse_result&& res) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              + ~parse_result() noexcept +
                                                                                                                              +
                                                                                                                              Destructor.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator=(parse_result&& rhs) -> parse_result& noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Failed parses

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto error() & -> parse_error& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error.
                                                                                                                              +
                                                                                                                              + auto error() && -> parse_error&& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto error() const & -> const parse_error& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error (const lvalue overload).
                                                                                                                              +
                                                                                                                              + operator const parse_error&() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error (const lvalue overload).
                                                                                                                              +
                                                                                                                              + operator parse_error&() explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error.
                                                                                                                              +
                                                                                                                              + operator parse_error&&() explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Iterators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using const_iterator = const_table_iterator +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over const key-value pairs in a wrapped toml::table.
                                                                                                                              +
                                                                                                                              + using iterator = table_iterator +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over key-value pairs in a wrapped toml::table.
                                                                                                                              +
                                                                                                                              + auto begin() -> table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto begin() const -> const_table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto cbegin() const -> const_table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto cend() const -> const_table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto end() -> table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto end() const -> const_table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Node views

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto operator[](std::string_view key) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto operator[](std::string_view key) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table (const overload).
                                                                                                                              +
                                                                                                                              + auto operator[](std::wstring_view key) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto operator[](std::wstring_view key) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Result state

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto failed() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if parsing failed.
                                                                                                                              +
                                                                                                                              + operator bool() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns true if parsing succeeded.
                                                                                                                              +
                                                                                                                              + auto succeeded() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if parsing succeeeded.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Successful parses

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + operator const toml::table&() const noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table (const lvalue overload).
                                                                                                                              +
                                                                                                                              + operator toml::table&() noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table.
                                                                                                                              +
                                                                                                                              + operator toml::table&&() noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto table() & -> toml::table& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table.
                                                                                                                              +
                                                                                                                              + auto table() && -> toml::table&& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto table() const & -> const toml::table& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& os, + const parse_result& result) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the held error or table object out to a text stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + table_iterator toml::parse_result::begin() noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_table_iterator toml::parse_result::begin() const noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_table_iterator toml::parse_result::cbegin() const noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::parse_result::at_path(std::string_view path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::parse_result::at_path(std::string_view path) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::parse_result::at_path(std::wstring_view path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::parse_result::at_path(std::wstring_view path) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::parse_result::operator[](std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if parsing was successful and a matching key existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::parse_result::operator[](std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if parsing was successful and a matching key existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::parse_result::operator[](std::wstring_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if parsing was successful and a matching key existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::parse_result::operator[](std::wstring_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if parsing was successful and a matching key existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& os, + const parse_result& result) +

                                                                                                                              +

                                                                                                                              Prints the held error or table object out to a text stream.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.0/classtoml_1_1table.html b/v3.0.0/classtoml_1_1table.html new file mode 100644 index 00000000..6a48b416 --- /dev/null +++ b/v3.0.0/classtoml_1_1table.html @@ -0,0 +1,2024 @@ + + + + toml::table class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::table class +

                                                                                                                              +

                                                                                                                              A TOML table.

                                                                                                                              + +

                                                                                                                              The interface of this type is modeled after std::map, with some additional considerations made for the heterogeneous nature of a TOML table.

                                                                                                                              toml::table tbl = toml::parse(R"(
                                                                                                                              +
                                                                                                                              +    [animals]
                                                                                                                              +    cats = [ "tiger", "lion", "puma" ]
                                                                                                                              +    birds = [ "macaw", "pigeon", "canary" ]
                                                                                                                              +    fish = [ "salmon", "trout", "carp" ]
                                                                                                                              +
                                                                                                                              +)"sv);
                                                                                                                              +
                                                                                                                              +// operator[] retrieves node-views
                                                                                                                              +std::cout << "cats: " << tbl["animals"]["cats"] << "\n";
                                                                                                                              +std::cout << "fish[1]: " << tbl["animals"]["fish"][1] << "\n";
                                                                                                                              +
                                                                                                                              +// at_path() does fully-qualified "toml path" lookups
                                                                                                                              +std::cout << "cats: " << tbl.at_path("animals.cats") << "\n";
                                                                                                                              +std::cout << "fish[1]: " << tbl.at_path("animals.fish[1]") << "\n";
                                                                                                                              cats: ['tiger', 'lion', 'puma']
                                                                                                                              +fish[1] : 'trout'
                                                                                                                              +cats : ['tiger', 'lion', 'puma']
                                                                                                                              +fish[1] : 'trout'
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Base classes

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + class node +
                                                                                                                              +
                                                                                                                              A TOML node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + table() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Default constructor.
                                                                                                                              +
                                                                                                                              + table(const table&) +
                                                                                                                              +
                                                                                                                              Copy constructor.
                                                                                                                              +
                                                                                                                              + table(table&& other) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              + table(std::initializer_list<impl::table_init_pair> kvps) explicit +
                                                                                                                              +
                                                                                                                              Constructs a table with one or more initial key-value pairs.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator=(const table&) -> table& +
                                                                                                                              +
                                                                                                                              Copy-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(table&& rhs) -> table& noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const table& lhs, + const table& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const table& lhs, + const table& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Erasure

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + void clear() noexcept +
                                                                                                                              +
                                                                                                                              Removes all key-value pairs from the table.
                                                                                                                              +
                                                                                                                              + auto erase(iterator pos) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Removes the specified key-value pair from the table.
                                                                                                                              +
                                                                                                                              + auto erase(const_iterator pos) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Removes the specified key-value pair from the table (const iterator overload).
                                                                                                                              +
                                                                                                                              + auto erase(const_iterator begin, + const_iterator end) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Removes the key-value pairs in the range [first, last) from the table.
                                                                                                                              +
                                                                                                                              + auto erase(std::string_view key) -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Removes the value with the given key from the table.
                                                                                                                              +
                                                                                                                              + auto erase(std::wstring_view key) -> size_t +
                                                                                                                              +
                                                                                                                              Removes the value with the given key from the table.
                                                                                                                              +
                                                                                                                              + auto prune(bool recursive = true) & -> table& noexcept +
                                                                                                                              +
                                                                                                                              Removes empty child arrays and tables.
                                                                                                                              +
                                                                                                                              + auto prune(bool recursive = true) && -> table&& noexcept +
                                                                                                                              +
                                                                                                                              Removes empty child arrays and tables (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Insertion and Emplacement

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ValueType, typename KeyType, typename... ValueArgs>
                                                                                                                              + auto emplace(KeyType&& key, + ValueArgs && ... args) -> std::pair<iterator, bool> +
                                                                                                                              +
                                                                                                                              Emplaces a new value at a specific key if one did not already exist.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ValueType, typename KeyType, typename... ValueArgs>
                                                                                                                              + auto emplace_hint(const_iterator hint, + KeyType&& key, + ValueArgs && ... args) -> iterator +
                                                                                                                              +
                                                                                                                              Emplaces a new value at a specific key if one did not already exist.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename KeyType, typename ValueType>
                                                                                                                              + auto insert(KeyType&& key, + ValueType&& val, + value_flags flags = preserve_source_value_flags) -> std::pair<iterator, bool> +
                                                                                                                              +
                                                                                                                              Inserts a new value at a specific key if one did not already exist.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Iter>
                                                                                                                              + void insert(Iter begin, + Iter end, + value_flags flags = preserve_source_value_flags) +
                                                                                                                              +
                                                                                                                              Inserts a series of key-value pairs into the table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename KeyType, typename ValueType>
                                                                                                                              + auto insert_or_assign(KeyType&& key, + ValueType&& val, + value_flags flags = preserve_source_value_flags) -> std::pair<iterator, bool> +
                                                                                                                              +
                                                                                                                              Inserts or assigns a value at a specific key.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Iterators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using const_iterator = toml::const_table_iterator +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over const key-value pairs in a toml::table.
                                                                                                                              +
                                                                                                                              + using iterator = toml::table_iterator +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over key-value pairs in a toml::table.
                                                                                                                              +
                                                                                                                              + auto begin() -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair.
                                                                                                                              +
                                                                                                                              + auto begin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair.
                                                                                                                              +
                                                                                                                              + auto cbegin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair.
                                                                                                                              +
                                                                                                                              + auto cend() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair.
                                                                                                                              +
                                                                                                                              + auto end() -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair.
                                                                                                                              +
                                                                                                                              + auto end() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Metadata

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto is_inline() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this table is an inline table.
                                                                                                                              +
                                                                                                                              + void is_inline(bool val) noexcept +
                                                                                                                              +
                                                                                                                              Sets whether this table is a TOML inline table.
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the source region responsible for generating this node during parsing.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Node views

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) -> node_view<node> +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) const -> node_view<const node> +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + operator node_view<const node>() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node (const overload).
                                                                                                                              +
                                                                                                                              + operator node_view<node>() explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node.
                                                                                                                              +
                                                                                                                              + auto operator[](std::string_view key) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected value.
                                                                                                                              +
                                                                                                                              + auto operator[](std::string_view key) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected value (const overload).
                                                                                                                              +
                                                                                                                              + auto operator[](std::wstring_view key) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected value.
                                                                                                                              +
                                                                                                                              + auto operator[](std::wstring_view key) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected value (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Searching

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto contains(std::string_view key) const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the table contains a node at the given key.
                                                                                                                              +
                                                                                                                              + auto contains(std::wstring_view key) const -> bool +
                                                                                                                              +
                                                                                                                              Returns true if the table contains a node at the given key.
                                                                                                                              +
                                                                                                                              + auto find(std::string_view key) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Gets an iterator to the node at a specific key.
                                                                                                                              +
                                                                                                                              + auto find(std::string_view key) const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Gets an iterator to the node at a specific key (const overload)
                                                                                                                              +
                                                                                                                              + auto find(std::wstring_view key) -> iterator +
                                                                                                                              +
                                                                                                                              Gets an iterator to the node at a specific key.
                                                                                                                              +
                                                                                                                              + auto find(std::wstring_view key) const -> const_iterator +
                                                                                                                              +
                                                                                                                              Gets an iterator to the node at a specific key (const overload).
                                                                                                                              +
                                                                                                                              + auto lower_bound(std::string_view key) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair with key that is not less than the given key.
                                                                                                                              +
                                                                                                                              + auto lower_bound(std::string_view key) const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns a const iterator to the first key-value pair with key that is not less than the given key.
                                                                                                                              +
                                                                                                                              + auto lower_bound(std::wstring_view key) -> iterator +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair with key that is not less than the given key.
                                                                                                                              +
                                                                                                                              + auto lower_bound(std::wstring_view key) const -> const_iterator +
                                                                                                                              +
                                                                                                                              Returns a const iterator to the first key-value pair with key that is not less than the given key.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Size and Capacity

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto empty() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the table is empty.
                                                                                                                              +
                                                                                                                              + auto size() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the number of key-value pairs in the table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type casts

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() -> impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() const -> const impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type (const overload).
                                                                                                                              +
                                                                                                                              + auto as_array() -> array* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_array() const -> const array* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_boolean() -> toml::value<bool>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_boolean() const -> const toml::value<bool>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date() -> toml::value<date>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date() const -> const toml::value<date>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date_time() -> toml::value<date_time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date_time() const -> const toml::value<date_time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() -> toml::value<double>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() const -> const toml::value<double>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_integer() -> toml::value<int64_t>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_integer() const -> const toml::value<int64_t>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_string() -> toml::value<std::string>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_string() const -> const toml::value<std::string>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_table() -> table* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the table.
                                                                                                                              +
                                                                                                                              + auto as_table() const -> const table* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the table.
                                                                                                                              +
                                                                                                                              + auto as_time() -> toml::value<time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_time() const -> const toml::value<time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type checks

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto is() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node is a specific type.
                                                                                                                              +
                                                                                                                              + auto is_array() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_array_of_tables() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_boolean() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_date() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_date_time() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_floating_point() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype) const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + node*& first_nonmatch) -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + const node*& first_nonmatch) const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType = void>
                                                                                                                              + auto is_homogeneous() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_integer() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_number() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_string() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_table() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true.
                                                                                                                              +
                                                                                                                              + auto is_time() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_value() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto type() const -> node_type final noexcept +
                                                                                                                              +
                                                                                                                              Returns toml::node_type::table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Value retrieval

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at(std::string_view key) -> node& +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific key, throwing std::out_of_range if none existed.
                                                                                                                              +
                                                                                                                              + auto at(std::string_view key) const -> const node& +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific key, throwing std::out_of_range if none existed.
                                                                                                                              +
                                                                                                                              + auto at(std::wstring_view key) -> node& +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific key, throwing std::out_of_range if none existed.
                                                                                                                              +
                                                                                                                              + auto at(std::wstring_view key) const -> const node& +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific key, throwing std::out_of_range if none existed.
                                                                                                                              +
                                                                                                                              + auto get(std::string_view key) -> node* noexcept +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key.
                                                                                                                              +
                                                                                                                              + auto get(std::string_view key) const -> const node* noexcept +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key (const overload).
                                                                                                                              +
                                                                                                                              + auto get(std::wstring_view key) -> node* +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key.
                                                                                                                              +
                                                                                                                              + auto get(std::wstring_view key) const -> const node* +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto get_as(std::string_view key) -> impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key if it is a particular type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto get_as(std::string_view key) const -> const impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key if it is a particular type (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto get_as(std::wstring_view key) -> impl::wrap_node<T>* +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key if it is a particular type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto get_as(std::wstring_view key) const -> const impl::wrap_node<T>* +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key if it is a particular type (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_exact() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_or(T&& default_value) const -> auto noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the raw value contained by this node, or a default.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Visitation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const table& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the table out to a stream as formatted TOML.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::table::table(std::initializer_list<impl::table_init_pair> kvps) explicit +

                                                                                                                              +

                                                                                                                              Constructs a table with one or more initial key-value pairs.

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              kvpsA list of key-value pairs used to initialize the table.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "foo", 1 },
                                                                                                                              +    { "bar", 2.0 },
                                                                                                                              +    { "kek", "three" }
                                                                                                                              +};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { foo = 1, bar = 2.0, kek = "three" }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::operator!=(const table& lhs, + const table& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Inequality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS table.
                                                                                                                              rhsThe RHS table.
                                                                                                                              ReturnsTrue if the tables did not contain the same keys and map.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::operator==(const table& lhs, + const table& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Equality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS table.
                                                                                                                              rhsThe RHS table.
                                                                                                                              ReturnsTrue if the tables contained the same keys and map.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::erase(iterator pos) noexcept +

                                                                                                                              +

                                                                                                                              Removes the specified key-value pair from the table.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              posIterator to the key-value pair being erased.
                                                                                                                              ReturnsIterator to the first key-value pair immediately following the removed key-value pair.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 1 },
                                                                                                                              +    { "b", 2 },
                                                                                                                              +    { "c", 3 }
                                                                                                                              +};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +
                                                                                                                              +tbl.erase(tbl.begin() + 1);
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { a = 1, b = 2, c = 3 }
                                                                                                                              +{ a = 1, c = 3 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::erase(const_iterator pos) noexcept +

                                                                                                                              +

                                                                                                                              Removes the specified key-value pair from the table (const iterator overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              posIterator to the key-value pair being erased.
                                                                                                                              ReturnsIterator to the first key-value pair immediately following the removed key-value pair.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 1 },
                                                                                                                              +    { "b", 2 },
                                                                                                                              +    { "c", 3 }
                                                                                                                              +};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +
                                                                                                                              +tbl.erase(tbl.cbegin() + 1);
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { a = 1, b = 2, c = 3 }
                                                                                                                              +{ a = 1, c = 3 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::erase(const_iterator begin, + const_iterator end) noexcept +

                                                                                                                              +

                                                                                                                              Removes the key-value pairs in the range [first, last) from the table.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              beginIterator to the first key-value pair being erased.
                                                                                                                              endIterator to the one-past-the-last key-value pair being erased.
                                                                                                                              ReturnsIterator to the first key-value pair immediately following the last removed key-value pair.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 1 },
                                                                                                                              +    { "b", "bad" },
                                                                                                                              +    { "c", "karma" },
                                                                                                                              +    { "d", 2 }
                                                                                                                              +};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +
                                                                                                                              +tbl.erase(tbl.cbegin() + 1, tbl.cbegin() + 3);
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { a = 1, b = "bad", c = "karma", d = 2 }
                                                                                                                              +{ a = 1, d = 2 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + size_t toml::table::erase(std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Removes the value with the given key from the table.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyKey to erase.
                                                                                                                              ReturnsNumber of elements removed (0 or 1).
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 1 },
                                                                                                                              +    { "b", 2 },
                                                                                                                              +    { "c", 3 }
                                                                                                                              +};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +
                                                                                                                              +std::cout << tbl.erase("b") << "\n";
                                                                                                                              +std::cout << tbl.erase("not an existing key") << "\n";
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { a = 1, b = 2, c = 3 }
                                                                                                                              +true
                                                                                                                              +false
                                                                                                                              +{ a = 1, c = 3 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + size_t toml::table::erase(std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Removes the value with the given key from the table.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyKey to erase.
                                                                                                                              ReturnsNumber of elements removed (0 or 1).
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + table& toml::table::prune(bool recursive = true) & noexcept +

                                                                                                                              +

                                                                                                                              Removes empty child arrays and tables.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              recursiveShould child arrays and tables themselves be pruned?
                                                                                                                              ReturnsA reference to the table.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{ { "a", 1 }, { "b", toml::array{ } }, { "c", toml::array{ toml::table{}, toml::array{} } } };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +
                                                                                                                              +arr.prune();
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              { a = 1, b = [], c = [ {}, [] ] }
                                                                                                                              +{ a = 1 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + table&& toml::table::prune(bool recursive = true) && noexcept +

                                                                                                                              +

                                                                                                                              Removes empty child arrays and tables (rvalue overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              recursiveShould child arrays and tables themselves be pruned?
                                                                                                                              ReturnsAn rvalue reference to the table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType, typename KeyType, typename... ValueArgs> +
                                                                                                                              + std::pair<iterator, bool> toml::table::emplace(KeyType&& key, + ValueArgs && ... args) +

                                                                                                                              +

                                                                                                                              Emplaces a new value at a specific key if one did not already exist.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ValueTypetoml::table, toml::array, or any native TOML value type.
                                                                                                                              KeyTypeA toml::key or any compatible string type.
                                                                                                                              ValueArgsValue constructor argument types.
                                                                                                                              Parameters
                                                                                                                              keyThe key at which to emplace the new value.
                                                                                                                              argsArguments to forward to the value's constructor.
                                                                                                                              Returns

                                                                                                                              A std::pair containing:

                                                                                                                              • An iterator to the emplacement position (or the position of the value that prevented emplacement)
                                                                                                                              • A boolean indicating if the emplacement was successful.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 1 },
                                                                                                                              +    { "b", 2 },
                                                                                                                              +    { "c", 3 }
                                                                                                                              +};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +
                                                                                                                              +for (auto k : { "a", "d" })
                                                                                                                              +{
                                                                                                                              +    // add a string using std::string's substring constructor
                                                                                                                              +    auto result = tbl.emplace<std::string>(k, "this is not a drill"sv, 14, 5);
                                                                                                                              +    std::cout << "emplaced with key '"sv << k << "': "sv << result.second << "\n";
                                                                                                                              +}
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { a = 1, b = 2, c = 3 }
                                                                                                                              +emplaced with key 'a': false
                                                                                                                              +emplaced with key 'd': true
                                                                                                                              +{ a = 1, b = 2, c = 3, d = "drill" }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType, typename KeyType, typename... ValueArgs> +
                                                                                                                              + iterator toml::table::emplace_hint(const_iterator hint, + KeyType&& key, + ValueArgs && ... args) +

                                                                                                                              +

                                                                                                                              Emplaces a new value at a specific key if one did not already exist.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ValueTypetoml::table, toml::array, or any native TOML value type.
                                                                                                                              KeyTypeA toml::key or any compatible string type.
                                                                                                                              ValueArgsValue constructor argument types.
                                                                                                                              Parameters
                                                                                                                              hintIterator to the position before which the new element will be emplaced.
                                                                                                                              keyThe key at which to emplace the new value.
                                                                                                                              argsArguments to forward to the value's constructor.
                                                                                                                              ReturnsAn iterator to the emplacement position (or the position of the value that prevented emplacement)
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename KeyType, typename ValueType> +
                                                                                                                              + std::pair<iterator, bool> toml::table::insert(KeyType&& key, + ValueType&& val, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Inserts a new value at a specific key if one did not already exist.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              KeyTypeA toml::key or any compatible string type.
                                                                                                                              ValueTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              keyThe key at which to insert the new value.
                                                                                                                              valThe new value to insert.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              Returns

                                                                                                                              Valid input:

                                                                                                                              • An iterator to the insertion position (or the position of the value that prevented insertion)
                                                                                                                              • A boolean indicating if the insertion was successful.
                                                                                                                              +

                                                                                                                              Input is a null toml::node_view: + { end(), false }

                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto tbl = toml::table{ + { "a", 1 }, + { "b", 2 }, + { "c", 3 } +}; +std::cout << tbl << "\n"; + +for (auto k : { "a", "d" }) +{ + auto result = tbl.insert(k, 42); + std::cout << "inserted with key '"sv << k << "': "sv << result.second << "\n"; +} +std::cout << tbl << "\n";
                                                                                                                              a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +
                                                                                                                              +inserted with key 'a': false
                                                                                                                              +inserted with key 'd': true
                                                                                                                              +a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +d = 42
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Iter> +
                                                                                                                              + void toml::table::insert(Iter begin, + Iter end, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Inserts a series of key-value pairs into the table.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              IterAn InputIterator to a collection of key-value pairs.
                                                                                                                              Parameters
                                                                                                                              beginAn iterator to the first value in the input collection.
                                                                                                                              endAn iterator to one-past-the-last value in the input collection.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto tbl = toml::table{ + { "a", 1 }, + { "b", 2 }, + { "c", 3 } +}; +std::cout << tbl << "\n"; + +auto kvps = std::array<std::pair<std::string, int>, 2>{{ + { "d", 42 }, + { "a", 43 } // won't be inserted, 'a' already exists +}}; +tbl.insert(kvps.begin(), kvps.end()); +std::cout << tbl << "\n";
                                                                                                                              a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +
                                                                                                                              +a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +d = 42
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename KeyType, typename ValueType> +
                                                                                                                              + std::pair<iterator, bool> toml::table::insert_or_assign(KeyType&& key, + ValueType&& val, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Inserts or assigns a value at a specific key.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              KeyTypeA toml::key or any compatible string type.
                                                                                                                              ValueTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              keyThe key at which to insert or assign the value.
                                                                                                                              valThe value to insert/assign.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              Returns

                                                                                                                              Valid input:

                                                                                                                              • An iterator to the value's position
                                                                                                                              • true if the value was inserted, false if it was assigned.
                                                                                                                              +

                                                                                                                              Input is a null toml::node_view: + { end(), false }

                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto tbl = toml::table{ + { "a", 1 }, + { "b", 2 }, + { "c", 3 } +}; +std::cout << tbl << "\n"; + +for (auto k : { "a", "d" }) +{ + auto result = tbl.insert_or_assign(k, 42); + std::cout << "value at key '"sv << k + << "' was "sv << (result.second ? "inserted"sv : "assigned"sv) << "\n"; +} +std::cout << tbl << "\n";
                                                                                                                              a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +
                                                                                                                              +value at key 'a' was assigned
                                                                                                                              +value at key 'd' was inserted
                                                                                                                              +a = 42
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +d = 42
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::is_inline() const noexcept +

                                                                                                                              +

                                                                                                                              Returns true if this table is an inline table.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + void toml::table::is_inline(bool val) noexcept +

                                                                                                                              +

                                                                                                                              Sets whether this table is a TOML inline table.

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              valThe new value for 'inline'.
                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto tbl = toml::table{ + { "a", 1 }, + { "b", 2 }, + { "c", 3 }, + { "d", toml::table{ { "e", 4 } } } +}; +std::cout << "is inline? "sv << tbl.is_inline() << "\n"; +std::cout << tbl << "\n\n"; + +tbl.is_inline(!tbl.is_inline()); +std::cout << "is inline? "sv << tbl.is_inline() << "\n"; +std::cout << tbl << "\n";
                                                                                                                              is inline? false
                                                                                                                              +a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +
                                                                                                                              +[d]
                                                                                                                              +e = 4
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +is inline? true
                                                                                                                              +{ a = 1, b = 2, c = 3, d = { e = 4 } }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::table::operator[](std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected value.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if one existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::table::operator[](std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected value (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if one existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::table::operator[](std::wstring_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected value.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if one existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::table::operator[](std::wstring_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected value (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if one existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::contains(std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Returns true if the table contains a node at the given key.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::find(std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets an iterator to the node at a specific key.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsAn iterator to the node at the specified key, or end().
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_iterator toml::table::find(std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets an iterator to the node at a specific key (const overload)

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA const iterator to the node at the specified key, or cend().
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::find(std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Gets an iterator to the node at a specific key.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsAn iterator to the node at the specified key, or end().
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_iterator toml::table::find(std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Gets an iterator to the node at a specific key (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA const iterator to the node at the specified key, or cend().
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::lower_bound(std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to the first key-value pair with key that is not less than the given key.

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsAn iterator to the first matching key-value pair, or end().
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_iterator toml::table::lower_bound(std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const iterator to the first key-value pair with key that is not less than the given key.

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsAn iterator to the first matching key-value pair, or end().
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::lower_bound(std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Returns an iterator to the first key-value pair with key that is not less than the given key.

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsAn iterator to the first matching key-value pair, or end().
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_iterator toml::table::lower_bound(std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Returns a const iterator to the first key-value pair with key that is not less than the given key.

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsAn iterator to the first matching key-value pair, or end().
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::is_homogeneous(node_type ntype) const final noexcept +

                                                                                                                              +

                                                                                                                              Checks if the node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << "homogenous: "sv << arr.is_homogeneous(toml::node_type::none) << "\n";
                                                                                                                              +std::cout << "all floats: "sv << arr.is_homogeneous(toml::node_type::floating_point) << "\n";
                                                                                                                              +std::cout << "all arrays: "sv << arr.is_homogeneous(toml::node_type::array) << "\n";
                                                                                                                              +std::cout << "all ints:   "sv << arr.is_homogeneous(toml::node_type::integer) << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::is_homogeneous(node_type ntype, + node*& first_nonmatch) final noexcept +

                                                                                                                              +

                                                                                                                              Checks if a node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              first_nonmatchReference to a pointer in which the address of the first non-matching element will be stored if the return value is false.
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]");
                                                                                                                              +toml::array& arr = *cfg["arr"].as_array();
                                                                                                                              +
                                                                                                                              +toml::node* nonmatch{};
                                                                                                                              +if (arr.is_homogeneous(toml::node_type::integer, nonmatch))
                                                                                                                              +    std::cout << "array was homogeneous"sv << "\n";
                                                                                                                              +else
                                                                                                                              +    std::cout << "array was not homogeneous!\n"
                                                                                                                              +    << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
                                                                                                                              array was not homogeneous!
                                                                                                                              +first non-match was a floating-point at line 1, column 18
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node& toml::table::at(std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Gets a reference to the element at a specific key, throwing std::out_of_range if none existed.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const node& toml::table::at(std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Gets a reference to the element at a specific key, throwing std::out_of_range if none existed.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node* toml::table::get(std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key, or nullptr.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 42, },
                                                                                                                              +    { "b", "is the meaning of life, apparently." }
                                                                                                                              +};
                                                                                                                              +std::cout << R"(node ["a"] exists: )"sv << !!arr.get("a") << "\n";
                                                                                                                              +std::cout << R"(node ["b"] exists: )"sv << !!arr.get("b") << "\n";
                                                                                                                              +std::cout << R"(node ["c"] exists: )"sv << !!arr.get("c") << "\n";
                                                                                                                              +if (auto val = arr.get("a"))
                                                                                                                              +    std::cout << R"(node ["a"] was an )"sv << val->type() << "\n";
                                                                                                                              node ["a"] exists: true
                                                                                                                              +node ["b"] exists: true
                                                                                                                              +node ["c"] exists: false
                                                                                                                              +node ["a"] was an integer
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const node* toml::table::get(std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key, or nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node* toml::table::get(std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key, or nullptr.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const node* toml::table::get(std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key, or nullptr.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + impl::wrap_node<T>* toml::table::get_as(std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key if it is a particular type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the TOML node or value types.
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key if it was of the given type, or nullptr.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 42, },
                                                                                                                              +    { "b", "is the meaning of life, apparently." }
                                                                                                                              +};
                                                                                                                              +if (auto val = arr.get_as<int64_t>("a"))
                                                                                                                              +    std::cout << R"(node ["a"] was an integer with value )"sv << **val << "\n";
                                                                                                                              node ["a"] was an integer with value 42
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + const impl::wrap_node<T>* toml::table::get_as(std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key if it is a particular type (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the TOML node or value types.
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key if it was of the given type, or nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + impl::wrap_node<T>* toml::table::get_as(std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key if it is a particular type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the TOML node or value types.
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key if it was of the given type, or nullptr.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + const impl::wrap_node<T>* toml::table::get_as(std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key if it is a particular type (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the TOML node or value types.
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key if it was of the given type, or nullptr.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const table& rhs) +

                                                                                                                              +

                                                                                                                              Prints the table out to a stream as formatted TOML.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.0/classtoml_1_1toml__formatter.html b/v3.0.0/classtoml_1_1toml__formatter.html new file mode 100644 index 00000000..8c932b33 --- /dev/null +++ b/v3.0.0/classtoml_1_1toml__formatter.html @@ -0,0 +1,243 @@ + + + + toml::toml_formatter class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::toml_formatter class +

                                                                                                                              +

                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted TOML.

                                                                                                                              + +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "description", "This is some TOML, yo." },
                                                                                                                              +    { "fruit", toml::array{ "apple", "orange", "pear" } },
                                                                                                                              +    { "numbers", toml::array{ 1, 2, 3, 4, 5 } },
                                                                                                                              +    { "table", toml::table{ { "foo", "bar" } } }
                                                                                                                              +};
                                                                                                                              +
                                                                                                                              +// these two lines are equivalent:
                                                                                                                              +std::cout << toml::toml_formatter{ tbl } << "\n";
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              description = "This is some TOML, yo."
                                                                                                                              +fruit = ["apple", "orange", "pear"]
                                                                                                                              +numbers = [1, 2, 3, 4, 5]
                                                                                                                              +
                                                                                                                              +[table]
                                                                                                                              +foo = "bar"
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public static variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + static format_flags default_flags constexpr +
                                                                                                                              +
                                                                                                                              The default flags for a toml_formatter.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + toml_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a TOML formatter and binds it to a TOML object.
                                                                                                                              +
                                                                                                                              + toml_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a TOML formatter and binds it to a toml::parse_result.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + toml_formatter& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as formatted TOML.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + toml_formatter&& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as formatted TOML (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::toml_formatter::toml_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a TOML formatter and binds it to a TOML object.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              sourceThe source TOML object.
                                                                                                                              flagsFormat option flags.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::toml_formatter::toml_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a TOML formatter and binds it to a toml::parse_result.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              resultThe parse result.
                                                                                                                              flagsFormat option flags.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.0/classtoml_1_1value.html b/v3.0.0/classtoml_1_1value.html new file mode 100644 index 00000000..5048497e --- /dev/null +++ b/v3.0.0/classtoml_1_1value.html @@ -0,0 +1,1047 @@ + + + + toml::value class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              template <typename ValueType>
                                                                                                                              + toml::value class +

                                                                                                                              +

                                                                                                                              A TOML value.

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ValueType

                                                                                                                              The value's native TOML data type. Can be one of:

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Base classes

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + class node +
                                                                                                                              +
                                                                                                                              A TOML node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public types

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using value_arg = /* ... */ +
                                                                                                                              +
                                                                                                                              A type alias for 'value arguments'.
                                                                                                                              +
                                                                                                                              + using value_type = ValueType +
                                                                                                                              +
                                                                                                                              The value's underlying data type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename... Args>
                                                                                                                              + value(Args && ... args) explicit noexcept(…) +
                                                                                                                              +
                                                                                                                              Constructs a toml value.
                                                                                                                              +
                                                                                                                              + value(const value& other) noexcept +
                                                                                                                              +
                                                                                                                              Copy constructor.
                                                                                                                              +
                                                                                                                              + value(const value& other, + value_flags flags) noexcept +
                                                                                                                              +
                                                                                                                              Copy constructor with flags override.
                                                                                                                              +
                                                                                                                              + value(value&& other) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              + value(value&& other, + value_flags flags) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor with flags override.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator=(const value& rhs) -> value& noexcept +
                                                                                                                              +
                                                                                                                              Copy-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(value&& rhs) -> value& noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(value_arg rhs) -> value& noexcept +
                                                                                                                              +
                                                                                                                              Value-assignment operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality and Comparison

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator!=(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(const value& lhs, + value_arg rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<(value_arg lhs, + const value& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value less-than operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator<(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<=(const value& lhs, + value_arg rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator<=(value_arg lhs, + const value& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator<=(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const value& lhs, + value_arg rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value equality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(const value& lhs, + value_arg rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>(value_arg lhs, + const value& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value greater-than operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator>(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(const value& lhs, + value_arg rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(value_arg lhs, + const value& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator>=(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Metadata

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto flags() const -> value_flags noexcept +
                                                                                                                              +
                                                                                                                              Returns the metadata flags associated with this value.
                                                                                                                              +
                                                                                                                              + auto flags(value_flags new_flags) -> value& noexcept +
                                                                                                                              +
                                                                                                                              Sets the metadata flags associated with this value.
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the source region responsible for generating this node during parsing.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Node views

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) -> node_view<node> +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) const -> node_view<const node> +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + operator node_view<const node>() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node (const overload).
                                                                                                                              +
                                                                                                                              + operator node_view<node>() explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type casts

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() -> impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() const -> const impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type (const overload).
                                                                                                                              +
                                                                                                                              + auto as_array() -> array* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_array() const -> const array* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_boolean() -> value<bool>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<bool>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_boolean() const -> const value<bool>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<bool>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date() -> value<date>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<date>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date() const -> const value<date>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<date>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date_time() -> value<date_time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<date_time>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date_time() const -> const value<date_time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<date_time>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() -> value<double>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<double>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() const -> const value<double>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<double>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_integer() -> value<int64_t>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<int64_t>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_integer() const -> const value<int64_t>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<int64_t>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_string() -> value<std::string>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<std::string>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_string() const -> const value<std::string>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<std::string>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_table() -> table* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_table() const -> const table* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_time() -> value<time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<time>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_time() const -> const value<time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<time>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type checks

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto is() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node is a specific type.
                                                                                                                              +
                                                                                                                              + auto is_array() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_array_of_tables() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_boolean() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is bool.
                                                                                                                              +
                                                                                                                              + auto is_date() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is toml::date.
                                                                                                                              +
                                                                                                                              + auto is_date_time() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is toml_date_time.
                                                                                                                              +
                                                                                                                              + auto is_floating_point() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is double.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype) const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + node*& first_nonmatch) -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + const node*& first_nonmatch) const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType = void>
                                                                                                                              + auto is_homogeneous() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_integer() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is int64_t.
                                                                                                                              +
                                                                                                                              + auto is_number() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is int64_t or double.
                                                                                                                              +
                                                                                                                              + auto is_string() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is std::string.
                                                                                                                              +
                                                                                                                              + auto is_table() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_time() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is toml::time.
                                                                                                                              +
                                                                                                                              + auto is_value() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true.
                                                                                                                              +
                                                                                                                              + auto type() const -> node_type final noexcept +
                                                                                                                              +
                                                                                                                              Returns the value's node type identifier.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Value retrieval

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto get() & -> value_type& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value.
                                                                                                                              +
                                                                                                                              + auto get() && -> value_type&& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto get() const & -> const value_type& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const overload).
                                                                                                                              +
                                                                                                                              + auto get() const && -> const value_type&& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const rvalue overload).
                                                                                                                              +
                                                                                                                              + operator const value_type&() const & explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const overload).
                                                                                                                              +
                                                                                                                              + operator const value_type&&() && explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const rvalue overload).
                                                                                                                              +
                                                                                                                              + operator value_type&() & explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value.
                                                                                                                              +
                                                                                                                              + operator value_type&&() && explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto operator*() & -> value_type& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value.
                                                                                                                              +
                                                                                                                              + auto operator*() && -> value_type&& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto operator*() const & -> const value_type& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const overload).
                                                                                                                              +
                                                                                                                              + auto operator*() const && -> const value_type&& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const rvalue overload).
                                                                                                                              +
                                                                                                                              + auto operator->() -> value_type* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the underlying value.
                                                                                                                              +
                                                                                                                              + auto operator->() const -> const value_type* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the underlying value (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_exact() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_or(T&& default_value) const -> auto noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the raw value contained by this node, or a default.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Visitation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const value& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the value out to a stream as formatted TOML.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Typedef documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + using toml::value::value_arg = /* ... */ +

                                                                                                                              +

                                                                                                                              A type alias for 'value arguments'.

                                                                                                                              +

                                                                                                                              This differs according to the value's type argument:

                                                                                                                              • ints, floats, booleans: value_type
                                                                                                                              • strings: string_view
                                                                                                                              • everything else: const value_type&
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename... Args> +
                                                                                                                              + toml::value::value(Args && ... args) explicit noexcept(…) +

                                                                                                                              +

                                                                                                                              Constructs a toml value.

                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ArgsConstructor argument types.
                                                                                                                              Parameters
                                                                                                                              argsArguments to forward to the internal value's constructor.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator!=(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Inequality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS value.
                                                                                                                              rhsThe RHS value.
                                                                                                                              ReturnsTrue if the values were not of the same type, or did not contain the same value.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator<(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Less-than operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS toml::value.
                                                                                                                              rhsThe RHS toml::value.
                                                                                                                              ReturnsSame value types: + lhs.get() < rhs.get()Different value types: + lhs.type() < rhs.type()
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator<=(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Less-than-or-equal-to operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS toml::value.
                                                                                                                              rhsThe RHS toml::value.
                                                                                                                              ReturnsSame value types: + lhs.get() <= rhs.get()Different value types: + lhs.type() <= rhs.type()
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator==(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Equality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS value.
                                                                                                                              rhsThe RHS value.
                                                                                                                              ReturnsTrue if the values were of the same type and contained the same value.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator>(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Greater-than operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS toml::value.
                                                                                                                              rhsThe RHS toml::value.
                                                                                                                              ReturnsSame value types: + lhs.get() > rhs.get()Different value types: + lhs.type() > rhs.type()
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator>=(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Greater-than-or-equal-to operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS toml::value.
                                                                                                                              rhsThe RHS toml::value.
                                                                                                                              ReturnsSame value types: + lhs.get() >= rhs.get()Different value types: + lhs.type() >= rhs.type()
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + value& toml::value::flags(value_flags new_flags) noexcept +

                                                                                                                              +

                                                                                                                              Sets the metadata flags associated with this value.

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsA reference to the value object.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + bool toml::value::is_homogeneous(node_type ntype) const final noexcept +

                                                                                                                              +

                                                                                                                              Checks if the node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << "homogenous: "sv << arr.is_homogeneous(toml::node_type::none) << "\n";
                                                                                                                              +std::cout << "all floats: "sv << arr.is_homogeneous(toml::node_type::floating_point) << "\n";
                                                                                                                              +std::cout << "all arrays: "sv << arr.is_homogeneous(toml::node_type::array) << "\n";
                                                                                                                              +std::cout << "all ints:   "sv << arr.is_homogeneous(toml::node_type::integer) << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + bool toml::value::is_homogeneous(node_type ntype, + node*& first_nonmatch) final noexcept +

                                                                                                                              +

                                                                                                                              Checks if a node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              first_nonmatchReference to a pointer in which the address of the first non-matching element will be stored if the return value is false.
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]");
                                                                                                                              +toml::array& arr = *cfg["arr"].as_array();
                                                                                                                              +
                                                                                                                              +toml::node* nonmatch{};
                                                                                                                              +if (arr.is_homogeneous(toml::node_type::integer, nonmatch))
                                                                                                                              +    std::cout << "array was homogeneous"sv << "\n";
                                                                                                                              +else
                                                                                                                              +    std::cout << "array was not homogeneous!\n"
                                                                                                                              +    << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
                                                                                                                              array was not homogeneous!
                                                                                                                              +first non-match was a floating-point at line 1, column 18
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + node_type toml::value::type() const final noexcept +

                                                                                                                              +

                                                                                                                              Returns the value's node type identifier.

                                                                                                                              + + + + + + + +
                                                                                                                              Returns

                                                                                                                              One of:

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + value_type* toml::value::operator->() noexcept +

                                                                                                                              +

                                                                                                                              Returns a pointer to the underlying value.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + const value_type* toml::value::operator->() const noexcept +

                                                                                                                              +

                                                                                                                              Returns a pointer to the underlying value (const overload).

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const value& rhs) +

                                                                                                                              +

                                                                                                                              Prints the value out to a stream as formatted TOML.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.0/classtoml_1_1yaml__formatter.html b/v3.0.0/classtoml_1_1yaml__formatter.html new file mode 100644 index 00000000..52db1b54 --- /dev/null +++ b/v3.0.0/classtoml_1_1yaml__formatter.html @@ -0,0 +1,243 @@ + + + + toml::yaml_formatter class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::yaml_formatter class +

                                                                                                                              +

                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted YAML.

                                                                                                                              + +
                                                                                                                              auto some_toml = toml::parse(R"(
                                                                                                                              +    [fruit]
                                                                                                                              +    apple.color = "red"
                                                                                                                              +    apple.taste.sweet = true
                                                                                                                              +
                                                                                                                              +    [fruit.apple.texture]
                                                                                                                              +    smooth = true
                                                                                                                              +)"sv);
                                                                                                                              +std::cout << toml::yaml_formatter{ some_toml } << "\n";
                                                                                                                              fruit:
                                                                                                                              +  apple:
                                                                                                                              +    color: red
                                                                                                                              +    taste:
                                                                                                                              +      sweet: true
                                                                                                                              +    texture:
                                                                                                                              +      smooth: true
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public static variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + static format_flags default_flags constexpr +
                                                                                                                              +
                                                                                                                              The default flags for a yaml_formatter.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + yaml_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a YAML formatter and binds it to a TOML object.
                                                                                                                              +
                                                                                                                              + yaml_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a YAML formatter and binds it to a toml::parse_result.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + yaml_formatter& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as YAML.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + yaml_formatter&& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as YAML (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::yaml_formatter::yaml_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a YAML formatter and binds it to a TOML object.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              sourceThe source TOML object.
                                                                                                                              flagsFormat option flags.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::yaml_formatter::yaml_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a YAML formatter and binds it to a toml::parse_result.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              resultThe parse result.
                                                                                                                              flagsFormat option flags.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.0/concepts.html b/v3.0.0/concepts.html new file mode 100644 index 00000000..8858fbb9 --- /dev/null +++ b/v3.0.0/concepts.html @@ -0,0 +1,137 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Concepts

                                                                                                                              +
                                                                                                                                +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.0/favicon.ico b/v3.0.0/favicon.ico new file mode 100644 index 00000000..518213d1 Binary files /dev/null and b/v3.0.0/favicon.ico differ diff --git a/v3.0.0/files.html b/v3.0.0/files.html new file mode 100644 index 00000000..beebe5a6 --- /dev/null +++ b/v3.0.0/files.html @@ -0,0 +1,137 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Files

                                                                                                                              +
                                                                                                                                +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.0/group__configuration.html b/v3.0.0/group__configuration.html new file mode 100644 index 00000000..3c7fe167 --- /dev/null +++ b/v3.0.0/group__configuration.html @@ -0,0 +1,290 @@ + + + + Library Configuration module | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + Library Configuration module

                                                                                                                              +

                                                                                                                              Preprocessor macros for configuring library functionality.

                                                                                                                              + +

                                                                                                                              Define these before including toml++ to alter the way it functions.

                                                                                                                              +
                                                                                                                              +

                                                                                                                              Defines

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + #define TOML_API +
                                                                                                                              +
                                                                                                                              An annotation to add to public symbols.
                                                                                                                              +
                                                                                                                              + #define TOML_ASSERT(expr) +
                                                                                                                              +
                                                                                                                              Sets the assert function used by the library.
                                                                                                                              +
                                                                                                                              + #define TOML_CONFIG_HEADER +
                                                                                                                              +
                                                                                                                              An additional header to include before any other toml++ header files.
                                                                                                                              +
                                                                                                                              + #define TOML_ENABLE_FORMATTERS +
                                                                                                                              +
                                                                                                                              Sets whether the various formatter classes are enabled.
                                                                                                                              +
                                                                                                                              + #define TOML_ENABLE_PARSER +
                                                                                                                              +
                                                                                                                              Sets whether the parser-related parts of the library are included.
                                                                                                                              +
                                                                                                                              + #define TOML_ENABLE_UNRELEASED_FEATURES +
                                                                                                                              +
                                                                                                                              Enables support for unreleased TOML language features not yet part of a numbered version.
                                                                                                                              +
                                                                                                                              + #define TOML_ENABLE_WINDOWS_COMPAT +
                                                                                                                              +
                                                                                                                              Enables the use of wide strings (wchar_t, std::wstring) in various places throughout the library when building for Windows.
                                                                                                                              +
                                                                                                                              + #define TOML_EXCEPTIONS +
                                                                                                                              +
                                                                                                                              Sets whether the library uses exceptions to report parsing failures.
                                                                                                                              +
                                                                                                                              + #define TOML_HEADER_ONLY +
                                                                                                                              +
                                                                                                                              Sets whether the library is entirely inline.
                                                                                                                              +
                                                                                                                              + #define TOML_IMPLEMENTATION +
                                                                                                                              +
                                                                                                                              Enables the library's implementation when TOML_HEADER_ONLY is disabled.
                                                                                                                              +
                                                                                                                              + #define TOML_OPTIONAL_TYPE +
                                                                                                                              +
                                                                                                                              Overrides the optional<T> type used by the library.
                                                                                                                              +
                                                                                                                              + #define TOML_SMALL_FLOAT_TYPE +
                                                                                                                              +
                                                                                                                              If your codebase has an additional 'small' float type (e.g. half-precision), this tells toml++ about it.
                                                                                                                              +
                                                                                                                              + #define TOML_SMALL_INT_TYPE +
                                                                                                                              +
                                                                                                                              If your codebase has an additional 'small' integer type (e.g. 24-bits), this tells toml++ about it.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Define documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_API +

                                                                                                                              +

                                                                                                                              An annotation to add to public symbols.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_ASSERT(expr) +

                                                                                                                              +

                                                                                                                              Sets the assert function used by the library.

                                                                                                                              +

                                                                                                                              Defaults to the standard C assert().

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_CONFIG_HEADER +

                                                                                                                              +

                                                                                                                              An additional header to include before any other toml++ header files.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_ENABLE_FORMATTERS +

                                                                                                                              +

                                                                                                                              Sets whether the various formatter classes are enabled.

                                                                                                                              +

                                                                                                                              Defaults to 1.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_ENABLE_PARSER +

                                                                                                                              +

                                                                                                                              Sets whether the parser-related parts of the library are included.

                                                                                                                              +

                                                                                                                              Defaults to 1.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_ENABLE_UNRELEASED_FEATURES +

                                                                                                                              +

                                                                                                                              Enables support for unreleased TOML language features not yet part of a numbered version.

                                                                                                                              +

                                                                                                                              Defaults to 0.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_ENABLE_WINDOWS_COMPAT +

                                                                                                                              +

                                                                                                                              Enables the use of wide strings (wchar_t, std::wstring) in various places throughout the library when building for Windows.

                                                                                                                              +

                                                                                                                              Defaults to 1 when building for Windows, 0 otherwise. Has no effect when building for anything other than Windows.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_EXCEPTIONS +

                                                                                                                              +

                                                                                                                              Sets whether the library uses exceptions to report parsing failures.

                                                                                                                              +

                                                                                                                              Defaults to 1 or 0 according to your compiler's exception mode.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_HEADER_ONLY +

                                                                                                                              +

                                                                                                                              Sets whether the library is entirely inline.

                                                                                                                              +

                                                                                                                              Defaults to 1.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_IMPLEMENTATION +

                                                                                                                              +

                                                                                                                              Enables the library's implementation when TOML_HEADER_ONLY is disabled.

                                                                                                                              +

                                                                                                                              Not defined by default. Meaningless when TOML_HEADER_ONLY is enabled.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_OPTIONAL_TYPE +

                                                                                                                              +

                                                                                                                              Overrides the optional<T> type used by the library.

                                                                                                                              +

                                                                                                                              Not defined by default (use std::optional).

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_SMALL_FLOAT_TYPE +

                                                                                                                              +

                                                                                                                              If your codebase has an additional 'small' float type (e.g. half-precision), this tells toml++ about it.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_SMALL_INT_TYPE +

                                                                                                                              +

                                                                                                                              If your codebase has an additional 'small' integer type (e.g. 24-bits), this tells toml++ about it.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.0/index.html b/v3.0.0/index.html new file mode 100644 index 00000000..e430cf90 --- /dev/null +++ b/v3.0.0/index.html @@ -0,0 +1,428 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + Image + +

                                                                                                                              Features

                                                                                                                              • Supports the latest TOML release (v1.0.0), plus optional support for some unreleased TOML features
                                                                                                                              • Supports serializing to JSON and YAML
                                                                                                                              • Proper UTF-8 handling (incl. BOM)
                                                                                                                              • C++17 (plus some C++20 features where available, e.g. experimental support for char8_t strings)
                                                                                                                              • Header-only (optional!)
                                                                                                                              • Doesn't require RTTI
                                                                                                                              • Works with or without exceptions
                                                                                                                              • Tested on Clang (6+), GCC (7+) and MSVC (VS2019)
                                                                                                                              • Tested on x64, x86 and ARM

                                                                                                                              API documentation

                                                                                                                              You're looking at it! Browse the docs using the links at the top of the page. You can search from anywhere by pressing the TAB key.

                                                                                                                              Basic examples

                                                                                                                              Parsing files

                                                                                                                              Call toml::parse_file() and work with the toml::table you get back, or handle any toml::parse_error that gets thrown:

                                                                                                                              #include <iostream>
                                                                                                                              +#include <toml++/toml.h>
                                                                                                                              +
                                                                                                                              +int main(int argc, char** argv)
                                                                                                                              +{
                                                                                                                              +   toml::table tbl;
                                                                                                                              +   try
                                                                                                                              +   {
                                                                                                                              +       tbl = toml::parse_file(argv[1]);
                                                                                                                              +           std::cout << tbl << "\n";
                                                                                                                              +   }
                                                                                                                              +   catch (const toml::parse_error& err)
                                                                                                                              +   {
                                                                                                                              +       std::cerr << "Parsing failed:\n" << err << "\n";
                                                                                                                              +       return 1;
                                                                                                                              +   }
                                                                                                                              +
                                                                                                                              +   return 0;
                                                                                                                              +}

                                                                                                                              Parsing strings and iostreams

                                                                                                                              Call toml::parse() and work with the toml::table you get back, or handle any toml::parse_error that gets thrown:

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              #include <iostream> +#include <sstream> +#include <toml++/toml.h> +using namespace std::string_view_literals; + +int main() +{ + static constexpr std::string_view some_toml = R"( + [library] + name = "toml++" + authors = ["Mark Gillard <mark.gillard@outlook.com.au>"] + cpp = 17 + )"sv; + + try + { + // parse directly from a string view: + { + toml::table tbl = toml::parse(some_toml); + std::cout << tbl << "\n"; + } + + // parse from a string stream: + { + std::stringstream ss{ std::string{ some_toml } }; + toml::table tbl = toml::parse(ss); + std::cout << tbl << "\n"; + } + } + catch (const toml::parse_error& err) + { + std::cerr << "Parsing failed:\n" << err << "\n"; + return 1; + } + + return 0; +}
                                                                                                                              [library]
                                                                                                                              +authors = [ 'Mark Gillard <mark.gillard@outlook.com.au>' ]
                                                                                                                              +cpp = 17
                                                                                                                              +name = 'toml++'
                                                                                                                              +
                                                                                                                              +[library]
                                                                                                                              +authors = [ 'Mark Gillard <mark.gillard@outlook.com.au>' ]
                                                                                                                              +cpp = 17
                                                                                                                              +name = 'toml++'

                                                                                                                              Handling errors without exceptions

                                                                                                                              Can't (or won't) use exceptions? That's fine too. You can disable exceptions in your compiler flags and/or explicitly disable the library's use of them by setting the option TOML_EXCEPTIONS to 0. In either case, the parsing functions return a toml::parse_result instead of a toml::table:

                                                                                                                              #include <iostream>
                                                                                                                              +
                                                                                                                              +#define TOML_EXCEPTIONS 0 // only necessary if you've left them enabled in your compiler
                                                                                                                              +#include <toml++/toml.h>
                                                                                                                              +
                                                                                                                              +int main()
                                                                                                                              +{
                                                                                                                              +   toml::parse_result result = toml::parse_file("configuration.toml");
                                                                                                                              +   if (!result)
                                                                                                                              +   {
                                                                                                                              +       std::cerr << "Parsing failed:\n" << result.error() << "\n";
                                                                                                                              +       return 1;
                                                                                                                              +   }
                                                                                                                              +
                                                                                                                              +   do_stuff_with_your_config(std::move(result).table()); // 'steal' the table from the result
                                                                                                                              +   return 0;
                                                                                                                              +}

                                                                                                                              Custom error formatting

                                                                                                                              The examples above use an overloaded operator<< with ostreams to print basic error messages, and look like this:

                                                                                                                              Error while parsing key: expected bare key starting character or string delimiter, saw '?'
                                                                                                                              +    (error occurred at line 2, column 5)

                                                                                                                              In order to keep the library as small as possible I haven't bent over backwards to support things like custom colouring of the text in TTY environments, et cetera. That being said, the library provides the requisite information for you to build these yourself if necessary via toml::parse_error's source() and description() members:

                                                                                                                              toml::table tbl;
                                                                                                                              +try
                                                                                                                              +{
                                                                                                                              +   tbl = toml::parse_file("configuration.toml");
                                                                                                                              +}
                                                                                                                              +catch (const toml::parse_error& err)
                                                                                                                              +{
                                                                                                                              +   std::cerr
                                                                                                                              +       << "Error parsing file '" << *err.source().path
                                                                                                                              +       << "':\n" << err.description()
                                                                                                                              +       << "\n  (" << err.source().begin << ")\n";
                                                                                                                              +   return 1;
                                                                                                                              +}

                                                                                                                              Working with TOML data

                                                                                                                              A TOML document is a tree of values, arrays and tables, represented as the toml::value, toml::array and toml::table, respectively. All three inherit from toml::node, and can be easily accessed via the toml::node_view:

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              #include <iostream> +#include <toml++/toml.h> +using namespace std::string_view_literals; + +int main() +{ + static constexpr auto source = R"( + str = "hello world" + + numbers = [ 1, 2, 3, "four", 5.0 ] + vegetables = [ "tomato", "onion", "mushroom", "lettuce" ] + minerals = [ "quartz", "iron", "copper", "diamond" ] + + [animals] + cats = [ "tiger", "lion", "puma" ] + birds = [ "macaw", "pigeon", "canary" ] + fish = [ "salmon", "trout", "carp" ] + + )"sv; + toml::table tbl = toml::parse(source); + + // different ways of directly querying data + std::optional<std::string_view> str1 = tbl["str"].value<std::string_view>(); + std::optional<std::string> str2 = tbl["str"].value<std::string>(); + std::string_view str3 = tbl["str"].value_or(""sv); + std::string& str4 = tbl["str"].ref<std::string>(); // ~~dangerous~~ + + std::cout << *str1 << "\n"; + std::cout << *str2 << "\n"; + std::cout << str3 << "\n"; + std::cout << str4 << "\n"; + + // get a toml::node_view of the element 'numbers' using operator[] + auto numbers = tbl["numbers"]; + std::cout << "table has 'numbers': " << !!numbers << "\n"; + std::cout << "numbers is an: " << numbers.type() << "\n"; + std::cout << "numbers: " << numbers << "\n"; + + // get the underlying array object to do some more advanced stuff + if (toml::array* arr = numbers.as_array()) + { + for (toml::node& elem : *arr) + { + // visitation helps deal with the polymorphic nature of TOML data + elem.visit([](auto&& el) noexcept + { + if constexpr (toml::is_number<decltype(el)>) + (*el)++; + else if constexpr (toml::is_string<decltype(el)>) + el = "five"sv; + }); + } + + // arrays are very similar to std::vector + arr->push_back(7); + arr->emplace_back<toml::array>(8, 9); + std::cout << "numbers: " << numbers << "\n"; + } + + // node-views can be chained to quickly query deeper + std::cout << "cats: " << tbl["animals"]["cats"] << "\n"; + std::cout << "fish[1]: " << tbl["animals"]["fish"][1] << "\n"; + + // can also be retrieved via absolute path + std::cout << "cats: " << tbl.at_path("animals.cats") << "\n"; + std::cout << "fish[1]: " << tbl.at_path("animals.fish[1]") << "\n"; + + // ...even if the element doesn't exist + std::cout << "dinosaurs: " << tbl["animals"]["dinosaurs"] << "\n"; //no dinosaurs :( + + return 0; +}
                                                                                                                              hello world
                                                                                                                              +hello world
                                                                                                                              +hello world
                                                                                                                              +hello world
                                                                                                                              +table has 'numbers': 1
                                                                                                                              +numbers is an: array
                                                                                                                              +numbers: [ 1, 2, 3, 'four', 5.0 ]
                                                                                                                              +numbers: [ 2, 3, 4, 'five', 6.0, 7, [ 8, 9 ] ]
                                                                                                                              +cats: [ 'tiger', 'lion', 'puma' ]
                                                                                                                              +fish[1]: 'trout'
                                                                                                                              +cats: [ 'tiger', 'lion', 'puma' ]
                                                                                                                              +fish[1]: 'trout'
                                                                                                                              +dinosaurs:

                                                                                                                              Serializing as TOML, JSON and YAML

                                                                                                                              All toml++ data types have overloaded operator<< for ostreams, so 'serializing' a set of TOML data to actual TOML is done just by printing it to an ostream. Converting it to JSON and YAML is done in much the same way, but via a toml::json_formatter and toml::yaml_formatter.

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              #include <iostream> +#include <toml++/toml.h> + +int main() +{ + auto tbl = toml::table{ + { "lib", "toml++" }, + { "cpp", toml::array{ 17, 20, "and beyond" } }, + { "toml", toml::array{ "1.0.0", "and beyond" } }, + { "repo", "https://github.com/marzer/tomlplusplus/" }, + { "author", toml::table{ + { "name", "Mark Gillard" }, + { "github", "https://github.com/marzer" }, + { "twitter", "https://twitter.com/marzer8789" } + } + }, + }; + + // serializing as TOML + std::cout << "###### TOML ######" << "\n\n"; + std::cout << tbl << "\n\n"; + + // serializing as JSON using toml::json_formatter: + std::cout << "###### JSON ######" << "\n\n"; + std::cout << toml::json_formatter{ tbl } << "\n\n"; + + // serializing as YAML using toml::yaml_formatter: + std::cout << "###### YAML ######" << "\n\n"; + std::cout << toml::yaml_formatter{ tbl } << "\n\n"; + + return 0; +}
                                                                                                                              ###### TOML ######
                                                                                                                              +
                                                                                                                              +cpp = [ 17, 20, 'and beyond' ]
                                                                                                                              +lib = 'toml++'
                                                                                                                              +repo = 'https://github.com/marzer/tomlplusplus/'
                                                                                                                              +toml = [ '1.0.0', 'and beyond' ]
                                                                                                                              +
                                                                                                                              +[author]
                                                                                                                              +github = 'https://github.com/marzer'
                                                                                                                              +name = 'Mark Gillard'
                                                                                                                              +twitter = 'https://twitter.com/marzer8789'
                                                                                                                              +
                                                                                                                              +###### JSON ######
                                                                                                                              +
                                                                                                                              +{
                                                                                                                              +    "author" : {
                                                                                                                              +        "github" : "https://github.com/marzer",
                                                                                                                              +        "name" : "Mark Gillard",
                                                                                                                              +        "twitter" : "https://twitter.com/marzer8789"
                                                                                                                              +    },
                                                                                                                              +    "cpp" : [
                                                                                                                              +        17,
                                                                                                                              +        20,
                                                                                                                              +        "and beyond"
                                                                                                                              +    ],
                                                                                                                              +    "lib" : "toml++",
                                                                                                                              +    "repo" : "https://github.com/marzer/tomlplusplus/",
                                                                                                                              +    "toml" : [
                                                                                                                              +        "1.0.0",
                                                                                                                              +        "and beyond"
                                                                                                                              +    ]
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +###### YAML ######
                                                                                                                              +
                                                                                                                              +author:
                                                                                                                              +  github: 'https://github.com/marzer'
                                                                                                                              +  name: 'Mark Gillard'
                                                                                                                              +  twitter: 'https://twitter.com/marzer8789'
                                                                                                                              +cpp:
                                                                                                                              +  - 17
                                                                                                                              +  - 20
                                                                                                                              +  - 'and beyond'
                                                                                                                              +lib: toml++
                                                                                                                              +repo: 'https://github.com/marzer/tomlplusplus/'
                                                                                                                              +toml:
                                                                                                                              +  - '1.0.0'
                                                                                                                              +  - 'and beyond'

                                                                                                                              Speeding up compilation

                                                                                                                              Because toml++ is a header-only library of nontrivial size you might find that compilation times noticeably increase after you add it to your project, especially if you add the library's header somewhere that's visible from a large number of translation units. You can counter this by disabling header-only mode and explicitly controlling where the library's implementation is compiled.

                                                                                                                              Step 1: Set TOML_HEADER_ONLY to 0 before including toml++

                                                                                                                              This must be the same everywhere, so either set it as a global #define in your build system, or do it manually before including toml++ in some global header that's used everywhere in your project:

                                                                                                                              // global_header_that_includes_toml++.h
                                                                                                                              +
                                                                                                                              +#define TOML_HEADER_ONLY 0
                                                                                                                              +#include <toml.hpp>

                                                                                                                              Step 2: Define TOML_IMPLEMENTATION before including toml++ in one specific translation unit

                                                                                                                              // some_code_file.cpp
                                                                                                                              +
                                                                                                                              +#define TOML_IMPLEMENTATION
                                                                                                                              +#include "global_header_that_includes_toml++.h"

                                                                                                                              Bonus Step: Disable any library features you don't need

                                                                                                                              Some library features can be disabled wholesale so you can avoid paying their the compilation cost if you don't need them. For example, if all you need to do is serialize some code-generated TOML and don't actually need the parser at all you, can set TOML_ENABLE_PARSER to 0 to disable the parser altogether. This can yield fairly significant compilation speedups since the parser accounts for a good chunk of the library's code.

                                                                                                                              Adding toml++ to your project

                                                                                                                              The library comes in two flavours, 🍦️ Single-header and 🍨️ Regular. The API is the same for both.

                                                                                                                              "The old fashioned way"

                                                                                                                              Clone the repository from GitHub, and then:

                                                                                                                              🍦️ Single-header flavour

                                                                                                                              1. Drop toml.hpp wherever you like in your source tree
                                                                                                                              2. There is no step two

                                                                                                                              🍨️ Regular flavour

                                                                                                                              1. Add tomlplusplus/include to your include paths
                                                                                                                              2. #include <toml++/toml.h>

                                                                                                                              Conan

                                                                                                                              Add tomlplusplus/3.0.0 to your conanfile.

                                                                                                                              DDS

                                                                                                                              Add tomlpp to your package.json5, e.g.:

                                                                                                                              depends: [
                                                                                                                              +       'tomlpp^3.0.0',
                                                                                                                              +]

                                                                                                                              Meson

                                                                                                                              meson wrap install tomlplusplus

                                                                                                                              You can install the wrap with: After that, you can use it like a regular dependency: ‘tomlplusplus_dep = dependency('tomlplusplus’)`. You can also add it as a subproject directly.

                                                                                                                              Vcpkg

                                                                                                                              vcpkg install tomlplusplus

                                                                                                                              CMake FetchContent

                                                                                                                              include(FetchContent)
                                                                                                                              +FetchContent_Declare(
                                                                                                                              +    tomlplusplus
                                                                                                                              +    GIT_REPOSITORY https://github.com/marzer/tomlplusplus.git
                                                                                                                              +    GIT_TAG        v3.0.0
                                                                                                                              +)
                                                                                                                              +FetchContent_MakeAvailable(tomlplusplus)

                                                                                                                              Other environments and package managers

                                                                                                                              toml++ is a fairly new project and I'm not up-to-speed with all of the available packaging and integration options in the C++ ecosystem. I'm also a cmake novice, for better or worse. If there's an integration option missing be assured that I fully support it being added, and welcome pull requests!

                                                                                                                              Special mention: Python

                                                                                                                              There exists a python wrapper library built around toml++ called pytomlpp which is, at the time of writing, the only natively-compiled TOML library available for python, and thus much faster than many of the alternatives:

                                                                                                                              Parsing data.toml 5000 times:
                                                                                                                              +  pytomlpp:   0.694 s
                                                                                                                              +     rtoml:   0.871 s ( 1.25x)
                                                                                                                              +     tomli:   2.625 s ( 3.78x)
                                                                                                                              +      toml:   5.642 s ( 8.12x)
                                                                                                                              +     qtoml:   7.760 s (11.17x)
                                                                                                                              +   tomlkit:  32.708 s (47.09x)

                                                                                                                              Install it using pip:

                                                                                                                              pip install pytomlpp

                                                                                                                              Note that I'm not the owner of that project so if you wish to report a bug relating to the python implementation, please do so at their repository, not on the main toml++ one.

                                                                                                                              Library configuration options

                                                                                                                              The library exposes a number of configuration options in the form of compiler #defines. Things like changing the optional<T> type, disabling header-only mode, et cetera. The full list of configurables can be found on the Library Configuration page.

                                                                                                                              Contributing

                                                                                                                              Contributions are very welcome! Either by reporting issues or submitting pull requests. If you wish to submit a pull request, please see CONTRIBUTING for all the details you need to get going.

                                                                                                                              License

                                                                                                                              toml++ is licensed under the terms of the MIT license - see LICENSE.

                                                                                                                              If you're using the single-header version of the library you don't need to explicitly distribute the license file; it is embedded in the preamble at the top of the header.

                                                                                                                              Contacting the author

                                                                                                                              For bug reports and feature requests please use the Github Issues system. For anything else you're welcome to reach out via other means. In order of likely response speed:

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.0/logo.png b/v3.0.0/logo.png new file mode 100644 index 00000000..00491256 Binary files /dev/null and b/v3.0.0/logo.png differ diff --git a/v3.0.0/modules.html b/v3.0.0/modules.html new file mode 100644 index 00000000..5ad6e7fb --- /dev/null +++ b/v3.0.0/modules.html @@ -0,0 +1,138 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Modules

                                                                                                                              + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.0/namespaces.html b/v3.0.0/namespaces.html new file mode 100644 index 00000000..6e975296 --- /dev/null +++ b/v3.0.0/namespaces.html @@ -0,0 +1,143 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Namespaces

                                                                                                                              +
                                                                                                                                +
                                                                                                                              • + namespace toml The root namespace for all toml++ functions and types. +
                                                                                                                                  +
                                                                                                                                • namespace literals inline Convenience literal operators for working with toml++.
                                                                                                                                • +
                                                                                                                                +
                                                                                                                              • +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.0/namespacetoml.html b/v3.0.0/namespacetoml.html new file mode 100644 index 00000000..d98cb530 --- /dev/null +++ b/v3.0.0/namespacetoml.html @@ -0,0 +1,1181 @@ + + + + toml namespace | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml namespace +

                                                                                                                              +

                                                                                                                              The root namespace for all toml++ functions and types.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Namespaces

                                                                                                                              +
                                                                                                                              +
                                                                                                                              namespace literals inline
                                                                                                                              +
                                                                                                                              Convenience literal operators for working with toml++.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Classes

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + class array +
                                                                                                                              +
                                                                                                                              A TOML array.
                                                                                                                              +
                                                                                                                              + struct date +
                                                                                                                              +
                                                                                                                              A local date.
                                                                                                                              +
                                                                                                                              + struct date_time +
                                                                                                                              +
                                                                                                                              A date-time.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + struct inserter +
                                                                                                                              +
                                                                                                                              Helper class for suppressing move-construction in single-argument array constructors.
                                                                                                                              +
                                                                                                                              + class json_formatter +
                                                                                                                              +
                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted JSON.
                                                                                                                              +
                                                                                                                              + class key +
                                                                                                                              +
                                                                                                                              A key parsed from a TOML document.
                                                                                                                              +
                                                                                                                              + class node +
                                                                                                                              +
                                                                                                                              A TOML node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ViewedType>
                                                                                                                              + class node_view +
                                                                                                                              +
                                                                                                                              A view of a node.
                                                                                                                              +
                                                                                                                              + class parse_error +
                                                                                                                              +
                                                                                                                              An error generated when parsing fails.
                                                                                                                              +
                                                                                                                              + class parse_result +
                                                                                                                              +
                                                                                                                              The result of a parsing operation.
                                                                                                                              +
                                                                                                                              + struct source_position +
                                                                                                                              +
                                                                                                                              A source document line-and-column pair.
                                                                                                                              +
                                                                                                                              + struct source_region +
                                                                                                                              +
                                                                                                                              A source document region.
                                                                                                                              +
                                                                                                                              + class table +
                                                                                                                              +
                                                                                                                              A TOML table.
                                                                                                                              +
                                                                                                                              + struct time +
                                                                                                                              +
                                                                                                                              A local time-of-day.
                                                                                                                              +
                                                                                                                              + struct time_offset +
                                                                                                                              +
                                                                                                                              A timezone offset.
                                                                                                                              +
                                                                                                                              + class toml_formatter +
                                                                                                                              +
                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted TOML.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ValueType>
                                                                                                                              + class value +
                                                                                                                              +
                                                                                                                              A TOML value.
                                                                                                                              +
                                                                                                                              + class yaml_formatter +
                                                                                                                              +
                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted YAML.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Enums

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + enum class format_flags: uint64_t { none, + quote_dates_and_times = (1ull << 0), + quote_infinities_and_nans = (1ull << 1), + allow_literal_strings = (1ull << 2), + allow_multi_line_strings = (1ull << 3), + allow_real_tabs_in_strings = (1ull << 4), + allow_unicode_strings = (1ull << 5), + allow_binary_integers = (1ull << 6), + allow_octal_integers = (1ull << 7), + allow_hexadecimal_integers = (1ull << 8), + indent_sub_tables = (1ull << 9), + indent_array_elements = (1ull << 10), + indentation = indent_sub_tables | indent_array_elements, + relaxed_float_precision = (1ull << 11) } +
                                                                                                                              +
                                                                                                                              Format flags for modifying how TOML data is printed to streams.
                                                                                                                              +
                                                                                                                              + enum class node_type: uint8_t { none, + table, + array, + string, + integer, + floating_point, + boolean, + date, + time, + date_time } +
                                                                                                                              +
                                                                                                                              TOML node type identifiers.
                                                                                                                              +
                                                                                                                              + enum class value_flags: uint16_t { none, + format_as_binary = 1, + format_as_octal = 2, + format_as_hexadecimal = 3 } +
                                                                                                                              +
                                                                                                                              Metadata associated with TOML values.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Typedefs

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using array_iterator = /* ... */ +
                                                                                                                              +
                                                                                                                              A RandomAccessIterator for iterating over elements in a toml::array.
                                                                                                                              +
                                                                                                                              + using const_array_iterator = /* ... */ +
                                                                                                                              +
                                                                                                                              A RandomAccessIterator for iterating over const elements in a toml::array.
                                                                                                                              +
                                                                                                                              + using const_table_iterator = /* ... */ +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over const key-value pairs in a toml::table.
                                                                                                                              +
                                                                                                                              + using default_formatter = toml_formatter +
                                                                                                                              +
                                                                                                                              The 'default' formatter used by TOML objects when they are printed to a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + using inserted_type_of = /* ... */ +
                                                                                                                              +
                                                                                                                              Metafunction for determining which node type would be constructed if an object of this type was inserted into a toml::table or toml::array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + using optional = std::optional<T> +
                                                                                                                              +
                                                                                                                              The 'optional' type used throughout the library.
                                                                                                                              +
                                                                                                                              + using source_index = uint32_t +
                                                                                                                              +
                                                                                                                              The integer type used to tally line numbers and columns.
                                                                                                                              +
                                                                                                                              + using source_path_ptr = std::shared_ptr<const std::string> +
                                                                                                                              +
                                                                                                                              A pointer to a shared string resource containing a source path.
                                                                                                                              +
                                                                                                                              + using table_iterator = /* ... */ +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over key-value pairs in a toml::table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(node& root, + std::string_view path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the node matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const node& root, + std::string_view path) -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the node matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(node& root, + std::wstring_view path) -> node_view<node> +
                                                                                                                              +
                                                                                                                              Returns a view of the node matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const node& root, + std::wstring_view path) -> node_view<const node> +
                                                                                                                              +
                                                                                                                              Returns a const view of the node matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto operator""_toml(const char* str, + size_t len) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses TOML data from a string literal.
                                                                                                                              +
                                                                                                                              + auto operator""_toml(const char8_t* str, + size_t len) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses TOML data from a UTF-8 string literal.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char>
                                                                                                                              + auto operator<<(std::basic_ostream<Char>& lhs, + node_type rhs) -> std::basic_ostream<Char>& +
                                                                                                                              +
                                                                                                                              Pretty-prints the value of a node_type to a stream.
                                                                                                                              +
                                                                                                                              + auto parse(std::string_view doc, + std::string_view source_path = {}) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::string_view doc, + std::string&& source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::u8string_view doc, + std::string_view source_path = {}) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a char8_t string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::u8string_view doc, + std::string&& source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a char8_t string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::string_view doc, + std::wstring_view source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::istream& doc, + std::wstring_view source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a stream.
                                                                                                                              +
                                                                                                                              + auto parse(std::u8string_view doc, + std::wstring_view source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a char8_t string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::istream& doc, + std::string_view source_path = {}) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a stream.
                                                                                                                              +
                                                                                                                              + auto parse(std::istream& doc, + std::string&& source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a stream.
                                                                                                                              +
                                                                                                                              + auto parse_file(std::string_view file_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a file.
                                                                                                                              +
                                                                                                                              + auto parse_file(std::u8string_view file_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a file.
                                                                                                                              +
                                                                                                                              + auto parse_file(std::wstring_view file_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a file.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_array constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_boolean constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a bool or toml::value<bool>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_chronological constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type satisfies any of toml::is_date, toml::is_time or toml::is_date_time.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_container constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type satisfies either toml::is_table or toml::is_array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_date constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::date or toml::value<date>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_date_time constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::date_time or toml::value<date_time>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_floating_point constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a double or toml::value<double>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_integer constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a int64_t or toml::value<int64_t>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_key constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::key.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_key_or_convertible constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::key, or is implicitly or explicitly convertible to one.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_node constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::node (or one of its subclasses).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_node_view constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::node_view.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_number constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type satisfies either toml::is_integer or toml::is_floating_point.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_string constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a std::string or toml::value<std::string>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_table constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_time constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::time or toml::value<time>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_value constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, any of the toml value types. Excludes tables and arrays.
                                                                                                                              +
                                                                                                                              + value_flags preserve_source_value_flags constexpr +
                                                                                                                              +
                                                                                                                              Special toml::value_flags constant used for array + table insert functions to specify that any value nodes being copied should not have their flags property overridden by the inserting function's flags argument.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Enum documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + enum class toml::format_flags: uint64_t +

                                                                                                                              +

                                                                                                                              Format flags for modifying how TOML data is printed to streams.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Enumerators
                                                                                                                              none +

                                                                                                                              None.

                                                                                                                              +
                                                                                                                              quote_dates_and_times +

                                                                                                                              Dates and times will be emitted as quoted strings.

                                                                                                                              +
                                                                                                                              quote_infinities_and_nans +

                                                                                                                              Infinities and NaNs will be emitted as quoted strings.

                                                                                                                              +
                                                                                                                              allow_literal_strings +

                                                                                                                              Strings will be emitted as single-quoted literal strings where possible.

                                                                                                                              +
                                                                                                                              allow_multi_line_strings +

                                                                                                                              Strings containing newlines will be emitted as triple-quoted 'multi-line' strings where possible.

                                                                                                                              +
                                                                                                                              allow_real_tabs_in_strings +

                                                                                                                              Allow real tab characters in string literals (as opposed to the escaped form \t).

                                                                                                                              +
                                                                                                                              allow_unicode_strings +

                                                                                                                              Allow non-ASCII characters in strings (as opposed to their escaped form, e.g. \u00DA).

                                                                                                                              +
                                                                                                                              allow_binary_integers +

                                                                                                                              Allow integers with value_flags::format_as_binary to be emitted as binary.

                                                                                                                              +
                                                                                                                              allow_octal_integers +

                                                                                                                              Allow integers with value_flags::format_as_octal to be emitted as octal.

                                                                                                                              +
                                                                                                                              allow_hexadecimal_integers +

                                                                                                                              Allow integers with value_flags::format_as_hexadecimal to be emitted as hexadecimal.

                                                                                                                              +
                                                                                                                              indent_sub_tables +

                                                                                                                              Apply indentation to tables nested within other tables/arrays.

                                                                                                                              +
                                                                                                                              indent_array_elements +

                                                                                                                              Apply indentation to array elements when the array is forced to wrap over multiple lines.

                                                                                                                              +
                                                                                                                              indentation +

                                                                                                                              Combination mask of all indentation-enabling flags.

                                                                                                                              +
                                                                                                                              relaxed_float_precision +

                                                                                                                              Emit floating-point values with relaxed (human-friendly) precision.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + enum class toml::node_type: uint8_t +

                                                                                                                              +

                                                                                                                              TOML node type identifiers.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Enumerators
                                                                                                                              none +

                                                                                                                              Not-a-node.

                                                                                                                              +
                                                                                                                              table +

                                                                                                                              The node is a toml::table.

                                                                                                                              +
                                                                                                                              array +

                                                                                                                              The node is a toml::array.

                                                                                                                              +
                                                                                                                              string +

                                                                                                                              The node is a toml::value<std::string>.

                                                                                                                              +
                                                                                                                              integer +

                                                                                                                              The node is a toml::value<int64_t>.

                                                                                                                              +
                                                                                                                              floating_point +

                                                                                                                              The node is a toml::value<double>.

                                                                                                                              +
                                                                                                                              boolean +

                                                                                                                              The node is a toml::value<bool>.

                                                                                                                              +
                                                                                                                              date +

                                                                                                                              The node is a toml::value<date>.

                                                                                                                              +
                                                                                                                              time +

                                                                                                                              The node is a toml::value<time>.

                                                                                                                              +
                                                                                                                              date_time +

                                                                                                                              The node is a toml::value<date_time>.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + enum class toml::value_flags: uint16_t +

                                                                                                                              +

                                                                                                                              Metadata associated with TOML values.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Enumerators
                                                                                                                              none +

                                                                                                                              None.

                                                                                                                              +
                                                                                                                              format_as_binary +

                                                                                                                              Format integer values as binary.

                                                                                                                              +
                                                                                                                              format_as_octal +

                                                                                                                              Format integer values as octal.

                                                                                                                              +
                                                                                                                              format_as_hexadecimal +

                                                                                                                              Format integer values as hexadecimal.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Typedef documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + using toml::default_formatter = toml_formatter +

                                                                                                                              +

                                                                                                                              The 'default' formatter used by TOML objects when they are printed to a stream.

                                                                                                                              +

                                                                                                                              This is an alias for toml::toml_formatter.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + using toml::inserted_type_of = /* ... */ +

                                                                                                                              +

                                                                                                                              Metafunction for determining which node type would be constructed if an object of this type was inserted into a toml::table or toml::array.

                                                                                                                              +
                                                                                                                              static_assert(std::is_same_v<toml::inserted_type_of<const char*>, toml::value<std::string>);
                                                                                                                              +static_assert(std::is_same_v<toml::inserted_type_of<int>,         toml::value<int64_t>);
                                                                                                                              +static_assert(std::is_same_v<toml::inserted_type_of<float>,       toml::value<double>);
                                                                                                                              +static_assert(std::is_same_v<toml::inserted_type_of<bool>,        toml::value<bool>);
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + using toml::optional = std::optional<T> +

                                                                                                                              +

                                                                                                                              The 'optional' type used throughout the library.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::at_path(node& root, + std::string_view path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the node matching a fully-qualified "TOML path".

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              rootThe root node from which the path will be traversed.
                                                                                                                              pathThe "TOML path" to traverse.
                                                                                                                              +
                                                                                                                              auto config = R"(
                                                                                                                              +
                                                                                                                              +[foo]
                                                                                                                              +bar = [ 0, 1, 2, [ 3 ], { kek = 4 } ]
                                                                                                                              +
                                                                                                                              +)"_toml;
                                                                                                                              +
                                                                                                                              +std::cout << toml::at_path(config, "foo.bar[2]") << "\n";
                                                                                                                              +std::cout << toml::at_path(config, "foo.bar[3][0]") << "\n";
                                                                                                                              +std::cout << toml::at_path(config, "foo.bar[4].kek") << "\n";
                                                                                                                              2
                                                                                                                              +3
                                                                                                                              +4
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::at_path(const node& root, + std::string_view path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a const view of the node matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::at_path(node& root, + std::wstring_view path) +

                                                                                                                              +

                                                                                                                              Returns a view of the node matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::at_path(const node& root, + std::wstring_view path) +

                                                                                                                              +

                                                                                                                              Returns a const view of the node matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Char> +
                                                                                                                              + std::basic_ostream<Char>& toml::operator<<(std::basic_ostream<Char>& lhs, + node_type rhs) +

                                                                                                                              +

                                                                                                                              Pretty-prints the value of a node_type to a stream.

                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2.0, "3", false };
                                                                                                                              +for (size_t i = 0; i < arr.size() i++)
                                                                                                                              +    std::cout << "Element ["sv << i << "] is: "sv << arr[i].type() << "\n";
                                                                                                                              Element [0] is: integer
                                                                                                                              +Element [1] is: floating-point
                                                                                                                              +Element [2] is: string
                                                                                                                              +Element [3] is: boolean
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::string_view doc, + std::string_view source_path = {}) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse("a = 3"sv);
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::string_view doc, + std::string&& source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse("a = 3"sv, "foo.toml");
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::u8string_view doc, + std::string_view source_path = {}) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a char8_t string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse(u8"a = 3"sv);
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::u8string_view doc, + std::string&& source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a char8_t string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse(u8"a = 3"sv, "foo.toml");
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::string_view doc, + std::wstring_view source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse("a = 3"sv, L"foo.toml");
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::istream& doc, + std::wstring_view source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              std::stringstream ss;
                                                                                                                              +ss << "a = 3"sv;
                                                                                                                              +
                                                                                                                              +auto tbl = toml::parse(ss);
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::u8string_view doc, + std::wstring_view source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a char8_t string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse(u8"a = 3"sv, L"foo.toml");
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::istream& doc, + std::string_view source_path = {}) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              std::stringstream ss;
                                                                                                                              +ss << "a = 3"sv;
                                                                                                                              +
                                                                                                                              +auto tbl = toml::parse(ss);
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::istream& doc, + std::string&& source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              std::stringstream ss;
                                                                                                                              +ss << "a = 3"sv;
                                                                                                                              +
                                                                                                                              +auto tbl = toml::parse(ss, "foo.toml");
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse_file(std::string_view file_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a file.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              file_pathThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              toml::parse_result get_foo_toml()
                                                                                                                              +{
                                                                                                                              +    return toml::parse_file("foo.toml");
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse_file(std::u8string_view file_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a file.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              file_pathThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              toml::parse_result get_foo_toml()
                                                                                                                              +{
                                                                                                                              +    return toml::parse_file(u8"foo.toml");
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse_file(std::wstring_view file_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a file.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              file_pathThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              toml::parse_result get_foo_toml()
                                                                                                                              +{
                                                                                                                              +    return toml::parse_file(L"foo.toml");
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.0/namespacetoml_1_1literals.html b/v3.0.0/namespacetoml_1_1literals.html new file mode 100644 index 00000000..d6faa3e7 --- /dev/null +++ b/v3.0.0/namespacetoml_1_1literals.html @@ -0,0 +1,226 @@ + + + + toml::literals namespace | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::literals namespace inline +

                                                                                                                              +

                                                                                                                              Convenience literal operators for working with toml++.

                                                                                                                              + +

                                                                                                                              This namespace exists so you can safely hoist the toml++ literal operators into another scope without dragging in everything from the toml namespace:

                                                                                                                              #include <toml++/toml.h>
                                                                                                                              +using namespace toml::literals;
                                                                                                                              +
                                                                                                                              +int main()
                                                                                                                              +{
                                                                                                                              +    toml::table tbl = "vals = [1, 2, 3]"_toml;
                                                                                                                              +
                                                                                                                              +    // ... do stuff with the table generated by the "_toml" literal ...
                                                                                                                              +
                                                                                                                              +    return 0;
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator""_toml(const char* str, + size_t len) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses TOML data from a string literal.
                                                                                                                              +
                                                                                                                              + auto operator""_toml(const char8_t* str, + size_t len) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses TOML data from a UTF-8 string literal.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::literals::operator""_toml(const char* str, + size_t len) +

                                                                                                                              +

                                                                                                                              Parses TOML data from a string literal.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              strThe string data. Must be valid UTF-8.
                                                                                                                              lenThe string length.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              using namespace toml::literals;
                                                                                                                              +
                                                                                                                              +auto tbl = "a = 3"_toml;
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::literals::operator""_toml(const char8_t* str, + size_t len) +

                                                                                                                              +

                                                                                                                              Parses TOML data from a UTF-8 string literal.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              strThe string data. Must be valid UTF-8.
                                                                                                                              lenThe string length.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              using namespace toml::literals;
                                                                                                                              +
                                                                                                                              +auto tbl = u8"a = 3"_toml;
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.0/pages.html b/v3.0.0/pages.html new file mode 100644 index 00000000..a4595a63 --- /dev/null +++ b/v3.0.0/pages.html @@ -0,0 +1,137 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Pages

                                                                                                                              +
                                                                                                                                +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.0/search-v2.js b/v3.0.0/search-v2.js new file mode 100644 index 00000000..1fb71e1f --- /dev/null +++ b/v3.0.0/search-v2.js @@ -0,0 +1,897 @@ +/* + This file is part of m.css. + + Copyright © 2017, 2018, 2019, 2020, 2021, 2022, 2023 + Vladimír Vondruš + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +*/ + +"use strict"; /* it summons the Cthulhu in a proper way, they say */ + +var Search = { + formatVersion: 2, /* the data filename contains this number too */ + + dataSize: 0, /* used mainly by tests, not here */ + symbolCount: '…', + trie: null, + map: null, + mapFlagsOffset: null, + typeMap: null, + maxResults: 0, + + /* Type sizes and masks. The data is always fetched as 16/32bit number and + then masked to 1, 2, 3 or 4 bytes. Fortunately on LE a mask is enough, + on BE we'd have to read N bytes before and then mask. */ + nameSizeBytes: null, + nameSizeMask: null, + resultIdBytes: null, + resultIdMask: null, + fileOffsetBytes: null, + fileOffsetMask: null, + lookaheadBarrierMask: null, + + /* Always contains at least the root node offset and then one node offset + per entered character */ + searchString: '', + searchStack: [], + + /* So items don't get selected right away when a cursor is over results but + only after mouse moves */ + mouseMovedSinceLastRender: false, + + /* Whether we can go back in history in order to hide the search box or + not. We can't do that if we arrived directly on #search from outside. */ + canGoBackToHideSearch: false, + + /* Autocompletion in the input field is whitelisted only for character + input (so not deletion, cut, or anything else). This is flipped in the + onkeypress event and reset after each oninput event. */ + autocompleteNextInputEvent: false, + + init: function(buffer, maxResults) { + let view = new DataView(buffer); + + /* The file is too short to contain at least the headers and empty + sections */ + if(view.byteLength < 31) { + console.error("Search data too short"); + return false; + } + + if(view.getUint8(0) != 'M'.charCodeAt(0) || + view.getUint8(1) != 'C'.charCodeAt(0) || + view.getUint8(2) != 'S'.charCodeAt(0)) { + console.error("Invalid search data signature"); + return false; + } + + if(view.getUint8(3) != this.formatVersion) { + console.error("Invalid search data version"); + return false; + } + + /* Fetch type sizes. The only value that can fail is result ID byte + count, where value of 3 has no assigned meaning. */ + let typeSizes = view.getUint8(4, true); + if((typeSizes & 0x01) >> 0 == 0) { + this.fileOffsetBytes = 3; + this.fileOffsetMask = 0x00ffffff; + this.lookaheadBarrierMask = 0x00800000; + } else /* (typeSizes & 0x01) >> 0 == 1 */ { + this.fileOffsetBytes = 4; + this.fileOffsetMask = 0xffffffff; + this.lookaheadBarrierMask = 0x80000000; + } + if((typeSizes & 0x06) >> 1 == 0) { + this.resultIdBytes = 2; + this.resultIdMask = 0x0000ffff; + } else if((typeSizes & 0x06) >> 1 == 1) { + this.resultIdBytes = 3; + this.resultIdMask = 0x00ffffff; + } else if((typeSizes & 0x06) >> 1 == 2) { + this.resultIdBytes = 4; + this.resultIdMask = 0xffffffff; + } else /* (typeSizes & 0x06) >> 1 == 3 */ { + console.error("Invalid search data result ID byte value"); + return false; + } + if((typeSizes & 0x08) >> 3 == 0) { + this.nameSizeBytes = 1; + this.nameSizeMask = 0x00ff; + } else /* (typeSizes & 0x08) >> 3 == 1 */ { + this.nameSizeBytes = 2; + this.nameSizeMask = 0xffff; + } + + /* Separate the data into the trie and the result / type map. Because + we're reading larger values than there might be and then masking out + the high bytes, keep extra 1/2 byte padding at the end to avoid + OOB errors. */ + let mapOffset = view.getUint32(12, true); + let typeMapOffset = view.getUint32(16, true); + /* There may be a 3-byte file offset at the end of the trie which we'll + read as 32-bit, add one safety byte in that case */ + this.trie = new DataView(buffer, 20, mapOffset - 20 + (4 - this.fileOffsetBytes)); + /* There may be a 3-byte file size (for zero results) which we'll read + as 32-bit, add one safety byte in that case */ + this.map = new DataView(buffer, mapOffset, typeMapOffset - mapOffset + (4 - this.fileOffsetBytes)); + /* No variable-size types in the type map at the moment */ + this.typeMap = new DataView(buffer, typeMapOffset); + + /* Offset of the first result map item is after N + 1 offsets and N + flags, calculate flag offset from that */ + this.mapFlagsOffset = this.fileOffsetBytes*(((this.map.getUint32(0, true) & this.fileOffsetMask) - this.fileOffsetBytes)/(this.fileOffsetBytes + 1) + 1); + + /* Set initial properties */ + this.dataSize = buffer.byteLength; + this.symbolCount = view.getUint32(8, true) + " symbols (" + Math.round(this.dataSize/102.4)/10 + " kB)"; + this.maxResults = maxResults ? maxResults : 100; + this.searchString = ''; + this.searchStack = [this.trie.getUint32(0, true)]; + + /* istanbul ignore if */ + if(typeof document !== 'undefined') { + document.getElementById('search-symbolcount').innerHTML = this.symbolCount; + document.getElementById('search-input').disabled = false; + document.getElementById('search-input').placeholder = "Type something here …"; + document.getElementById('search-input').focus(); + + /* Search for the input value (there might be something already, + for example when going back in the browser) */ + let value = document.getElementById('search-input').value; + + /* Otherwise check the GET parameters for `q` and fill the input + with that */ + if(!value.length) { + var args = decodeURIComponent(window.location.search.substr(1)).trim().split('&'); + for(var i = 0; i != args.length; ++i) { + if(args[i].substring(0, 2) != 'q=') continue; + + value = document.getElementById('search-input').value = args[i].substring(2); + break; + } + } + + if(value.length) Search.searchAndRender(value); + } + + return true; + }, + + download: /* istanbul ignore next */ function(url) { + var req = window.XDomainRequest ? new XDomainRequest() : new XMLHttpRequest(); + if(!req) return; + + req.open("GET", url, true); + req.responseType = 'arraybuffer'; + req.onreadystatechange = function() { + if(req.readyState != 4) return; + + Search.init(req.response); + } + req.send(); + }, + + base85decode: function(base85string) { + function charValue(char) { + if(char >= 48 && char < 58) /* 0-9 -> 0-9 */ + return char - 48 + 0; + if(char >= 65 && char < 91) /* A-Z -> 10-35 */ + return char - 65 + 10; + if(char >= 97 && char < 123) /* a-z -> 36-61 */ + return char - 97 + 36; + if(char == 33) /* ! -> 62 */ + return 62; + /* skipping 34 (') */ + if(char >= 35 && char < 39) /* #-& -> 63-66 */ + return char - 35 + 63; + /* skipping 39 (") */ + if(char >= 40 && char < 44) /* (-+ -> 67-70 */ + return char - 40 + 67; + /* skipping 44 (,) */ + if(char == 45) /* - -> 71 */ + return 71; + if(char >= 59 && char < 65) /* ;-@ -> 72-77 */ + return char - 59 + 72; + if(char >= 94 && char < 97) /* ^-` -> 78-80 */ + return char - 94 + 78; + if(char >= 123 && char < 127) /* {-~ -> 81-84 */ + return char - 123 + 81; + + return 0; /* Interpret padding values as zeros */ + } + + /* Pad the string for easier decode later. We don't read past the file + end, so it doesn't matter what garbage is there. */ + if(base85string.length % 5) { + console.log("Expected properly padded base85 data"); + return; + } + + let buffer = new ArrayBuffer(base85string.length*4/5); + let data8 = new DataView(buffer); + for(let i = 0; i < base85string.length; i += 5) { + let char1 = charValue(base85string.charCodeAt(i + 0)); + let char2 = charValue(base85string.charCodeAt(i + 1)); + let char3 = charValue(base85string.charCodeAt(i + 2)); + let char4 = charValue(base85string.charCodeAt(i + 3)); + let char5 = charValue(base85string.charCodeAt(i + 4)); + + data8.setUint32(i*4/5, char5 + + char4*85 + + char3*85*85 + + char2*85*85*85 + + char1*85*85*85*85, false); /* BE, yes */ + } + + return buffer; + }, + + load: function(base85string) { + return this.init(this.base85decode(base85string)); + }, + + /* http://ecmanaut.blogspot.com/2006/07/encoding-decoding-utf8-in-javascript.html */ + toUtf8: function(string) { return unescape(encodeURIComponent(string)); }, + fromUtf8: function(string) { return decodeURIComponent(escape(string)); }, + + autocompletedCharsToUtf8: function(chars) { + /* Strip incomplete UTF-8 chars from the autocompletion end */ + for(let i = chars.length - 1; i >= 0; --i) { + let c = chars[i]; + + /* We're safe, finish */ + if( + /* ASCII value at the end */ + (c < 128 && i + 1 == chars.length) || + + /* Full two-byte character at the end */ + ((c & 0xe0) == 0xc0 && i + 2 == chars.length) || + + /* Full three-byte character at the end */ + ((c & 0xf0) == 0xe0 && i + 3 == chars.length) || + + /* Full four-byte character at the end */ + ((c & 0xf8) == 0xf0 && i + 4 == chars.length) + ) break; + + /* Continuing UTF-8 character, go further back */ + if((c & 0xc0) == 0x80) continue; + + /* Otherwise the character is not complete, drop it from the end */ + chars.length = i; + break; + } + + /* Convert the autocompleted UTF-8 sequence to a string */ + let suggestedTabAutocompletionString = ''; + for(let i = 0; i != chars.length; ++i) + suggestedTabAutocompletionString += String.fromCharCode(chars[i]); + return suggestedTabAutocompletionString; + }, + + /* Returns the values in UTF-8, but input is in whatever shitty 16bit + encoding JS has */ + search: function(searchString) { + /* Normalize the search string first, convert to UTF-8 and trim spaces + from the left. From the right they're trimmed only if nothing is + found, see below. */ + searchString = this.toUtf8(searchString.toLowerCase().replace(/^\s+/,'')); + + /* TODO: maybe i could make use of InputEvent.data and others here */ + + /* Find longest common prefix of previous and current value so we don't + need to needlessly search again */ + let max = Math.min(searchString.length, this.searchString.length); + let commonPrefix = 0; + for(; commonPrefix != max; ++commonPrefix) + if(searchString[commonPrefix] != this.searchString[commonPrefix]) break; + + /* Drop items off the stack if it has has more than is needed for the + common prefix (it needs to have at least one item, though) */ + if(commonPrefix + 1 < this.searchStack.length) + this.searchStack.splice(commonPrefix + 1, this.searchStack.length - commonPrefix - 1); + + /* Add new characters from the search string */ + let foundPrefix = commonPrefix; + for(; foundPrefix != searchString.length; ++foundPrefix) { + /* Calculate offset and count of children */ + let offset = this.searchStack[this.searchStack.length - 1]; + + /* If there's a lot of results, the result count is a 16bit BE value + instead */ + let resultCount = this.trie.getUint8(offset); + let resultCountSize = 1; + if(resultCount & 0x80) { + resultCount = this.trie.getUint16(offset, false) & ~0x8000; + ++resultCountSize; + } + + let childCount = this.trie.getUint8(offset + resultCountSize); + + /* Go through all children and find the next offset */ + let childOffset = offset + resultCountSize + 1 + resultCount*this.resultIdBytes; + let found = false; + for(let j = 0; j != childCount; ++j) { + if(String.fromCharCode(this.trie.getUint8(childOffset + j)) != searchString[foundPrefix]) + continue; + + this.searchStack.push(this.trie.getUint32(childOffset + childCount + j*this.fileOffsetBytes, true) & this.fileOffsetMask & ~this.lookaheadBarrierMask); + found = true; + break; + } + + /* Character not found */ + if(!found) { + /* If we found everything except spaces at the end, pretend the + spaces aren't there. On the other hand, we *do* want to + try searching with the spaces first -- it can narrow down + the result list for page names or show subpages (which are + after a lookahead barrier that's a space). */ + if(!searchString.substr(foundPrefix).trim().length) + searchString = searchString.substr(0, foundPrefix); + + break; + } + } + + /* Save the whole found prefix for next time */ + this.searchString = searchString.substr(0, foundPrefix); + + /* If the whole thing was not found, return an empty result and offer + external search */ + if(foundPrefix != searchString.length) { + /* istanbul ignore if */ + if(typeof document !== 'undefined') { + let link = document.getElementById('search-external'); + if(link) + link.href = link.dataset.searchEngine.replace('{query}', encodeURIComponent(searchString)); + } + return [[], '']; + } + + /* Otherwise gather the results */ + let suggestedTabAutocompletionChars = []; + let results = []; + let leaves = [[this.searchStack[this.searchStack.length - 1], 0]]; + while(leaves.length) { + /* Pop offset from the queue */ + let current = leaves.shift(); + let offset = current[0]; + let suffixLength = current[1]; + + /* Calculate child count. If there's a lot of results, the count + "leaks over" to the child count storage. */ + /* TODO: hmmm. this is helluvalot duplicated code. hmm. */ + let resultCount = this.trie.getUint8(offset); + let resultCountSize = 1; + if(resultCount & 0x80) { + resultCount = this.trie.getUint16(offset, false) & ~0x8000; + ++resultCountSize; + } + + let childCount = this.trie.getUint8(offset + resultCountSize); + + /* Populate the results with all values associated with this node */ + for(let i = 0; i != resultCount; ++i) { + let index = this.trie.getUint32(offset + resultCountSize + 1 + i*this.resultIdBytes, true) & this.resultIdMask; + results.push(this.gatherResult(index, suffixLength, 0xffffff)); /* should be enough haha */ + + /* 'nuff said. */ + if(results.length >= this.maxResults) + return [results, this.autocompletedCharsToUtf8(suggestedTabAutocompletionChars)]; + } + + /* Dig deeper */ + let childOffset = offset + resultCountSize + 1 + resultCount*this.resultIdBytes; + for(let j = 0; j != childCount; ++j) { + let offsetBarrier = this.trie.getUint32(childOffset + childCount + j*this.fileOffsetBytes, true) & this.fileOffsetMask; + + /* Lookahead barrier, don't dig deeper */ + if(offsetBarrier & this.lookaheadBarrierMask) continue; + + /* Append to the queue */ + leaves.push([offsetBarrier & ~this.lookaheadBarrierMask, suffixLength + 1]); + + /* We don't have anything yet and this is the only path + forward, add the char to suggested Tab autocompletion. Can't + extract it from the leftmost 8 bits of offsetBarrier because + that would make it negative, have to load as Uint8 instead. + Also can't use String.fromCharCode(), because later doing + str.charCodeAt() would give me back UTF-16 values, which is + absolutely unwanted when all I want is check for truncated + UTF-8. */ + if(!results.length && leaves.length == 1 && childCount == 1) + suggestedTabAutocompletionChars.push(this.trie.getUint8(childOffset + j)); + } + } + + return [results, this.autocompletedCharsToUtf8(suggestedTabAutocompletionChars)]; + }, + + gatherResult: function(index, suffixLength, maxUrlPrefix) { + let flags = this.map.getUint8(this.mapFlagsOffset + index); + let resultOffset = this.map.getUint32(index*this.fileOffsetBytes, true) & this.fileOffsetMask; + + /* The result is an alias, parse the aliased prefix */ + let aliasedIndex = null; + if((flags & 0xf0) == 0x00) { + aliasedIndex = this.map.getUint32(resultOffset, true) & this.resultIdMask; + resultOffset += this.resultIdBytes; + } + + /* The result has a prefix, parse that first, recursively */ + let name = ''; + let url = ''; + if(flags & (1 << 3)) { + let prefixIndex = this.map.getUint32(resultOffset, true) & this.resultIdMask; + let prefixUrlPrefixLength = Math.min(this.map.getUint16(resultOffset + this.resultIdBytes, true) & this.nameSizeMask, maxUrlPrefix); + + let prefix = this.gatherResult(prefixIndex, 0 /*ignored*/, prefixUrlPrefixLength); + name = prefix.name; + url = prefix.url; + + resultOffset += this.resultIdBytes + this.nameSizeBytes; + } + + /* The result has a suffix, extract its length */ + let resultSuffixLength = 0; + if(flags & (1 << 0)) { + resultSuffixLength = this.map.getUint16(resultOffset, true) & this.nameSizeMask; + resultOffset += this.nameSizeBytes; + } + + let nextResultOffset = this.map.getUint32((index + 1)*this.fileOffsetBytes, true) & this.fileOffsetMask; + + /* Extract name */ + let j = resultOffset; + for(; j != nextResultOffset; ++j) { + let c = this.map.getUint8(j); + + /* End of null-delimited name */ + if(!c) { + ++j; + break; /* null-delimited */ + } + + name += String.fromCharCode(c); /* eheh. IS THIS FAST?! */ + } + + /* The result is an alias and we're not deep inside resolving a prefix, + extract the aliased name and URL */ + /* TODO: this abuses 0xffffff to guess how the call stack is deep and + that's just wrong, fix! */ + if(aliasedIndex != null && maxUrlPrefix == 0xffffff) { + let alias = this.gatherResult(aliasedIndex, 0 /* ignored */, 0xffffff); /* should be enough haha */ + + /* Keeping in UTF-8, as we need that for proper slicing (and concatenating) */ + return {name: name, + alias: alias.name, + url: alias.url, + flags: alias.flags, + cssClass: alias.cssClass, + typeName: alias.typeName, + suffixLength: suffixLength + resultSuffixLength}; + } + + /* Otherwise extract URL from here */ + let max = Math.min(j + maxUrlPrefix - url.length, nextResultOffset); + for(; j != max; ++j) { + url += String.fromCharCode(this.map.getUint8(j)); + } + + /* This is an alias, return what we have, without parsed CSS class and + type name as those are retrieved from the final target type */ + if(!(flags >> 4)) + return {name: name, + url: url, + flags: flags & 0x0f, + suffixLength: suffixLength + resultSuffixLength}; + + /* Otherwise, get CSS class and type name for the result label */ + let typeMapIndex = (flags >> 4) - 1; + let cssClass = [ + /* Keep in sync with _search.py */ + 'm-default', + 'm-primary', + 'm-success', + 'm-warning', + 'm-danger', + 'm-info', + 'm-dim' + ][this.typeMap.getUint8(typeMapIndex*2)]; + let typeNameOffset = this.typeMap.getUint8(typeMapIndex*2 + 1); + let nextTypeNameOffset = this.typeMap.getUint8((typeMapIndex + 1)*2 + 1); + let typeName = ''; + for(let j = typeNameOffset; j != nextTypeNameOffset; ++j) + typeName += String.fromCharCode(this.typeMap.getUint8(j)); + + /* Keeping in UTF-8, as we need that for proper slicing (and + concatenating). Strip the type from the flags, as it's now expressed + directly. */ + return {name: name, + url: url, + flags: flags & 0x0f, + cssClass: cssClass, + typeName: typeName, + suffixLength: suffixLength + resultSuffixLength}; + }, + + escape: function(name) { + return name.replace(/[\"&<>]/g, function (a) { + return { '"': '"', '&': '&', '<': '<', '>': '>' }[a]; + }); + }, + escapeForRtl: function(name) { + /* Besides the obvious escaping of HTML entities we also need + to escape punctuation, because due to the RTL hack to cut + text off on left side the punctuation characters get + reordered (of course). Prepending ‎ works for most + characters, parentheses we need to *soak* in it. But only + the right ones. And that for some reason needs to be also for &. + Huh. https://en.wikipedia.org/wiki/Right-to-left_mark */ + return this.escape(name).replace(/[:=]/g, '‎$&').replace(/(\)|>|&|\/)/g, '‎$&‎'); + }, + + renderResults: /* istanbul ignore next */ function(resultsSuggestedTabAutocompletion) { + if(!this.searchString.length) { + document.getElementById('search-help').style.display = 'block'; + document.getElementById('search-results').style.display = 'none'; + document.getElementById('search-notfound').style.display = 'none'; + return; + } + + document.getElementById('search-help').style.display = 'none'; + + /* Results found */ + if(resultsSuggestedTabAutocompletion[0].length) { + let results = resultsSuggestedTabAutocompletion[0]; + + document.getElementById('search-results').style.display = 'block'; + document.getElementById('search-notfound').style.display = 'none'; + + let list = ''; + for(let i = 0; i != results.length; ++i) { + /* Labels + */ + list += '
                                                                                                                              ' + results[i].typeName + '
                                                                                                                              ' + (results[i].flags & 2 ? '
                                                                                                                              deprecated
                                                                                                                              ' : '') + (results[i].flags & 4 ? '
                                                                                                                              deleted
                                                                                                                              ' : ''); + + /* Render the alias (cut off from the right) */ + if(results[i].alias) { + list += '
                                                                                                                              ' + this.escape(results[i].name.substr(0, results[i].name.length - this.searchString.length - results[i].suffixLength)) + '' + this.escape(results[i].name.substr(results[i].name.length - this.searchString.length - results[i].suffixLength, this.searchString.length)) + '' + this.escapeForRtl(results[i].name.substr(results[i].name.length - results[i].suffixLength)) + ': ' + this.escape(results[i].alias) + ''; + + /* Render the normal thing (cut off from the left, have to + escape for RTL) */ + } else { + list += '
                                                                                                                              ' + this.escapeForRtl(results[i].name.substr(0, results[i].name.length - this.searchString.length - results[i].suffixLength)) + '' + this.escapeForRtl(results[i].name.substr(results[i].name.length - this.searchString.length - results[i].suffixLength, this.searchString.length)) + '' + this.escapeForRtl(results[i].name.substr(results[i].name.length - results[i].suffixLength)); + } + + /* The closing */ + list += '
                                                                                                                              '; + } + document.getElementById('search-results').innerHTML = this.fromUtf8(list); + document.getElementById('search-current').scrollIntoView(true); + + /* Append the suggested tab autocompletion, if any, and if the user + didn't just delete it */ + let searchInput = document.getElementById('search-input'); + if(this.autocompleteNextInputEvent && resultsSuggestedTabAutocompletion[1].length && searchInput.selectionEnd == searchInput.value.length) { + let suggestedTabAutocompletion = this.fromUtf8(resultsSuggestedTabAutocompletion[1]); + + let lengthBefore = searchInput.value.length; + searchInput.value += suggestedTabAutocompletion; + searchInput.setSelectionRange(lengthBefore, searchInput.value.length); + } + + /* Nothing found */ + } else { + document.getElementById('search-results').innerHTML = ''; + document.getElementById('search-results').style.display = 'none'; + document.getElementById('search-notfound').style.display = 'block'; + } + + /* Don't allow things to be selected just by motionless mouse cursor + suddenly appearing over a search result */ + this.mouseMovedSinceLastRender = false; + + /* Reset autocompletion, if it was allowed. It'll get whitelisted next + time a character gets inserted. */ + this.autocompleteNextInputEvent = false; + }, + + searchAndRender: /* istanbul ignore next */ function(value) { + let prev = performance.now(); + let results = this.search(value); + let after = performance.now(); + this.renderResults(results); + if(this.searchString.length) { + document.getElementById('search-symbolcount').innerHTML = + results[0].length + (results[0].length >= this.maxResults ? '+' : '') + " results (" + Math.round((after - prev)*10)/10 + " ms)"; + } else + document.getElementById('search-symbolcount').innerHTML = this.symbolCount; + }, +}; + +/* istanbul ignore next */ +function selectResult(event) { + if(!Search.mouseMovedSinceLastRender) return; + + if(event.currentTarget.parentNode.id == 'search-current') return; + + let current = document.getElementById('search-current'); + current.removeAttribute('id'); + event.currentTarget.parentNode.id = 'search-current'; +} + +/* This is separated from showSearch() because we need non-destructive behavior + when appearing directly on a URL with #search */ /* istanbul ignore next */ +function updateForSearchVisible() { + /* Prevent accidental scrolling of the body, prevent page layout jumps */ + let scrolledBodyWidth = document.body.offsetWidth; + document.body.style.overflow = 'hidden'; + document.body.style.paddingRight = (document.body.offsetWidth - scrolledBodyWidth) + 'px'; + + document.getElementById('search-input').value = ''; + document.getElementById('search-input').focus(); + document.getElementById('search-results').style.display = 'none'; + document.getElementById('search-notfound').style.display = 'none'; + document.getElementById('search-help').style.display = 'block'; +} + +/* istanbul ignore next */ +function showSearch() { + window.location.hash = '#search'; + Search.canGoBackToHideSearch = true; + + updateForSearchVisible(); + document.getElementById('search-symbolcount').innerHTML = Search.symbolCount; + return false; +} + +/* istanbul ignore next */ +function hideSearch() { + /* If the search box was opened using showSearch(), we can go back in the + history. Otherwise (for example when we landed to #search from a + bookmark or another server), going back would not do the right thing and + in that case we simply replace the current history state. */ + if(Search.canGoBackToHideSearch) { + Search.canGoBackToHideSearch = false; + window.history.back(); + } else { + window.location.hash = '#!'; + window.history.replaceState('', '', window.location.pathname); + } + + /* Restore scrollbar, prevent page layout jumps */ + document.body.style.overflow = 'auto'; + document.body.style.paddingRight = '0'; + + return false; +} + +/* istanbul ignore next */ +function copyToKeyboard(text) { + /* Append to the popup, appending to document.body would cause it to + scroll when focused */ + let searchPopup = document.getElementsByClassName('m-doc-search')[0]; + let textarea = document.createElement("textarea"); + textarea.value = text; + searchPopup.appendChild(textarea); + textarea.focus(); + textarea.select(); + + document.execCommand('copy'); + + searchPopup.removeChild(textarea); + document.getElementById('search-input').focus(); +} + +/* Only in case we're running in a browser. Why a simple if(document) doesn't + work is beyond me. */ /* istanbul ignore if */ +if(typeof document !== 'undefined') { + document.getElementById('search-input').oninput = function(event) { + Search.searchAndRender(document.getElementById('search-input').value); + }; + + document.onkeydown = function(event) { + /* Search shown */ + if(window.location.hash == '#search') { + /* Close the search */ + if(event.key == 'Escape') { + hideSearch(); + + /* Focus the search input, if not already, using T or Tab */ + } else if((!document.activeElement || document.activeElement.id != 'search-input') && (event.key.toLowerCase() == 't' || event.key == 'Tab') && !event.shiftKey && !event.ctrlKey && !event.altKey && !event.metaKey) { + document.getElementById('search-input').focus(); + return false; /* so T doesn't get entered into the box */ + + /* Fill in the autocompleted selection */ + } else if(event.key == 'Tab' && !event.shiftKey && !event.ctrlKey && !event.altKey && !event.metaKey) { + /* But only if the input has selection at the end */ + let input = document.getElementById('search-input'); + if(input.selectionEnd == input.value.length && input.selectionStart != input.selectionEnd) { + input.setSelectionRange(input.value.length, input.value.length); + return false; /* so input won't lose focus */ + } + + /* Select next item */ + } else if(event.key == 'ArrowDown') { + let current = document.getElementById('search-current'); + if(current) { + let next = current.nextSibling; + if(next) { + current.id = ''; + next.id = 'search-current'; + next.scrollIntoView(false); + } + } + return false; /* so the keypress doesn't affect input cursor */ + + /* Select prev item */ + } else if(event.key == 'ArrowUp') { + let current = document.getElementById('search-current'); + if(current) { + let prev = current.previousSibling; + if(prev) { + current.id = ''; + prev.id = 'search-current'; + prev.scrollIntoView(false); + } + } + return false; /* so the keypress doesn't affect input cursor */ + + /* Go to result (if any) */ + } else if(event.key == 'Enter') { + let result = document.getElementById('search-current'); + if(result) { + result.firstElementChild.click(); + + /* We might be staying on the same page, so restore scrollbar, + and prevent page layout jumps */ + document.body.style.overflow = 'auto'; + document.body.style.paddingRight = '0'; + } + return false; /* so the form doesn't get sent */ + + /* Copy (Markdown) link to keyboard */ + } else if((event.key.toLowerCase() == 'l' || event.key.toLowerCase() == 'm') && event.metaKey) { + let result = document.getElementById('search-current'); + if(result) { + let plain = event.key.toLowerCase() == 'l'; + let link = plain ? result.firstElementChild.href : + '[' + result.firstElementChild.dataset.mdLinkTitle + '](' + result.firstElementChild.href + ')'; + + copyToKeyboard(link); + + /* Add CSS class to the element for visual feedback (this + will get removed on keyup), but only if it's not already + there (in case of key repeat, e.g.) */ + if(result.className.indexOf('m-doc-search-copied') == -1) + result.className += ' m-doc-search-copied'; + console.log("Copied " + (plain ? "link" : "Markdown link") + " to " + result.firstElementChild.dataset.mdLinkTitle); + } + + return false; /* so L doesn't get entered into the box */ + + /* Looks like the user is inserting some text (and not cutting, + copying or whatever), allow autocompletion for the new + character. The oninput event resets this back to false, so this + basically whitelists only keyboard input, including Shift-key + and special chars using right Alt (or equivalent on Mac), but + excluding Ctrl-key, which is usually not for text input. In the + worst case the autocompletion won't be allowed ever, which is + much more acceptable behavior than having no ability to disable + it and annoying the users. */ + } else if(event.key != 'Backspace' && event.key != 'Delete' && !event.metaKey && (!event.ctrlKey || event.altKey) + /* Don't ever attempt autocompletion with Android virtual + keyboards, as those report all `event.key`s as + `Unidentified` (on Chrome) or `Process` (on Firefox) with + `event.code` 229 and thus we have no way to tell if a text + is entered or deleted. See this WONTFIX bug for details: + https://bugs.chromium.org/p/chromium/issues/detail?id=118639 + Couldn't find any similar bugreport for Firefox, but I + assume the virtual keyboard is to blame. + + An alternative is to hook into inputEvent, which has the + data, but ... there's more cursed issues right after that: + + - setSelectionRange() in Chrome on Android only renders + stuff, but doesn't actually act as such. Pressing + Backspace will only remove the highlight, but the text + stays here. Only delay-calling it through a timeout will + work as intended. Possibly related SO suggestion (back + then not even the rendering worked properly): + https://stackoverflow.com/a/13235951 + Possibly related Chrome bug: + https://bugs.chromium.org/p/chromium/issues/detail?id=32865 + + - On Firefox Mobile, programmatically changing an input + value (for the autocompletion highlight) will trigger an + input event, leading to search *and* autocompletion being + triggered again. Ultimately that results in newly typed + characters not replacing the autocompletion but rather + inserting before it, corrupting the searched string. This + event has to be explicitly ignored. + + - On Firefox Mobile, deleting a highlight with the + backspace key will result in *three* input events instead + of one: + 1. `deleteContentBackward` removing the selection (same + as Chrome or desktop Firefox) + 2. `deleteContentBackward` removing *the whole word* + that contained the selection (or the whole text if + it's just one word) + 3. `insertCompositionText`, adding the word back in, + resulting in the same state as (1). + I have no idea WHY it has to do this (possibly some + REALLY NASTY workaround to trigger correct font shaping?) + but ultimately it results in the autocompletion being + added again right after it got deleted, making this whole + thing VERY annoying to use. + + I attempted to work around the above, but it resulted in a + huge amount of browser-specific code that achieves only 90% + of the goal, with certain corner cases still being rather + broken (such as autocompletion randomly triggering when + erasing the text, even though it shouldn't). So disabling + autocompletion on this HELLISH BROKEN PLATFORM is the best + option at the moment. */ + && event.key != 'Unidentified' && event.key != 'Process' + ) { + Search.autocompleteNextInputEvent = true; + /* Otherwise reset the flag, because when the user would press e.g. + the 'a' key and then e.g. ArrowRight (which doesn't trigger + oninput), a Backspace after would still result in + autocompleteNextInputEvent, because nothing reset it back. */ + } else { + Search.autocompleteNextInputEvent = false; + } + + /* Search hidden */ + } else { + /* Open the search on the T or Tab key */ + if((event.key.toLowerCase() == 't' || event.key == 'Tab') && !event.shiftKey && !event.ctrlKey && !event.altKey && !event.metaKey) { + showSearch(); + return false; /* so T doesn't get entered into the box */ + } + } + }; + + document.onkeyup = function(event) { + /* Remove highlight after key is released after a link copy */ + if((event.key.toLowerCase() == 'l' || event.key.toLowerCase() == 'm') && event.metaKey) { + let result = document.getElementById('search-current'); + if(result) result.className = result.className.replace(' m-doc-search-copied', ''); + } + }; + + /* Allow selecting items by mouse hover only after it moves once the + results are populated. This prevents a random item getting selected if + the cursor is left motionless over the result area. */ + document.getElementById('search-results').onmousemove = function() { + Search.mouseMovedSinceLastRender = true; + }; + + /* If #search is already present in the URL, hide the scrollbar etc. for a + consistent experience */ + if(window.location.hash == '#search') updateForSearchVisible(); +} + +/* For Node.js testing */ /* istanbul ignore else */ +if(typeof module !== 'undefined') { module.exports = { Search: Search }; } diff --git a/v3.0.0/searchdata-v2.js b/v3.0.0/searchdata-v2.js new file mode 100644 index 00000000..cf5173fa --- /dev/null +++ b/v3.0.0/searchdata-v2.js @@ -0,0 +1,2 @@ +/* Generated by https://mcss.mosra.cz/documentation/doxygen/. Do not edit. */ +Search.load('O+!-x00000e*ypi@^1hDc_9G+d~W~%0RR9100CtL00001ZU_JX00D0f000310RR92a~c2u00Ctl00001Z6p8y00C(#00001bT9w_00Cb%00001WIO->00C}700001VMqV~00Cc400001b5sBT00CuM00001bYK7g00CiU000310ssI3b8-Lx00C}x00001VSE4p00C}-00001Ux)wz00Cr<00001Zj=B300Ci|00001U!VX000DER00001Wvl=I00C*T00001bhrQj00C*f00001Zo~ip00C*r00001X3zit00C~+00002WNB;w0Nelo00Cd(00001W$XX|00DIJ00001Z}00Cbz0RR92Y&Zb`00Ch>0RR92azp_D00Cu60RR92bWi~R00C)M0RRC21ONa5b7BDi00C!a0RR92ZfpSn00C)o0RR92a(Dp%00DG<0RR92bA$l^00Cc$0RR92Wsm^?00C~60RR92X`BH700C^G0RR92U#I~900C*P0RR92bhH5g00C^e0RR92b-)1t0RRO600DE%0RR92XV3uv00C~+0RR92Y1{z-00DC10RR92bm##900DFE0RR92U-SV000D0L0RR92X#fHM00CbH0ssI3a|{9i00CkW0ssI3VHg4c00DF!0ssI3UnBwm00C?&0ssI3VK4#!00Ct-0ssL31^@s7b3y_D00C!40ssI3ZcG9I00C)I0ssI3a##WY00DGf0ssI3b7TSl00CcW0ssI3WpDxj00Crn0ssI3Z+rp(00Coy0ssI3X@~*<00C}}0ssL32LJ#8bD9DG00DBI0ssI3WuyWC00C#J0ssI3Wv~JO00DHi0ssI3ZoC2j00C*j0ssI3U&sOg00DW<0ssI3a?}C<00Cjz0ssI3Zr}m{00C*{0ssL32mk;9bMgWJ00DCL0ssI3W&8pF00CzL0{{R4We5WR00DFk0{{R4ZWIFm00C(l0{{R4Umybj00C?!0{{R4VJrgx00DF|0{{R4V>kl<0RRaA00DDE0{{R4a!3OJ00CuA0{{R4XH)|K00CuM0{{R4bYKGj00C}h0{{R4X>0=k00Cce0{{R4Y7f1ONa5bf^RX00C~Y1ONa5Ww-k&0RavGI&KAk00DD!1poj6XM61poj6Uz7y^00DHG1poj6VW0&700C{L1poj6a;yaa00D2Z1pom64*&oGWxfRf00C~o1poj6Z^#7z0RRvH00Cvx1poj6Y}f?=00Cm&1pom67XSbOW$Fb000C|81poj7VQJ(A0Q3a_0RRyI00DUf1^@s7VF(5Q00D9i1^@s7aufyt0RR#J00Czp1^@s7ZX^Z(00C(#1^@s7axew}00DG11^@v76951KazX|G00Cu21^@s7XG{hF00CuE1^@s7bXW!e00C}Z1^@v76aWALbZQ0w00C}p1^@s7X>1^@s7ZRiF700C+41^@s7bo2%Q0Ra{OU-||B00CtH2LJ#8bO;9k00ChR2LJ#FZggRDX=Y+%&IJJa1ppcb06Yc&WCj4X1_0g$02BuR00BB02LJ&982~yw2Y>(pWkLr400D4H2LJ#8c~A!c0RRsK00CuO2LJ#8a9{@j00DVs2LJ#8bZiFz00Cce2LJ#8WOxSv00Cuw2LJ#8cZ3H30RVjj00AkG2LJ&9d;}(pbeabM00C*D2LJ#9Wpj!L0H_B50RVRd00Aku2LJ&8c?19fDZ&Q;0ReafD8>hX00DH&2LJ#8W7G!#00Cjz2LJ#8c;E*B0RVdh00AlN2LJ&9dITu&2Y>(pa`p!R00L!i<_7@&2LJ&Ab_6J2ya#{;2mk;9Wex}c00DIx2mk;9Y#;~#00L=Yt_J`n2mk>95d;7MDK-cI0Ra#MC^`s$00BHe2mk>99|QmaDNYCg0RbKaC{hT300C@R2mk;9Z(s-j00D1i2mk;9Vr&Qi0stcfAp`&cDR>9~2LLYwDFiD7Cj>17GXyaN00Ak42ml8GE(9n9Dg-73ECezHFa#)+2!H|tA_O1=C_R1%fSL#Z0RSZg00Aky2mk>ABm^kH2!H?qJ;n$C0{}e)IRrZd00Ak~2mk{CJOnrdIs_=(2!H?qUE&A;00lfCJt1322mo>j0ImoC&IkbR2mk;9a`XrQ00D0b2><{AbPx#u00ChZ2><{AavTW&00Ctp2><{Aa3~1?0RR&O00Aj92>=BE6$Bjw7X%pu8w3CWDLx4R1pyQU90V2w7z7#wC`t){00DPU2><{AWnc*a00C)c2><{Ac5Dd%0Rj>PC|@`UfN}`{00Cuq2><{AWP}L-00D1`2>=2BH3T;V00AkM2>=2CGz2yTD4Yp^00C&C2><{AbgT&g00CjL2><{AaJUHo00CdV2><~AKLh{)Dar`|0RTY+00Ak~2><~BKm;h*34j0rdEN;C00Cj<2><{Aa_k8J00DCH2><~ALj(W;DgFrn0Rch;C;|$A00C|Y3IG5BVGs%c00Ctd3IG5BY#a&z00D0z3IG5BZzu`?0RTk=00Aj93IG8BM+5)?DLx7S0Rct?C_)N=00Cu43IG5BZBPmT00C)M3IG5BbX*Dm0Rlt>C|@`VfMN;&00Cua3IG5BbaV;;00Cio3IG8BNdy1^DTWFF0Rcz^D2fVz00DH63IG5BZkP%H00C*93IG5BZ=?zU00D5S3IG5BU$6=Q00C#V3IG5BZoCQr00C*j3IG5BbjS(-00Cjn3IG5BZ`29^00C^;3IG8BO9TJ`Ddq|Q0Rc(`DC!D;00DCF3IG5BW%vpJ00C$I3IG5BWdsWV00DFg3jhECZV(Fq0RT+|00Ai+3jhHDOav$(3xEItXC?~(00C|;3jhECX*3G}00DA33jhECbU+IL0RT?~00AjX3jhHDP6Q}W3xEItWmXFS00C@X3jhECVq^;d0RT}100Aj*3jhHDPy{G+3xEItWqJz$00C`+3jhEDVQFd$0Ei0!00&`WWM*k|bodDXE(!pE3IN~=02T`XMhgIr3jhHEJ_IOV&Iy2+3jhEDbaTWB0JaMN0RU4300Ak?3jhHCRRjP5Db@=B0RUG700AlB3jhHDRs<;I3xEItbLtBK00Cw43jhECZ1@WR00CnD3jhECVFU~S00DFg3;+NDUl0rc00Cwe3;+NDZyXE&0RmJ6C|}wOfFcY400DU@3;+NDVKfW?00DA33;+NDazG3K0RUM900AjX3;+QESOh3g41fRuZdMEc00CiM3;+NDWn>Hh00C@j3;+NDZ*U9%00D1y3;+QDTLb_BDS`|D0RUYD00AkC3;+QETm&eP41fRuWtI#800C{D3;+NDX`~DQ00DHW3;+QFS_CLxh75qP3;+NDWws0e00DHu3;+NDVaN;s0RUeF00Ak~3;+QEUIZxE41fRublwaA00D013;+NDY3vLD00D3E3;+NDaQF-W00CeA3;+NDX9NuZ00C|a4FCWEX%Gzn00DFs4FCWEVH^zr00D0z4FCWEY$y!?0{~?NV+3IY00Aj94FCfHWCUUaU<4>U4S)avb3zRO00DJQ4FCWEZ&VEc00CuM4FCWEZeR@n00CuY4FCWEXKW1s00D1u4FCWEZFmg;00D1)4FCZEX9NHNDT)mM0Rd(ND2@$)00DB84FCWEWt@+=00Cvv4FCWEV%QA;00C{@4FCWEb>s~I0RU?R00AlR4FCZFY6K|s4S)avXZj5Q00C|S4gdfFX$TGg00D9i4gdfFbQBH%0RU|T00Ai=4gdiGYy>DI4uAjwWhxE;00C?=4gdfFVmJ-}0RV3V00AjP4gdiGZUiVu4uAjwWljzN00C`Q4gdfGVQD@N09+0L0RV9X00Aj%4gdiGa0DoD4uAjwWp)k#00DJ=4gdfFY=jN~00Ci&4gdfOVPa%vXlZV9baqAz0DKGp&I|x94FH4<0J;qT>J0!I4gg{f0FVv<0RmD4C|}SEfR+vb00DEr4gdiFa|8eZDbfxA0ReIZDAo>u00Cv(4gdfFaO4gE00DXG4gdiFbp!wbDfSKk0ReObDEbb700CwI4*&oGWe5)d00(w&ZeeM3ax4e{E(rjT2>`+i0L%^m@D2bD4*&oGIus880ReslIx-J{00DP64*&oGWk3%A00C)64*&oHbaqw;089@60RUJ700Ajn4*&rHR|600DJ+4*&oGZ-5T~1OQqCUISbMU;_XFDU1&Q1OZtCT?1PKUjrzX4}bsxXq*oK00DHW4*&oGVXzMX00D5e4*&oGU%U?h0sv+MXafKNDaa210sv|QYy$uRDbx=D0s(0QYXd0S4}bsxdEgHK00Cj@4*&oGa_|oT00DCL4*&uHZUb-w00Aii5C8%JZ3AxuC00D0*5C8xHZ!i!50swLYbOQhZDLfDW0swXccmn_dDM%0i0s(accLOL+5P$#yWmFIV00C`Y5C8xHX=D%p00DGr5C8%KaRYM$C|^PlfN&5100Cuo5C8xHbc7H900Ci&5C8%IdINj|00AkM5C8%Jc>{X`D4Y<000DHO5C8xHZmbXh00C*T5C8xHZ@3Tu00D5m5C8xHU&Igq00C#p5C8xHZqN__00C*%5C8xHbleaC00Cj*5C8xHZ|D#J00C_75C8%Iegl9500Alb5C8%JeFJ|3C;$thHV^=i5CHTL04@;#Vi5qc5dZ=LWdmmeC|}MGfV>d^00MM#!Vdu25dZ-IVgmpHDe@5j0RdqHDE1M600BPy5dZ)IWdsrc00CqQ5&!@JZx9jy00C|m5&!@JARH0^00DF&5&!@Jb0`u300C|;5&!@JZ!{7B0RUtJ00AjL5&!`KV*@Be5`X{!K1vb*00CuE5&!@JWLOda00D1a5&!@KV{SSU0AvyX00BH|5&!@JcXSc}00Cus5&!@JX@C*{00DM}5&!@JUyKp}00Cu^5&!@JWS9~F00D2F5&!@JZln?b00AJX5&!@Jax<@00Cvr5&!@JaMTh20RWBz00AlB5&!`JkOKe#De4jc0RWN%00AlV5&!`Kkpn3B5`X{!bN&(l00CtN6951KYzz|s00CkW6951KVHgtt00DF!6951KUnCO%00Cwy6951KZ!i-80RoQ$C|~XpfHo5V00DVC6951KVMr4I00DAN6951Ka#Rxl0RWT(00Ajr6954LlLIJZ6Mz5#ZfX+%00Cig6951KWq1<+00C@%6951KZ-f&700D1`6954KmID9*DV7re0RWf-00AkW6954LmjfuI6Mz5#WvUYZ00C{X6951KX}A*r00DHq6954Ml>;bWniGJ;6951KWy%u(00DH?6951KVcZh{0RWl<00AlJ6954LnFA>76Mz5#bn+7b00D0L6951KX#f-e00D0X6aWALa10ax00CbT6aWALXBZR!00C|u6aWALX(SW?00DF=6aWALVK5W`00D0{6aWALY&;YI1OTD~paYx(o&x{@DM%Cm1OcG~p97l%odYOR6o3E$b66Ar00DJo6aWALZ)_9*00Cuk6aWALZg>;`00Cuw6aWALXM_|000D1`6aWALZIBcI00D276aWDLqyqo}DWVhr0Rf`}D5eyE00DBW6aWALWwaCk00C#Z6aWALWxx~w00DHy6aWALZp;(_0RW~000Al36aWDMr2{D36o3E$a^e&K00Cv{6aWALV(=6I00C|G6aWALb^H_n0RX5200Aio6#xMNrvoSq6@UN%XA%_v00C|q6#xJMX&@B<00D9)6#xJMbSxDB0RXB400AjD6#xMNsRJlH6@UN%WkMAI00C@D6#xJMVo((T0RXH600Ajn6#xMNs{<%t6@UN%Wo8us00C`o6#xJNVQE$s0CW`q0RXN800Ak46#xMNtpg~C6@UN%WsVg900DKD6#xJMY@8JU00Cj56#xJVVPa%vXlZV9baq-30FV;^;u8Qu6abtQ0MZly0u=x<6##k_0H_rJ0RoK!C|~3ffUXq)00DE@6#xMMumb=ADe4sf0RgWADDD-200Cw66#xJMaQqbj00DUd761eQvIDdOwgb2W00Aiu761eRu>-RMwF9>UC>R!i00Cwm761SNWh@o|0RXxK00AjD761VNyaNCMDMA(i0Rg)MC`J~500DGN761SNV^kIZ00CiI761SNcwiO)0RX-O00Aj%761VOy#pw47JvW&a&{H~00L!iW)=W`761VPxdSL)JQje2761SNWsVjA00DKH761SNY@ikZ1OUJT!UMzu#sdHWDXbO%1OdMT!2`ns#RDj|7JvW&bi5V-00C*r761SNbI=w500LoYrWOF!761STb7603baHlv4*=*90NN4&g0RS8T00C@Z7XSbOVPqEo00DGr7XSbOV{jJ$0RSBU00C@#7XSbOVSpC^00C`=7XSbOX^a;D00Co?7XSbOWtbNL00Cs47XSbOVWbxT00DTa7XSbOWv~|j00UxgXj&Hlb{7D)7XSbOU%VFp00DE#7XSbOVbB)<00Cdt7XSbOblevJ00Cj*7XSbOZRi&O00DCD7XSbOZ}b-c00M4iI2Qo=7XSbOIsg~|0RbKWItmzo00DCl7ytkPXBZd&00Chh7ytkPY$O-}00Cwy7ytnPh5-NpXEqoB00DA37ytnPhXDWqWkwhP00D4H7ytkPc~BSt00LojKo|g47ytzTl>v_dkpY(hlK}t$DP|Y|1p<@-jscJXmI0ChUnpD{0CE_B00Cuq7ytkPb&MDQ00C^07ytkPVVD>I0|1KwjRA=P00Aka7ytqQsR64200Ako7ytqRr~#@0D7YAa0|JTxi~)!NC_StgfW8<20RWi+00Al37ytnQm;or<7=Qx+odKT#p#cB^De4#i0|27|r2(e_00AlZ7yttSq5-4nPu@)&>y82|wQn*jg;DJB^J0Rfr;C@L9%00BKP82|$StpTqAu>k-9DLxqh0|2uDwE?#Q00AjX82|$TvH`RKwgD(q8Gr)x00DKv82|tQY{(e^00Cjn82|tQcGMXF00AJ{82|tQbl@2P00DF682|tQZtNKV00D3E82|wQ4FUiGDgGG%0RRsI00Aio8UO(S4gx3)8h`-;3<4-70vdo48UO$RCK?(500Ctt8UO$Ra4Z@C00DV28UO$RbT}FS00Cb<8UO$RWkebP00DJM8UO$RY)~2i00CiE8UO$SV|Mr%09+aX1OO2N69N?i7XknQDQp@51OX5N5&{$g76K@C8h`=-83G#u00AkA8UO+T7y=psD3BU}00BOh8UO$XJv<>kASx}$7yuF(05}-{W*Got8UTD60H7KG00DBQ8UO$RZ^Rk^00DH$8UO$RVbB@?00DB=8UO$RW!xG700D5~8UO+SxdFQY00AlP8UO+TxBmB=00Al98vp_U%mK~;DC8S}00DIB8vp%x00DGr8~^|TZg3m`0sz$k*8ur0sz?o+W`OpDX<&>0s+_o+5srG9Do1;WxN~!00C^q8~^|TV$2)>0s!3s-vIytDcBqU0s-6s-T^4y9Do1;W#k+H00C|88~^|UVQJDF0Q4LH00&`WWM*k|bVM5fej5PT8vr~U0CpSzsvH3N8~^|TUj!Wh00DC%9RL9U;Q;^vDJ~rV0RZCx00AjD9RL9V;sGc;9e@Ae00Cu69RL6UY)~Bl00ClF9RL6UVO$*m00DGj9RL6UUuYcw00Cxh9RL6UZ*(010RrFwC|@!ifO;JO00DV`9RL6UVT>IB00DB69RL6Ua+nQ-W`Al9smFVWey$y00DFw9smFVVIUp=0RZa(00Aj19smIW>H#P)9)JJ=bT%FU00C}39smFVX+$0X00D1G9smFVa8Moq00CcC9smFVXIvft00C}d9smFVX=ok*00DGv9smFVVRRk<00D1$9smFVY=9mB0|4y-?*Z`v00AkC9smOY>;dip@Bt{49)JJ=bDACi00DKT9smFVZ>$~w00CvP9smFVZnz!*00Cvb9smFVXT%-=00D2x9smFVZO|S700D2-9smIV^8o+>DdHXg0Ri#>DCQo300DCB9smFVW%M2Z00C$E9smFVWdI)l00DFc9{>OWZVVp)0RZ&@00Ai&9{>RX^Z_UwAAkS>av~o900Ctx9{>OWVlW>700C__9{>OWbvz#c0RZ;_00AjT9{>RX_5mnNAAkS>XHp*k00C}V9{>OWX<#1!00DAl9{>OWbZj300RZ^{00Aj@9{>RX_yH(Wr80700C@@9{>OWVvrvI0RZ~}00AkS9{>RX`T;1QAAkS>Wu_kh00C{T9{>OXVQH2h0JI+f0Ra6000Ak)9{>RX`~fJ)AAkS>WzHV}00DK@9{>OWY}_9J00Cj*9{>OfVPa%vXlZV9batK{0Ms1-CLREW9st}P01_VnLLUHf9{{=^0O%h800Cd_9{>OWa~L210RaC200Ai^AOHaY{sAZ`AbADM%my1OWg70s;gA1_CHjAb@0v7y#%R02UhnC>;PEAOJ!j0Bj%t00BC3AOHaZ90FfDFc<)kAbOWa=IV@00D2lAOHXXbi^P400CjjAOHXXa?l_E00CvzAOHXXble~S00C*@AOHja#{kO!$pFm&00AlPAOHjb#sJCy$N%0s$TYAOR>+A%Fk@Zdf4z00CiQApigYWoRJ)00C@nApigYZ*(C500D1$ApimZBLO7=00Ak6ApimZCjlt|00AkIApimaCIKh`D3~FD00Cv5ApigYZKxpt00C*PApigYbhIG=0sSb00C*5A^-pZa-bpr00DHSA^-vaHvu^T00AkoA^-vbHUT&RD7Yek00CvbA^-pZY{()200CmoA^-vaI{`fb00Al5A^-vbIsrTZDBvQ100Cv@A^-pZZSW!h00LoY)FJ@(A^-pfVPa%vX>)W&Apn3O0NNn{J|X~kA^@x+0Q@2V00CbHBLD&bUjbnO00Ai~BLD&cUIAbMC@>>{00VM!bQmE3BqIPeBLD&b(E!f?00AjZBLD*c*8tl9*#H0mDOw`{0|C|m+5p%9C}Jak0s_zg&HyMqR3m_BBLD#a(*OVgDS{&a0RhqgD25||00BIVBLD#a)c^niDViey0RhwiD4rvL00BLuBLD&ba{+Y$00AkoBLD&cashM!D7Yhl00CXTBLDydJv<>>bRz(iBLJ);0LUW%00DB&BLDyaZ{Q;U00DI7BLDyaVeBIS00DCHBLDyaW%wfi00D6RBLD#a-2eaqDGDS20Rh|qC=Mim00D9oBme*bVH_j?00CtpBme;b`~Uy}axNqQ00D0@Bme*bbT}jc00Ch>Bme*bazrEm00Cu6Bme*bbWkJ!00C)MBme*bUtA;r00DGjBme*bb7&+000C}pBme;b0|5X5DS9LT0RaL5D1Ib>00C}c-vHqN00AiuB>(~e-T>eLC=?}t00CthB>(^cb0j4I00ChtB>({c?EnA)DK;el0RZm+00AjLB>({d?f@u6C4c|{Yf2>m00CoCB>(^cVOS*q00ClNB>({e>;NcVIwgQ)B>(^cWojh=00ComB>(^cVSFV30RRmF00Ak8B>({d3;`&NC4c|{d6Fdn00L}uf+YZ&B>(^caG)gs0ssdA2>}2BDX=8~0s#gA2mvUzC4c|{WV|H+00VMuZZIVPswDu%B>(~d;{fFV00Al5B>(~e;sE3TDBvZ400D01B>(^cW$+~c00DINB>(^cbo?a%00ChFCIA8eX8~ye00AiuCIA8fW&vmcC=@1u00DFwCIA2dZX_lE00D0*CIA2eY;p)D05B#10RZO!00AjLCIA5e<^U)}CV&6|Yf2^n00CoCCIA2dVOS;r00ClNCIA2dUt}f#00D4nCIA8e=>Y2h00Aj>CIA8f=m6>fD10V>00Cu!CIA2dZj2@X00DK9CIA5d`2YX`DV`<(0Ri{`D555S00C>LCIA2dW3VOw00CjPCIA2dV!S2*00CdZCIA2dXvii200DE(CIA2fZ*p~TCIFZw0MsS`1OV{>^#Jn#_W%F^Dd;8u1Oe~>^Z@bz_5djICV&6|boeF!00D9aCjbBeWeg_(00DCnCjbEe{Qv*~avmoD00D0zCjbBebSNhP00ChxCjbBeax^CZ00Ct>CjbEeKLG#%DMlv%0RTY(00AjbCjbEfKmjOJCx8F}b6O_=00CuUCjbBeY-lF{00CldCjbBeVRR<|00DG*CjbBeUw|h700Cx(CjbBeZ;U4Z0Rlb&C|^n^fRZNw00DWJCjbBeVWcMj00DBUCjbBea00AjPC;$NgNC7BFD1ZO~bWSJ$00C}RC;$KfXpM00D23C;$KfY?vqj0{}|_O#x2<00AkaC;$TiN&!p(P5~&aD1ZO~bFwG^00DKrC;$KfZ^S4700CvnC;$KfZqO(I00CvzC;$KfXWS?N00D2}C;$KfZRjWf00D3AC;$NfQ2_t}Df%b?0Rd0}DE=sb00D9YDF6TgWeh0*00CzbDF6TgWf&;{00DF!DF6TgZX_uH0RU4000Aj5DF6WhQUNG5DS!Y0aylsh00Ct}DF6TgVn`_f00C`IDF6TgbyO(;0RUA200AjrDF6WhQ~@YtDS!Y0XKE<`00C}tDF6TgX?Q6B00DA-DF6Tgbc87Y0RUG400AkGDF6WhRskrKDS!Y0Wtu4f00C^GDF6TgVyGzq0RUM600AkqDF6WhSOF-wDS!Y0Wxgo@00C{rDF6ThVQH=@0L&=>0RUS800Al7DF6WhS^+5FDS!Y0W#%aW00DLGDF6TgZ1gDr00Ck8DF6TpVPa%vXlZV9bau8U0PH6KJ}3a5C;;>*04gZ}S}6dEDFD(b001fg00CbHDgXcjZgg`PCjdYv05B>50RZ~|00AjPDgXfi`T!_MDu4h1Wlkyp00CoGDgXchVO%Nz00C@bDgXfh5di=JDQ+qN0Ra#JC~_)*00CuqDgXchc7Q4X00DA_DgXfh69E7LDUvDx0Ra*LD3&UK00Cv3DgXchdZa1<00L!cj4A-CDgXciaC2xX0I(_m00CvXDgXii{{R6200Ak=DgXij{r~_0D9|c^00C~+DgXchY2YdV00C#_DgXiiV*zCW00AlTDgXijVgY0UDEKOX00C?MDgXchV+bn%00L!U>?!~bD*yoi4*>uHDIO~T0RavHC?YF>00CtvD*ylidN3;h00C(>D*ylib37{m00Cb@D*ylict|S%00Ci6D*yoi6#)PNDOxK40Ra>NC|)ao00DGlD*yliX>2P100CxlD*yliUwA7300D1)D*ylibc8Da00Cc$D*yliYmh4d00C~6D*yliX`Cwn00DBMD*yoi7XbhPDXuF30Ra{PD6%Vn00CvVD*ylidcZ3H00L-fs4D=*D*yoi836zRDb_0h0Rb2RDB3H400Cv-D*ylibm%Jp00Cj{D*yliWArNk00D0LD*ylibpR{?0RUYA00AisEC2xkTmdK$EPwz3Wfm*|00D3wEC2uka(Mww1b984wBLD;>0Qe*T%q0LeCIH$d05&QB#3}$3D*#k00L&`@Dl7nYEC2ujI(#eu0RnabUpnX@0J1EA00DWpEC2ujVZgS00C~+EdT%kZ`>^a0RSQZ00DC7EdT%kW$Y~g00DIJEdT%kboea*00CkCEdT%kZ3Hd=00D9eE&u=lZxAj300CweE&u=lUmPv~00DF&E&u=lY$z@O00DI_E&u=lVKgoP00Cw?E&v4pYXENmaR6-qa{vGVDMl^;1p#URZUArqYyffqC{iwf00CuKE&u=lZD=k400C)kE&u=lbaXBN0Rd+KUwSS800CuyE&u=lbcikh00Ci+E&u@lXaE2KWtuJk00C{DE&u=lX{0Uy0RU+L00DHcE&u=lWwb5;00DElE&u=lX23200RVRZ00Ak?E&u@mb^s{QE`R_5J=QJ&0RVXb00AlFE&u@ldjJ3dDef)+0RegdDDp0V0RVjf00AigF8~1nd;ll}FMt69cmOCoJ?Jig_$~knF8~1me*gdhDIzZb0ReshC?+p}00BKLF8~1mfdBvjDLO9z0RV#l00AjPF8~1nf&eH;FMt68fB+~xJ}-byF8}}pAv`@k-Yx(VF90+z09G#m00DAhF8}}mZ*(sJ00DG*F8}}mVSq0H00DA_F8}}mWsENX00L%k#x4MoF8~1mbpQYXDWWd`0ReOXD5fuf00C^QF8}}mVYDv*00CpVF8}}mZ@@1A00C^qF8}}mU(7E600DE-F8}}pWOQ$7lr8|OE&!M>0N5`800BDQF8~1ngaA75FMt36W%e%s00C|OF8}}mX#_9;00DFgFaQAng#Z8nauzTE00ChdFaQ7nWgsvB0RV;o00C$$FaQ7nbTBXg00C|`FaQ7nZ#*yn0RV>p0sx5sivR!tDNHZ`0s)8siU255Fn|C7Wmqr(00Mb*NH73mFaQ7nVQ4S_0RW8v00Aj@FaQAoi~uNnFn|C7J%TU*0RWEx00AkGFaQAnkpKVzDVi_<0RfNzD4sBY0RWQ#00AkiFaQAok^m^MFn|FAjsPe;J(Mtjq%Z)sFaQAnl>h(%Db6qe0RfZ%DAF*100BMNFaQAnmjD0(DdsQ$0RWi*00AlRFaQAom;fmBFn|F9mH;R{>M(%%FaQ7qAv`@kiZB4aFaY2%00J=p00D9iF#rGoZy+%M00DF+F#rGoVJtBK00D9`F#rGoWjHYa00D45F#rGrd2M8GCNKa(FaUBe07NkW00BBmF#rJqngCxq5HJ8-F@OL8WnwV^00DGvF#rGpWnn-r0CX_`0RSTa00Cx%F#rGoZ-_Af00Cc)F#rGoWt1@h00D5CF#rGod7v=>00DHSF#rGoU#u|z0RSBW00LxkvM~U-F#rGoWxO!}00DHyF#rGoa?CLR00CvvF#rGobJ#He0RSif00DXAF#rGoVdyac00DCDF#rGoa`Z6(0RSlg00C|QG5`PpVFWS&00CtRG5`PpY!EU400D0nG5`PpZyYiJ0RSoh00C?$G5`PpVJtEL00Cn%G5`PpX*e00C)cGXMYqbZj#K00DAxGXMYqWq30H00DM>GXMYqZiF)c00D1`GXMYqV~{fd00Cc?GXMYqa-1^&00D2JGXMbrFaTeuGXMYqd9E`600CvTGXMbqGXMYqcfvCO00CvjGXMYqY0NVK00DN=GXMbrG5}xLGXMYqW!^IY00Cs?GXMbqGynhra`H0(00Cw8GXMYqV*E1z00C_RGynhsZ*}Z500=Yy0RS}s00CzhGynhrZX7fK00C(tGynhraws$a00DF^GynkrHUIztWjZtf00C@1GynhrVnj3m0RT4u00CuCGynhrZB#S>00LoYN;CjkGynkrH~;_vWok4400DJwGynhrY;-gL00CioGynh#VPa!sW@&3~b98q4F#sYm0Gu)a)-nJnGXPLC0K78*4m1EXGyq^U0Dv?A00CcyGynhsZgbu-0JJm!0RSWb00C^oGynhrVaPN900C~!GynhrZ`3pZ00C**GynkrLjV8)Ddsc)0Rch)DC#tT00BJkGynhrJoq#K00DCTGynhrZv-^}00DFgH2?qsVGuO{00D9qH2?qtbY(^ccrrBr00Ct-H2?qsWIQzh00C}7H2?tsCIA2da!xe>00DGTH2?qsa9A|}00CcKH2?qsXk;}200DGrH2?tscL4waWp*_H00C}#H2?qsX@E5V0RVUb00C}{H2?qsZICqp00DKDH2?qsY@9U!00D2JH2?tsdI10dDXujD0ReddD6%zx00C^cH2?qsZ@@JG00D2tH2?qsV$3xF0RVgf00Al3H2?ttdjTliHGlvCJ>oS00RVmh00AlRH2?tsfB^sjDf%@40RevjDE>8o0RVyl00AisHUI$ufdMEGHh=*GeE}#uJ@hqz1U3K`HUI$tgaH5nDK0hu0Re*nC^9yH00BKXHUIzwAR#w0RS!n00AjbHvjEJX$vZ00BH=Hvj+ua%eXI00D1qHvj+ubaXcW00CioHvj+ua)37g00Cu&Hvj+uaEvzq00m-YaCdLwHURQA00=h#N;d$KHvj+uI+!;A0Rb-pI<7Z>00C~aHvj+uZ@f1E00C*jHvj+uXUI1I00CvrHvj+wX>f8#H2}gk0Ms`C00CdxHvj+uW#~5m00Cp}Hvj+ua`ZO<00DLSHvj+uZvZ#|0RSfe00D9gH~;_vZxA>D00DFsH~;_vVH`LB00D9$H~;_vWhgiR00DF^H~;_vX*4(h0su+^NCE%>DL^;?0RUJ600AjXH~;|wR{|(dIDi5INdiX#C_P3vfL1sF0RU7200Aj%H~;|wQvxV(IDh~FJa#w$0RUD400Ak4H~;|wRRSo8IDh~FJ&rg41OSEtiUNoNi~;}wDV#U}1ObHti2{cLivlR7IDh~FU930&00cceAzNNJ0Dd?CmN)>qH~;_va=Q35CiIe-8GWehn000C?oIRF3wVjwvH0RZR%00Aj1IRF6x=K?4&Ie-8GWi~kg00D45IRF3xVRpf&u^mDfl}80s(^pfdVN0JAeQIWdu9`00C|eJOBUzX%svF0RY?r00Ai=JOBX!+X5&gJb(ZJawP6U0RYYd00Ak`JOBX!%>pRYJb(ZJZrVHm00Cj*JOBUzW#~Kr00C_7JOBUzZ}dC>00D3MJOBXz&;kGfDF!_N0RYkh00AiwJpcg#(E=zGJ%9iKWg0yI00C_xJpcd!X(&Aa00DF^Jpcg$&jKi43O#@{Jpcd!WjZ|o00DGHJpcd!VN5*$0RYqj00AjjJpcg#(*h`5J%9iKbYeXK00C}lJpcd!X>dIN00D1yJpcd!aC|)g00CcuJpcd!XNWxj00C}}Jpcd!X_P$x00DHGJpcd!VW2$#00D2NJpcd!Y^*&10|3?n*aF%D00AkuJpcm%)dJT7*#aoQJ%9iKbH+UY00DKvDLy^`0Ri6vC_+Af00C!6J^%m#Zcsh|00C)MJ^%m#a$G(D00DGjJ^%p#;sO8xDQ-Rh0RiCxC~`i400CuqJ^%m#Y=Axh00Cl#J^%p#`00CvhJ^%m#b<92h00C^$J^%m#Vc0$Z019bgVq|7$ZgX^YR6GF6JOBVa08%{wvONF@J^(mA0BAk{us#6ZJ^%m#U*tXj00VAxbILma@;d+yKL7#%b^>?;00Ai?KL7#&bpm$+C@4RG00C|;KL7v$X*fRs00Cz{KL7v$Wkf#!1OSo(mI9Olm;wL+DNsKE1Obr(l>(CjmjWnSKY#!MWMDr400C}pKL7v$X>>mT1OS=>o&uZ#paK8^DS$r!1Ob@>odTNzp8_a~KY#!MWRO1q00C~EKL7v$b)-K400D2RKL7v$Vz55|00CdNKL7v$a=bqP00CvfKL7v$cgQ~g00D2#KL7y$qyhi|DcU~(0Rf`|DBeGS00Cv>KL7v$dh9;{00C+8KL7#%rUIw}00AlfKL7#&r2?k{Cy00Ch_KmY&%Wk^5(00C@HKmY&%Z&W}400D1WKmY;&t^%+E00AjxKmY;&vI4XM00Aj-KmY;(u>!LKD0o1C00CuwKmY&%ZHPbs00C)^KmY&%bd*2<0s^f9uL3AvY(RjTKmY&%WuQO+00DHaKmY&%VYEO10syuGxB>tHDZoGg0s*xGw*n}}K!5-Nbj&~i00C~+KmY&%Y1}{n00D2}KmY&%aOgk)00Cd_KmY&%XY@b-00D0LKmY&%X#hb000DFcK>z>&VGKb400D0jK>z>&Y#2cR0sy)KyaE6LDI`Gv0s*-Ky8K>z>&XFx#!00Cu2K>z>&bWA}200C}NK>z{(z5>7k00AjpK>z{)y#l`iC}cr^00C!eK>z>&ZgfEa00C)wK>z>&a)3bq00DG{K>z{(!UDts00AkIK>z{)!2-hqD40Qj00Cv5K>z>&Y^Xs100CmIK>z{(#sbI!00AkwK>z{)#RA6yD8NC000CvjK>z>&ZO}mg00LoYv_SyYK>z>;VPa%vX>)WYKmcGs0J=Z`9zg(DK>&!2*>H_Wp>;mut00AiqLI4B-=>qKn>jLirC=^0~00MJ#1VR8BLI4B+@&fh(^aA(-00Aj7LI4B+`U3s}`~m<200AjNLI4B-`2zg{`vU(0C`>|t00DDSLI3~(VPHZ41Oo8_^#bz(_W~$iJVJnGLI3~(bZkNZ00CuwLI3~^Z**g2aA{&@Y;$2}_Ba4aIRHL702(_0P&)t=KLAQU0D3PRb00CvnLjV8)aL_{l00U%nZze+kibDX_LjV8)I^0750Rd(JI_g7!00DCFLjV8)W%xq?00DIVLjV8)bOb~I00ChNL;wH*Z4g8N00D9qL;wH*ZyZDb00CwqL;wH*UnoQX00C?+L;wH*Z8Ssx0RWo-00DA9L;wH*bwoq}00D1GL;wK*oB#j;WmZH000DGbL;wH*bznpQ00C}hL;wH*X>3FQ0RWu<00CrpL;wH*ZhS-l00D1;L;wH*V~9im00Cu=L;wK*o&W#=WST?(00C~EL;wH*Z=^&300CpFL;wH*Ww1m500DEhL;wH*Z@feR00C~oL;wH*VaP-P0sx=@q5uE^Dbz#&0s)@@p#Uh_M1TMRW#B{r00C|4L;wH*Y4Ah<0RW@`00AldL;wK+qW~xXMSuVSJqASp0RW}|00Ai!MF0T+r~m)~DIP@t0Rg7~C?Z9G0RXB100Aj5MF0T-sQ@T6MSuYVr2r^AJs3rRC`AA|MF0T+tN;K3DN;oM0RgK3C{{&)00BK*MF0T+t^fc5DQZOk0RXT700AjXl-+DbZ<~Z0CGeCltci|L;&_g0LVoE00BDAMF0T+vH$=9bM8d|00Cw4MF0Q+bofO800DLWMF0Q+ZUjaE00C(VMgRf;v;ejM00Ai$MgRf%zB00DF&MgRZ-Wh_Pj00DC{MgRZ-W;jLw00Cw`MgRZ-Z$w4_00Cc0MgRZ-Wl%-{00C`QMgRZ-X0RXxH00Ak0MgRc-yZ`_JDT+n_0Rg)JD2_&e0RX-L00AkSMgRc;y#OenMt}hWxd13UJ%mPpltuuiMgRc-zyJUNDZWMk0Rg`ND8fd700BM7MgRc-!Td+D3rtMgRZ=Av`@kdPV@QMgY)80P;ov00DCTMgRZ-ZxBZS00DFsM*si;VH`&Q00D9$M*si;Whh4g00D3=M*si=ZFFxCMgU?)05nGc00BBWM*sl<#Q-`;M}PnUbWTSA00CuIM*si;b6iIN00CxVM*si;W@twM00D1qM*sl=u>d+>=tY2ZM*si;WqL;d00C`=M*si=VQ*>LLI65M0E|Zf0RTAw00DELM*si;XQW2}00CjDM*si;Y_LZF00CyUM*si;U%W>E00CvfM*si;b;w5m00C^yM*si;Vbn(e00DN|M*si;U*Jao00Cv@M*si;W9&x&00DCHM*si;b@)dB00D3QM*si;a|B2L00CbLNB{r>>c0RTY)00Ak0NB{u=KmsU)NPqwVZi+|%00D23NB{rt00DC5NB{rMglriNq_(Wa#~3M00D1eNdN!=a%f2a00DAtNdN%=$pZiZDSAl&0RhMZD1J$R0RYhh00AkCNdN%>&;uxtNq_(WJeElS0RY(p00AkaNdN%>*aIl2Nq_(WCay^U00DBgNdN!=Z@ftW00DBsNdN!=a>z*l00CvrNdN!=U(`te00Cv%NdN!=bKpq;00DC5NdN!=VeCl&0RRI800AlZNdN%>0t6`hNq_(WCIU(T00CtRN&o->Y!FHS00CkaN&o->VH`>T00DF&N&o->Iw(p200BBKN&o->Y&1#$00C_}N&o->Z$L@_00MAy@<{+jN&o->AWTXC00DGXN&o->b6iRQ00C}dN&o->Z)i#Y0RY-2(stDSk=-0Rh|tD1u6W0Rq|sC?a-2#400D2JN&o->a;QoG00DBYN&o->Wwc5F00CdRN&o->Wxz@R00DExN&o->a?DBq00CjrN&o=>{{sL4Dc(u|0RjF4DB?Z}3V000D3IN&o=>1q1*ADFRCX0RRUC00AisO8@}@1_US&OMn3a1OzB121|ezO8@`?CLT)w00CtxO8@`?Y%ogz00Ck)O8@`?VLVF!00DGDO8@`?I!H?Z00BBqO8@`?Y*b4C00C`UO8@`?Z(vIR00d)jVsvgw0N6?Z{7L|3O8^7_^#l0>_XGO_00Aj}O8^7`^aJ<<_5=C@D2Pjd00CW&O8@`_Jv<;=gh>FNNdRn10Gvwz00DBMO8@`?Z?sDQ00DHmO8@`?VZciO00DBwO8@`?Wz0(e00D5)O8^1@%LB~=00Al9O8^1^$^*;;DCA3k00DIBO8@`?Z1hV200DLSO8@`?a{x>L00CtNOaK4@aturW00CbTOaK4@Wf)8V00DCzOaK4@awJRu00ChtOaK7@&jSDfDK<<10RhefC^}4l00DGBOaK4@Y)DK100DJQOaK4@b5u+K00CuMOaK4@a$rmV00CcSOaK4@Wo%3U00DDyOaK4@a(GMt00CisOaK4@aD+?%0|3(l)dSZ900AkGOaKD`(gV~3)&nS*On?9Za-K{800D2ROaK4@ajMA*DZESo0s-g)>H{dkOn?9ZWXMba00MGuwoCxhOaK7@-U9#ua^g$?00D32OaK4@bnHw300Ck0OaK4@a`;RD00CwGOaK4@bOcQR00C(VO#lD^Ul2_I00DFsO#lD^a~w?o00C|yO#lG^G00CjTP5=N4Z*YEPV`*YxW^;7dO8_uT0E$ci*h~O+O#rM-0NPCe98LgCP5_Qh0KiTF00BD2P5=P`4g@;%PJjRbbox#J00C?QPXGV`bqG%Y00DCjPXGV`WfV^U00U-aa(YMrbV&djPXGx5Q~*W*QUFc>N&rLvOaMp#Pyi@jPDp?tPXGV`WiC$u00DDKPXGV`a!^kI00MGhG)MqePXGY`9s&RXb7oHf00C!ePXGV`VQ^0X00C@vPXGV`W_(Wo00CcuPXGV`bcjy?00C@{PXGV`b(Bv400Ci|PXGV`W}r_100CvDPXGb{AOa!+00AkoPXGb|9|9o)D7a6600DBoPXGV`Wynte00DH)PXGV`bkt7(00CjzPXGV`ZQxG;00DC5PXGV`Z|qM100Cz5PXGV`U-(Y|00C_NPXGV`Z3IvN00ChNPyhk|BmyP^00Ai$Pyhk}BLXD?C>&6L00BHAPyhe{JS00DAJPyhe{Wl&H600D4TPyhe}WO;9_PXG{509;T200BB;Pyhh|CjvTfP=Ejda&}Mv00CuwPyhe{bc9d<00DH0Pyhe{VUSP&00C{5Pyhe{a-2{A00D2JPyhe{W~fjA00CdFPyhe{Y_w1S00C{fPyhe{VZcxT0RRF600DE%Pyhe{XV6dp00CjvPyhe{Y}`-)00Cy=Pyhe{U+7Q(00DIFPyhe{Z1hk700DLSPyhe{VE|D800CwOQ2+n|WeiaO0ssU91_J;ADHu@z0s#X91p_D^QGfseawJgz00Ct#Q2+n|bTm-_00DG5Q2+n|VL(v;00C`AQ2+n|a!gSG00D1OQ2+n|W>`@G00CcKQ2+n|Ze&pa00D1mQ2+n|b8t}r0ssgD3IhNEDSS}?0s#jD2?HpCQGfseJcv;M00BIbQ2+n|a+py700D2FQ2+n|bfi%L00CjDQ2+n|a=D~0RamGI@VEu00DB`Q2+n|W#mx+00DIBQ2+n|bnsCC00Ck4Q2+n|ZTwLH00D9WQUCw}ZwOKV00CwWQUCw}UldXR00C|qQUCw}Zy-_t00DC*QUCz}3}iR7y}do5Ca+m90L{u5(6FsD8^EN00DW-QUCw}W#m!-0RSNb00AlRQUCz~AOk4$Qh);hDFZ75Edu}nDFRaf0{|}rF#|IL00AiwQvd@2E(0(FG6N_WQ-A{lC<7`3ECW0!J^E4r3R8d{Qvd@1BLgJ^Cj$ThDLzvG0|6ofBm*V`C`MC&00BKrQvd@1H3K&TIRgLzDPB_m0|7JxHUl^VC}vZD00BL0Qvd@1I|DrfKLY>(DSlG`0{}q-Ljy$v00AkCQvd@2Km$SpL<1<4Q-A{kIs-fdJ_9H{hEsr=Qvd+~Qv(12DYjDp0Rd72D7sUC00DQvQvd(~Wyn(i00C*vQvd(~cGOb<00CdxQvd(~XW&x+00D01Qvd(~Y3x$~00DCHQvd(~bof&M00DFUQvd(~Is{Yz00BA*Q~&@0WDryU00DFsQ~&@0a~xCv00lfDJw6~RQvg^~0C-aXrc(eSQ~&@0awt>)00D14Q~&@0bVO7D00Ci2Q~&@0a!^zN00CuIQ~&@0a9mUX0RTq>00AjzQ~&`1Mgu5pRDb{hZgNxr00C)wQ~&@0XMj`y00Cu&Q~&`0Ndo`@DUwtG0Rcz@D3(-!00Cs2Q~&`0PXhn}DXLTe0Rc_}D6Uk100DWlQ~&@0bi7mm00D5qQ~&@1Zf&Gg0LWAT0RT$_00Al3Q~&`1N&_g|RDb{hW#Uu-00Cp_Q~&@0a`03D00DLOQ~&`0RRaJ4DFRgh0RdD4CI0sw#nf&>5oDY#Vt0s(&nfdnYNRe%5iY{XRn00C{zRR911Z`4%)00DH`RR911U*J^$00AQARR911BJ5QF00DCHRR911Z}?RJ00DIVRR911VFXqH00D9eRsaA2We`>X00D3oRsaA2ZyZ(t00BB8RsaD3g9JJ#R)7Ejb1qf@00C?^RsaA2VLVm<00DABRsaA2Wk^;400DGPRsaA2X;fAK01swvc41>=X>W6MaCvHLY`6sgA{PL(AOI3A0OBnGdNBaHGyp6$00uY!l1BhsPXNYH04!1fvQ+?DRsaA2I$%}+0|I6MUI1VKIwE0RS}u00DBSR{#J3Wvo{K00DEdR{#J3a=2Fj00CjXR{#M3HUaSO5S4a70)D00C`ESO5S4Z%|kO00CoGSO5S4UtCxK00DDiSO5S4cW77u00D1qSO5S4WOP^n00C}#SO5S4X@FP&00d@mb$6my0K``SG*|$JSO5S4UyN7)00Cv5SO5S4Y@}EK00CmESO5S4VX#;L0RT7x00DEnSO5S4ZopUo00D2tSO5S4Y0Ovv00DH;SO5S4aM)M?00Cv*SO5S4W8_!>00M4!wpak_SO5V4IRXFydHPrY00C_NSO5S4ZUk8X00D0bSpWb5Ul3UU00D9qSpWb5WgJ-m00CqoSpWb5VJKMu00Ct#SpWe5IsyOzZaP^200D14SpWb5X+&8700DGLSpWb5VNh8B00DGXSpWb5Zd_Ra00CuUSpWb5ZD?5l00CugSpWb5Y;;)w00D4%SpWb5ZGc$-0RTG!00Cu;SpWb5aFAI500DWHSpWb5bevfL00Cd3SpWb5Y^YfP00CjHSpWb5ZnRkd00D2hSpWb5X~0S^xk6UqD&_00C@DS^xk6Y*1PN00CiES^xk6ZCqLa00?GbV`XS*Z*$&O02o&QXjcI6SO7Fx0ESrr(pdmvS^xn6KLP*&D~ehG0RvnBI$tZER)A<)0FGJ!00C^2S^xk6ZKPTN2LMb02?PrSPy!7EP6AQ_00AkmS^x<|A=mK*D00AjbTL1+CuLE2G{sHF#as((`TYvxoWnx&2&TL1op?*d;a)?5JUT!0AxY6BYqy#b~IYy%wuzX7NMK?DE+DF$5t2?1#X8Uefkr2=aM909%orvg9(C>mXW00DU*T>t<9VK`j?00DA7T>t<9aztGK2>@;b9|6GusseBWApyeytO7#>00AjbT>uFIZ37+wzyYZOZv!9!!U3xSLIfyeU4Q@qZfacs00CiwT>t<9Wr$q>00C@{T>t<9ZuFHaswj)#R0AYbOR*;#{sYcMFao=DW+Wj2>^BjCjrR;vI2MmDFMp?v;s#200Ak$T>uFIbps{=$N{kecLOK^$^o+iMg%C-U4Q@qW!hZ;00C|CT>t<9Y4}|L00DIVT>uFJaRVX&!~v}Wa|0v+#sRMaL^NnD*?>`wgP+uEdkE~xB^K800AjDUH}OJc>^i|%mK9mdjl*1&H=XqNCYTMUVs1rbW&ab00C}lUH||AX>eWu00D1yUH||AaC}|>00CcuUH||AXNX<^00C}}UH||AX_Q_700DHGUH||AVW3_B00D2NUH||AY^+`Y2>^ZrF9Fd3x&nX$F#*#7yaG!E00AkuUH}OJeFH85&;hvue*-W9(gC{yN(3m(UVs1ra?)M^00Cv{UH||AXYgJC00Cw8UH||Abo^cb00C|SUjPXJf&()F)d9W&gab7J*8#u+O#}b|DGpx%2?2ovG6B>9y#j*+Gy&EDzXD7IC?a2g00CzxUjP6BZa`lE00C)6UjP6Ba!g+U00DGTUjPXJh66VN*#W`=hyytR+X2J^PXqt~DPCUy2?2!zHUZcH!2*W^I04!L!vanOC~{wb00CuqUjP6BY>;0700Cl_UjPXJiUT_V-2uh|i~~IZ-vP)1Q3L=1DWYEh2?2=%Isx1P#R7{1JOSPT#{y6UD7IgK00CvZUjP6BZPZ@?00LoYoL>OiUjP6HVPa%vX>)W+T>zk605VR$j5V1NJwY;tsS>H`3HTmbM~02W{X1^{pZZUXTD^#Jn#_W%F^DL7yN1_N&bZ36HB^Z@bz_5fulU%W8@Mqq%XI{*LybWC6X00DAlU;qFCWo%#o00U%nbG`%sSOx%cU;qUGkOMyf;Q`75RRjP5DTZJG1ptx*K>_0d%mP;g00AkOU;qUHkpn;h;sMJ7Rs<-dV1NJtbE;qf00CvXU;qFCY`|au00CmgU;qFCVa#9v00DH;U;qFCU)W#(00Cy+U;qFCZ{%PA1_F-*J^|nX$pTaaC;%v5l3;-9U;qFCdGKHW00ChJVE_ODatvVr00D9mVE_dHlmkNnq~iDF7%cVSoSuZZKg000Ch_VE_ODWk_KF00C@HVE_ODZ&YCb00D1WVE_dHm;*-v=>gILT?7CDDP~~+1_74?Mgiyn(E?lqEdVHTVSoSuWq4r#00C`^VE_ODX^>$600DHCVE_dHmIFlr=K;_HTLb_BDWYKj1_G4>L;>aj&jMNmEC639oM8a2VSoSuWwc=c00DH$VE_ODVbEa!1pt}@NdfBt)B;}w00Al7VE_gJnFB}x>H*UNUIZ=xDCl8;00DIFVE_ODZUABc00C(RVgLXEZwz7p00D3kVgLXEUl?Kl00CznVgLXEZX{v=00C(#VgLXEbTDE700Ch(VgLXEZ#-fE00C@5VgLmIqytd_^8wrfX9NHNDNbSl1_7f3PyzA*+X7|;F90Z7Vt@bva$sTr00CukVgLXEXLw=&00CuwVgLXFbZmrT02(|100C}_VgLmIrUO#}^#R@jX#@ZPDVkyc1_7l5QUUY<-2!L?Gyo{3Vt@bva;#zi00CvbVgLXEV#Hzq00C{vVgLXFZ*}Z50MKFp1puf6RRQ+_-~wv|00AlBVgLpKrvp?0_5t4lY6LX^DC}Z@00C$6VgLXEZUkch00C(VV*mgFau8zx00DFsV*mvJssmR6`2perZ3F-TDI#M41_7x9Rsr|{;R0*~HUKCtV}JkwWi(>|00C@9V*mgFVoYNI1purASpoY2d8`T^qtZUi>~C}d-R00CucV*mgFZG2+@00LoYQeyyuV*mvJt^->E{Q>3zaRdMXDUxFV1_7-DS^@k4;csRVg#E5Oablz*8-gbP66-%*#ck$DDY!|00DFMV*mgFbsS^>00D0zWB>pGWhi6-00C|;WB>pGWi(^}00Cz@WB>pGZ$M-K00C`AWB>pGZ%kwW01aVcV`OG&Yi@INc5G-EVE|xZ0Gu)a)?olhVgQt40K78*)?xr0V*rR_0LWti#xDR;WB>vHjssH!00AkEWB>vJjRR5yUnp2)0F-2a1ON>K{Qz_V-va;va;Rhg00D2ZWB>pGbhu;y00CjXWB>pGa>Qf+00CvnWB>pIZgX^aU;vtA0MKLr1pu-Gv;%bnwgb2W00AlFWB>&Lu>-RMbOf~nw*x5fWPkt!Y;bdCMg;(9Dgdx50QO`600CtNWdH#JR0C-!Dh2=sRe%5iavo&>0{}|{SOY@>00Aj5WdH*LN&{B|LIPhX+BX0=Wq<$yWjX8>P1C>Uk{Trq%BFn|C8Wnms>04`Mk00MM*Hf8`wFaQGpT>u^e0s{a6b4q3a00C!GW&i*IVOVAW00M7p5H0{-W&i*IW@Kgn00CcaW&i*IbaZ9_00C@zW&i*Ib%16700Ci!W&i*JW^;^Y0K7;500LoUKxP1vW&i>JyaRaz00AkcW&i>Ky90OxD6D3H00DHeW&i*IW4vYn00CjbW&i*Ic*te|0sy`PdjtRhDb!{F0s*}PdITuiW`Fv_dkpY(hlK}t$DF$Z%2m>4fxdV0tlmU(bkO7tfk^x^jDDY+gkRX5-XMg|!WgKS!00DJ6X8-^JY(QrK1pvSU!UKH-!~@0y00AjXX8;8OzXQPod<4S-#RDiubCISiryZ}W4(E~05LjZsQ00Ak6XaE!eAOny9rvTCbm;qA)VgMro2LpNl5CmiZB?1Wpy8uK2&;u<3LI8gOD6nXN3jiqtodKT#j{v3sx&SK!Ed!wec>sO^00AlFXaEZUF9V|ir2&%wssO$KF#|ILrvZHcf&l;lDFSH#3jrm*i3j-(voB^HzjsT?qxd18yECZkccmRC?JSaW3XaM|ZfFNlA3;-hojR2$oxB%4vRstmhCj*-ScK{^>d;tIfDPU;;3;`koi~yqmw*b@tRRSafCIgxQb^s&17GX&WHgaI)G00AkaX#f=gGy|vslmM#$zW~+%R{|~sHUl^VssShjDg=H2+5jd5ECezH*Z_k8Fa#*jX@Cj<(Ey79N&<}m&j5)5NCG1S$paw-00AimY5)oX&;W`7Ndk-k&H#u3M*<=Q$O9k*Jt)>`032$73IIC;tpTqAmjJE+!T>!3KLfD=fdBvjDL`rf3IIU^vjMdMnElDO_p*3IRX^vH`RKm;kQ;!vI19L<6<~f&eITYJds?Is>c$t^t++tpLFQJOe%humOMoC_PqcfOu*E4FGcibpbsDh642iiURoqhypnT_XCUqI|Ta!00AkmY5)xZashM!JOqUT^aF_k_ydOmI0W_sivl_X`U5D;YJdO%UD9d*0{|Zc{{wmf00AlZY5)TP9t8dac>yQ@Yk&X&YzAup00D0jYXATNZy0L;00VY#bkrFD@<{+jN&o->AS7!500DF|YXATNb2w`N00C}3YXATNZ$xVV00&}Yc5`lUbRKH}N^1aI8UP$r0HhKC*h&CqO8@`~JRvTQ|>i}p100Ak+YXAfR=m2E`>Huc~D9~$w00CvzYXATNZscnK00L!oE=U0CYXAcR4g|^r%mX?o^iF`}OMn0Yboy%m00C?YYybcObr5U-00DCrYybcOWgKh(00U-aa(YMrbV&drYyb%YQ~*W*QUFc>N&rLvOaMp#Pyi@jPDp?#YybcOWj1U800DDSYybcPa&%a10Q@!p00eSjZ*}l%0A6eWa3%oMCIABhCjuV=Ap$xma8Q7_Pk;aca(Zk400Cu+YybcObdYQS00DHCYybcOVVrCL00C{HYybcOa;R(o00D2VYybcOX0&Vo00CdRYybcOY`|;)00C{rYybcPWnmyN0L*Lv0Rfx2LW3G-T++!VFF_U-~e9&C>m{m00CtnZ2$lPb2M!L00LohI&A>3OaKA^?Eq>500AjVZ2$lQVrX6^0IWIy0s`y+X#yx;P;G!#Z2$lPWngUp00CoeZ2$lPVRUT(0{~A04FRG800Ak0Z2$uSP6G@9p#ms~ZGZp)d5&!W00L}udTjujZ2$lPaG-4f2LJ~Fegf$ONdpN1fCB3S00AkmZ2$-X1_6Bn=mSUt2myZr>H{ePD8Oxi00CsiZ2$lRa&2xvZ2+om0NiZ=3IG8D0|ILS1p)^GZ2|HE_5$<*_yPa{De!Fo1^{mXaRK@Q{sR0000RI4DGY7^1_5pXZ~^%O{Q~;}{{ko)Zh!y*b0BU200Ch#ZU71b00II6Y5@cS1_EpW@dEV%^8)t*C|?F{fH-ad00DG9ZU6uQWn69m0RTP%00C}jZU6uQZ)|P=00C)oZU6uQba-w600CisZU6uQa)fRG00DK1ZU6uQXOM0H00C*1ZU6uQW}I#S00C~IZU6uQZ>Vkn00CpJZU6uQAhd1(00DWrZU6uQa=>l?00CjfZU6uQa?EZ300VAfbb2)a(ry4wRsaA4X>VoNZUD|d0BltN0|E;J0|NyEIw;mrfF4nR00DCJZU6uQWdv^k00DFgZvX%RbP#U<00ChZZvX%RZ5(d^00D9$ZvX%RZzyj700Cw$ZvX%RUo>w300C|~ZvX%RZ$NJV00DDGZvYAcRs#+L7y}do5Ca+m90L{u5(6FsIw+o1fW}gQ00DVYZvX%RWpHl*02p*;ZgF90a&uy2c4KdFd2MKAXKZ(BYkq!P0MJ_iNL&B}0RSdo0M=vx7-ay6WdPu10Gwt3gl7P7XaKxx0BCFg(rf_yYyeP10OD-`Vr~HDZU9O*08DQHc5eWROaK!S06r1`dJ+J-5&-rR05uZ;b`t=y69DcL04WpzY7_vX6ad~701y=bP89%x6#%Uj0NE7)1r`7@764!t0F@R1!xjMU762I+074f4e-{9%7XaZG02delQy2h|7y!~301g=dN*Mry834N(0P7h59~uBw8UU9X0LK~t`5FK*8vtb+0F)a5yc+=Z8vrL90970Sh#Ua7901@P01+JkLLC5d9RQ&n0MQ))6dnLw9spq;0I(hav>pKd9smL#08$?SRv!Sb9{{r-00kfb2_OJiAOKt-0I(ncv>*TlApi*>09+veU?BjoApo=?00|-h4I%(sA^>0_0IVVaup$8UA^`a!06-%EL?Zx-BLI#g0Hq@U+9LomBmg!f0G1>Gnj`@2BmnUw07WGLNhJV&B><`=0M;b{1SSA5CIB-g0D>j}h9&^RCIH7K00buh2qyq%Cje_F0Hh}Xs3!pbCjbK|09hyiT_^ytC;+u601PPr5Gep>DFACJ0Kq8$#VG(BDgYoV05mE9U@8EODgd}D0Ou+I>M8&rD*z-b0C6h-bt?eDD*(kS02C|$7%Tu~EC6XN0Jbaux-0+&EdUBF09P#lTP*;5EdZ!30M;!41TFwJE&ydN0B9}%qAmcYE&%f`0QW8cLoWbFF94P=0GclV=Pv;3F90|&06Z`Nh%f+*FaX&w0NpSE{xAS7F#uyR0A?`&pfLcXF#z!~0QE5dK{5bEG60)00G~1d>@ooGG5|d@06{YVjWYm|GXUN*0OB(M`ZEA3Gyp9$0BJM;Z8QL+GyteH0Q58f_%r}GH2^#{0CzP2do=*dH2}{w03J2~A~pbVHUM=t0M|AE+cp3*Hvl&`0B1Ji??3=6K>#j609io*T|oenK>(FO0Kh>2#6bY~K>+(f0472JDnbBVLI7Yw0E|NC0?90Ha6%r$_+aNC4tU01Zh15lH|{NdQnu0DDOQe@OtLNdV1B0Q*S*IZ6OMN&uir0HjI)21@`6O8{g`0BB19%S!;yO8_!V05(hjZcG55OaReL01-_96-@w8O#oC)0Fg}ql}!N9O#swQ01!?96ixtLP5@y}0GLhyoK67XP5|Ui05nekI8OkIPXLZj0NGCf-A@20Pyj4Y0DVvZflvU=Pyo?T03A^PAyEKxQ2=*Q0K-uL$58+oQUD!N0BBMGY*GNXQUJSB01Q(A5K{nLQvhI70IX90uu}j6Q~(B406bIxKvV#GQ~-Ze0J2m7wNwD#Q~={t02oyO8&v>CRRBs=0DM&de^mggRRFG40OeHx=v4p{Rsa`P08>@~R#pIkRse-o0J>HHy;cC|Rsif)03cTYBUb=UR{&C10EJfoh*to!R{*zH0O?l%>{kF6SO6PX09052SXcm?SOA|`0NPjp-dF$@SpXVY09RQ6TUh{|SpcC~0O?r(?O6afS^zs*0Fhb%m0AGMS^(5q01jIK5?cUFTL4g70Et@wjavZ4TL8&h00LY923!C;TmU~@0B>9Xb6fzKTmYS10MlFm*IWSoTmS)G08U*1Qe6O>T>zh50N`B!}CKPX80rY5=xs0J>@b>S_S(Y5*l`04Zw#XKMg!YXG@x0KIDf{c8XLYyd)R07h&8d~5)KYyhTg0IF;N_iOZ~*Uc0P}DFIdK3zaR6v>0BmspwQ&HsaR38y00(jaMsfg3asYL50C{o%xpDx#ascRZ0PJ!AGIIbna{ys;0A+IktaAXca{$|O0N--}6?6a@bO26t08(@Sg>(RjbO5t-0Jn4i>~sL{bO0K403LM!P;~%PbpU>K0D^S@xpe@%bpYpe0PA%CCw2fTb^uj&09kebj&=Z%b^yF~0Kj$t^mYLEb^suE03>$+S9btfcL0TV0Eu@1yLSM-cL3>k0PS}GCU^iUcmQp90C9K#tat#hcmU{l0PJ`GDR}@bc>r&D0CRZ&yLkY=c>oD|01bKoV|oB*dH|w&0H%5X;CcY$dH^1K03v$;TYCUsdjOYv0GoRN)O!HfdjJi5015be*h0gV6!jQ}u>05pvNgN*=(jR4Ax0L_g6`i%hnjQ}W)04$CGUycA`jsT600FjOW#*P5VjsWzI0QimoDvtmyj{sPY09=m%laBzFj{w1s0L7000gwO$kN_``05gyPXpjJFkN}pD0Gf~h&X54nkO2IU005ByGm!u`kpN+l0A-N?myrOPkpRV!0LhU6{E+|vk^ni906mfbfRX@&k^sMw0K<|1`;q|vk^nrD06>!ff|CG-lK{|@0MwHJDwF^&lmK>=0D6=Fxs(9ClmPgY0Q{5yHkAN6l>l^=0C<%Ev6TR|l>qIP0P&RoDwY5)mH=ax0B4o}mzDsVmH@$)0L7L7`<4LzmH;G|04SFLUY7u3mjIrZ0HT)w-j@L4mjD`=03MhCM3?|bm;i>D0E(CZu$Ta}m;lt602Y}58kqo5nE+Io0GXKpotXgDnE=?C056&VGnxQpngD5<0FRmglbQg_ngGw502`YCADaMQn*d^)0Hd1#rkeoVn*a=)06d%kKb!z+oB(c|0HvG&shj}boB-mS01%x36P*A)od80e0EC?Yh@AklodCC;0Q#K({+$3Ro&YVL0CJuHcAfyCo&cqu0PCIr@16h}p8y`809Bs=S)Txxp8%Vm0M(xW*`EL0djr2xjI03xOUCZ+&&rT}@S0Nr~rGY0KBLGz^DN8r~vn<05GWlG^qe@sQ`1S0IR70uc-j+sQ~b)05YloHmU$|ssMGW0I#Y5v#J2>ssQk+04S>fEUN%ts{muG0Gz7;psN7ms{rS#03xgaCaeHntN>!H0H3S?qpSestN`h(06?t(M6CdftpJd%0MD%e)2#pwt^g9Q08Fj`P_6)qt^kg%0LQKX%dP+euK)+H06?z*M6UpOuK<0o0I{zCwXXo{uK@3_04uNnFR%b>umEqc0IRS7udo2aumBLT02HwRWU&Bfu>gm$0NB{r*x1)`si~={si~={si~={si|1#si>)`si~={si~={si~={si|10sHv%`si~={si~={si~={si~={si~-`si~={si~={sHv%`si~={si~={si~={si~={sd#v)sHv%`si~={sHv%`si~={si~={si~-`si~={sHv%`sHv%`sHv%`sHv%`sHv%`sHv%`sHv%`sHv%`sHv%`si~={si~={si~={si~={si~={si~={si~={si~={si~={sHv%`sHv%`si~={si~={si~<*=;*1bsi~={si~={si|0ac&VwWsi~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~-`si~-`si~-`si~-`si~-`si~-`si~-`si~-`si~-`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~-`sYqDpsi~={si~={Na*P3si~={Sg^6Vu&}VOu&}VOu&}T&7^$hLsi~<*si~={si>)`si~={si~={si~=`si~={si~={si~={si~={si~={si~={czCI(si~={si~=`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~=`si~=`si~=`si~=`si~=`si~=`si~=`si~=`si~=`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si{clsi~={si~={NO*XusHv%`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~<*si~={si~={si~={si>)_si~=`si~=`si~=`si~=`si~=`si~=`si~=`si~=`si~=`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={NU5o*sHv%`sHv%`si~={si~={sHv!Uc&VtVsi~={si~-`si~={si~={si~={si~={si~={si~={si~-`sHv%`si~<*c&VwWsi~-`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~<*si~={C=LKLIy!D|Ze;*rGcz<}G+{JjG%{vnVmCQtH)UdDGi5h3Vl^>0Wj1Cw4gfSdI&pPxbY)*;VRU74Utw-!Uvz10Wpe;wHf1$7IWRRaVPR%tHf3XBG-EJhHDqRCVly>nWHL2j4gfSdI&pPxbY)*@Zf0q2X>@62b6;U@WM6J!ZgT)(WnyDBVmW3wW;ZuvHe_ZqV>mE2Gc!3fH#ufBHZVCj4gfSdI$>;VZ+Bm8X>?_BVQgP>baH8KXLA5yGcq_dH#0XjGiGKnVPZKkIb&roVlXjeHa1~oGh${o4gfSdI$>;VZ+Bm9b!>ELUu3B2F*RakG%+|iWMeopIW=K8Gcaa3Ff}m_05m!}VQg$~cVBX4VQgP?VPbP%X>MP0baH8KXLA5yI5lHrH#B1~V`VovV=^%@IW{q3He_NjH8nUlH#azA4gfSdI$>;VZ+BmHZfRq0WMyA-baH8KXLA5yVmM?pW@9&EF*P+aF*h?eWHw|nGBqM;VZ+Bl}X>MV1d0%O6bY*8{a&rJ-WjJJFWic^jGcz$_GcY+cF*rFnV`VroW@IvEWo0xm4gfSdI$>;VZ+BmBV{~C`UukZ1WoKn_a{ys8WHC52Vq;`BWjJOwIb~vFGC5)~G&nglHD)q1WHe0{baMbiH#0UdIX7f6IWb`|G&eIbH)A(tVL3Ho4gfSdI%#fXWo~p~bZKvH0AVyVIWRXeWiv2hG&5u{G-5Y2G-fg~H8L_`I5;pkF*ptYG&(wRWo%)1Wn^DwY;R$7UvP3|V`+0~Z*Bl#GB7eTG&nhCGB-0~Fg7_eH)LcpH)Aq2Vlrc9GB7tdTmTX}I%aQjZDDj@W^7?+a{wb@GBGeRVPQBhVq-NoH#jq7IW{pkFlIA0Wie(pG-fto82~goI&N=nWdLC_Gc;o~VKiejGG=6AH#uZCWnyD9Wj8ZoH8D43HfA^(05m!}bYWs_WdLDeVPZLDF=S;iHfA$8F*i15I5uQAVL38lVKXx~VK`(N05m!}VRCX|c>rN%F=jV0Gh;brFfcG?HDohpGB_|{WMX77GBjjnG-fp!05m!}b98cPZf5{tVl*{lW@cqDI5cErGh{L_WH~Z8Vr6AGHDxzqFlI6_82~goI%#fnWoKn_0AVpTH)LWrWM(xpFfcMRH8(XiF*Rf}Ha259Vm3E2WjGlCG&(wFY;R$7X>MmU7{VKOx~W@Kh&V`XDEG-EMkH!(OdVKQME05m!}VsCG3WnpdrVK_8pGGjJ0W-~ZuH#lNpGi6~lV>vK2VPZ95GGt*gHyHplIyz)wbY%cxHD+TsGcq$VF*z_bV`4HlWjHcqHaBK8W;Qi3F=jVr82~goI&^7mWdLC?H)CTqIW%H9Vl!rAHZwLiF)(IfFgRj1IWjV1G%{iq05xB9X>DZyWHvD|V>C8qIAu09WI1IpG&x~rWid82WMwfpV=^{0#{&Rgba`-P0B&JzWpi+0V`X%2ZEP-RbZu-SVPaupGi5k5Vq#`7W-?0Wj1Cw9so2tI%aQjZDDj@VRK(%X>MV1c>rNEWHK>fIWjmkWMwfoHD+dJW@9-yV`gD7Gh}8mF=S>Q05m!}W^ZzBVRT<%b6;;`bYW}&VPs}wGB!6hGdDFfWMN`rWM(-xWHVzpI5RV0GG#boVIBZ9Iyz==a&2LBUtx1!Xk~a|WMyM%ZDDKxVKii9GiGIDG&VG1H)LTjGGt|9W@2M7Vq`QoGBsl|IUE82UuJA!XLA52JE@*UZY$IVeGi737HeoX~WjA9tV>DqjWHT`_F)%PVFfe5?Vq!IR0RUfVbY*g3bZ>G1ZeeX@b8ul}Wpre|pI5T5pWietnWHvEmVqr8jGC4A0GGZ`hV`4TrTmTX}I%98cb97%}a&lpLUukq@a$$6DasVS?Wny7DW@R&BF*!41IAS(5F<~)gVl!bfFgZ44H)Am~TmTX}I%98cb97&HVPb4$Uukq@a$$6DasVS?G-6|8WH&W4W;HZ4Ff?T_FgZ6gH8(XeG%+_fW@BPvTmTX}I%H*LVRdYDUuJJ|ZDDkDWpV%`VKQPkH)1tpGBr15H8eLjGd4IgGcq_ZGcjf~H8W*5He3J_Iyz}?b7gXLWn^D;d2nT4Z)N}^VP$49W-wx6V`OAAHaIqAGB!A7G-5b0WI1GEH!v|`Wn2IfIy!G~bZKvHVQc^+VP-QlVL4`EGczzXWi&B4H#jsgFf=wWIb}9tVq!O8V_X0dIy!T2b#h~6UukY+Wq1H1VP;}DH8N&lGBRN}Vl!o7IbV-EG&DA1G&nFdG&W&nF=jV0W;J3sHZ(LcGd4J60RsSEX>?_BVRUbD0B&JzWpi+0V`X%2ZEP-RbZu-SVKF%}G&5ymHfCjFW-(%7I5RY5VL4?pHa0XcHDxm~H(US`Iyz}{Utw}`VR--}VKOo`F=96`GiEboV>DzjVKXo@He)z4WnpA9WHvctV_X0dIyz}{Ut(`>Y-M3?03%^IWj8rEGB7qZF=JynVK_52FgP+}W;tPEWHdKqI5;(201`SnX>(s=XmW3EZ)|U8X=7n*03%^HW;i!CG%z+WV_`RBV`E}BWjHc9W;QouI5J}}G&nU}01`SnX>(s=Z*Fv9X>Mh503%^!He)trF*Y|hWiex8H8wP4G%#gmVK_NqW->J~G+{Da01`SnX>(s>VRU5xBVjXRHDqC7G&MFeWiw%BW-?+mWi~W6FkxXiH)Jw6WM(V?6<>5|ZDjy5I5lHoW-u`_H#j+AHZV6hH8C(UHfA|EGB;r}Gh|!<5;{6*b6;j`Z(($4Zf9R`Z)t9H03%^BVPRomFl90}G-G6BG-fn2H8D6fH!)^1W;QWlV>32f01`SnX>(s`Zggd5WpV%`VKp%`Vq{}9VKF%{H!)@~Vr4flWjQipVm4!9F<~)bGh6@?Iyz}{Uu$J~03%^HVmM`HIWRY5IW{smWHB>2VKXpfI5#w6Gc+|~F*!9b02E(ua$jR_ZgypIbZKI2WdJZWGG<|BWMwxoIWRY6W;0pFgZ12WI1AGWiU4|G%^4bUv_C_cK~8FVlXyjVPiOBF=a4hWjSRqHZ(CYIWae7F)(5_F*sZR5;{6*b6;+CZDM6|03%^GG-G8qWn?xvH#B52Vlg*3GBY(cHDY5nH)Av~I5#s~01`SnX>(t5baH8KX8(t8VQh6}03%^AWI1DGGB!13G&DFdGcaN~H8U_ZV`F4CIAk(rH840_01`SnaB^jHWpZ|9UvqDDa${v*c42IFWnX4&VP|syBVjW#W;ZY}Vlg!`Wid5lGc`9jFfnC0Fg0X0GB#l}W@20b5*a!=VRT<`VRUFHZf|5|CM+OxbYwa@b98cPZf9S1X=QgQ03%^AGc;jhHD)z1WHdHrI5}ivVP-ftF=012IAk?8Vr4lx05lg|01_WMI$?BQaA9<4C}VGKb95kXZ)9aAEFg1qWI8%?baH8KXJ2+{Wp^n6BVl7@V`X7EI5#wAW;QZ0G%z(~F=I1kGdMIeGh$&iHe@^iG#y+35*j)>VRT<`VRUFHZf|5|CM+OxbYwa@cXM=dX>MmjV=*~mF=jC}Fgas3WMN}8Hexa}J^(ZrTmTXvIyzx=UvOb`XeeWEZgX@XZf|5|CM+OxbYwa@cXM=dX>MmMmMm4nkH8f!}Gc-&9G$UL95+XV}aA9(DWhirWWI8%&b98cLVQnTXAaitNIy!fAbaH8KXJ2+{Wp^n6BVl7VH#RppG&43bFgG?bV=^*gHZwFaWMeiqI5J~nGGtBwG$3365+^!3aA9(DWhirWWI8%^ICFGzX>Mm)XPWnpb5EFg1qWI8%?baH8KXJ2+{Wp^n6BVjUSWjHiuW@BSyWn?!qH(_ElFkxn6VmL7}GGsV1H#brMG#^|55*|7_aA9(DWhirWWI8%&b98cLVQnTXAaitNIy!T7a%pa7CMGEWBVjl&H#ucDF=AvmHa9XdH!v|{VL354GB{&4H!wLfFf~*FG#p$25)wK(aA9(DWnX4#Y-K2ObYwa@b98cPZf9S1X=QgQ03%^IWMX4AIAmdDG&5r}Vm3BrG&DChVK*@|F=jP4G%;aT05lL>01^~BI&fifb7fy4UEb97`nI(0a6baH8KXJ2+{Wp^n6BVl7?Vqs!rG-5Y5F=R3_F=k~sIASm`H8W&5G&p27Ib>J>G!k3@5)(Q)aA9(DWnX4#Y-K2ObYwa@cXM=dX>MmoS^zW=bZ>2J0B&JzWpi+0V`X%2ZEP-RbZu;A03kX$WMyVyb!>EBW^7?+a{wb@FkxXZFfcGSI5{?EF=8?^WjJDDGG${iVKz84GB`9fW&j}}Iy!W3ZERm=Z*py6baZ8MC}VGKb95kdZ*6QkI&N=dWhN{jW^ZzBVRT<+Y++|}DF7p3I59CWVPRo0Ff})1H#RdfG%`45Ha9snVPi2gIXE+6UI0TMW&j~6Iy!W3ZERm=Z*py6baZ8MC}VGKb95kdZ*6QkI&fifb7fz0Wpj0GbS5kyW^ZzBVRT<+Y++|}DF7p3Ght>hV_`WtF*7-3WMX79FgP?dVKrl9H)JwnFflVXU;slWW&j}|Iy!G~WpZJ3Z*n|5D06gVIy!H2baG{3Z6+)rbZ>2JUuJJ|ZDDkDWpXAd03%^FFgP(aW;8f7FgZ0hH#RgdH)b<5Vlg&3G-6_AH#22o07D*T03jhdI&W}ga$$6Day&dJb97`nI&X7ya%Ev{CM+OyZ*6Q}W^ZzBVRUq5awaAz03%^$Ffw8_Wnp4vF=aS3Vr4iqGcq+bV>e@FFfwI0WMpAv07D;K0025VbZ>2JUuJJ|ZDDkDWpV&xY+-YAbZ>2JUol@XbZ>2JUteZ#a&2LBbY*fbXmo9Cga92nI%HvVWdI{#I5}oBIXE>qHD)t6Gh{JkH)3QpIc8-vG%zwTGB7tZga92nI&^7mWdI{#F*sy3Wj8l6WMVXCHZe9cH8wOeV`O17IWS`~VmC4{ga92nI&WrXb7gb@BVlGZH90mgF*9a0GBRR0G+{V6WHMu6W;QuxIWS={W;JI39|B)=X>DaFDF8BKIb~%rV>M$rG+{P2GBag4V_{=8WMVcoGB`P8F=lE2KW6|SCSP=EZDlB9Z*FsRAarkSY&tq*VRU6CEFfcVZgX@XbZ>2JIy!V|ZDl4Y0AesWG-NY4FgH14W;ZcpVlZSdVPiNnHZ?giIAmioYydwbX8<1)Uvz10Whi5BZgX@XbZ>2JIyz)wbY&(f05vl?G-EhrHa0mhW;HowHZnJ6IWl54F*IT@HezKpIBozx5oZ7&6JK;`ZDlB9Z*FsRAarkSY&tr0X>DaDDF8P!WM(xnFf=h`Wo0lpVmUZ8WHUH4HZo#iGiGFDVKi_6KM`jDA2nZeX>DaFV{dMAbRcwZZEQL^WMOn=CM+OhZ*FsRAarkSY&tr0X>DaDEFfcVZgX@XbZ>2J;((?p0AXWdVKFr`W;r%xIW{vlWHmE3VPs@AF*P}2VPrWuVR8UJGlT#g2s%1xb6;$4V_|G4DIjBSZgX@1BVlGRWHvD|IXO5qHZ(P5VlXi^W-?}BWH4oBG&nb6VqQ3HDqOBGj;$!B7^`PBsw~8aAk5~bZ>GzC}VGKb95kNVRU6*bZKp6CM+OhZ*FsRAY@^5WnXk@ZDl4Y03%^EW;QoCFf(RkV=yviVl_21IbvZlF*9K~GB-0}HZx*)06!vx039JZI&W}ga$$6Day&dJb97`nI&X7ya%Ev{CM+OhZ*FsRAY@^5WnXk@ZDl4Y03%^FVK6x`V`4dEW??X7HeoYmH#9adGh$&kFfw9dWMpG{06!mu039ScI&W}ga$$6Day&gKV{dMAbRcA5bY)+3X>DaDEFfcVZgX@XWMOn=Uvz10WhN;ABVjjUGG;I`HZfskGdN{tHe_OAHe_WmW@0lnW@2JyGh%!IKO%$x9V9wBZ*XODVRUbDJv}I6Z*FsRAY@^5WnXk@ZDl4bAY*TCb95kNVRU6*bZKp6CMf_TVK_K7V`61FFfw6fVPs)rVlX*1Gcq$UVPs`FWH@3uVSWHVB7^`PBsw~8aAk5~bZ>G#C}VGKb95kNVRU6*bZKp6CM+OhZ*FsRAY@^5WnXk@ZDl4Y03%^BVq;}uFf}kTIA$|5VK_25WHvEoW@9%tIAvjCH#lK{06!vx039ScI&W}ga$$6Day~sMV{dMAbRcA5bY)+3X>DaDEFfcVZgX@XWMOn=Uvz10WhN;ABVjW(F=k>hIWRP4G&eV8FkvxfH(_I8VKZZ7WHB^hVrGH>KO&j{5?^#_ZDjyoUvz10WiDuRZETtV7dkq5WnppvBVlAQWMeflGGZ|?HDfk8WMernI5jjdVliVjW@a}zGGdwl7dkp^Z*FvG03%^AH8MD3H!?D0Fkv_`H#9L}IW=ZBWiw$hF)=naF*IeG02ewsWMO##BVjmYV>e+pGBY@0IAvsHGczmT3IX7iDG-QeZIR}~m7aBS`Z*XODVRUbDAw4K#Z*FsRAY@^5WhN{jV{dMAbRcA5bY&(f03%^FWietlGcYtTV>VMzjH8Ns1H!@_7067?%02drOI&W}ga$$6Day&dJb97`nI&X7ya%Ev{CM+OhZ*FsRAY@^5WhN;ABVl1OG-hOEVqrEhG&x~1HfAwoVr6A!WiT@~F)}tYF*c9@IU1S(7aBS`Z*XODVRUbDJUu95Z*FsRAY@^5WhN{jV{dMAbRcA5bY&(f03%^AVPs@EFk?7kWnnR9WMegEW;HNlVq#@tHDxh2Ic8&$067?%02dlMI&W}ga$$6Day>mLV{dMAbRcA5bY&(iAY*TCb95kNVRU6CDF7p3W;Zr5Gc+7dkp^X>N6NWdI{#FfwFiG-hQmG%;jmVL3H3HDzKnWM(!nWH>fvH)diqu>co3I&)=XZ*F7&BVjmUWiVl4I5at7H#RXfG&3?VH)CNqHeoVlF=Q}iWM;7d7dkp_VQz18Wn*t{WB?;!Gi5nrHZV3dFk@q6GBIW`Wi&T2GcsZ~H#apjH!(Ohu>cnWIy!V|ZDlAa03%^EHZWv1HZnG0GB9E}IWlH5IAb<9HezNqWo0%pVKOkE06DP$7Y#Z(bZKp6C`c?IO)MZ&EFex(DF7p3V_{`uGh|~nH#jsmFg9Z~H)CTrF*0FdG%zzUGBag1p#V7xu>cnuIy!G~WpZJ3Z*n0$C}VGKb95kdX>DaDEFfcVZgX@XbZKp6CMf_TVK+86Ha1}}H#cQ5Ff}GzC}VGKb95kdX>DaDEFfcVZgX@XbZKp6CMf_TVKOo>WHmH0I5jgeWMefsW-&N4HfAz8F*P|fGcaOhIHdqN7_k5s96CC0aAk5~bZ>GzJScN?WI8%;b98cLVQnTXAY*TCb95kdX>DaDDF7p3VPrTlVmUE6G%{pmGh#DlGGsM0HZ?Y5IAJz8Hf3curvNz`u>cnuIy!G~WpZJ3Z*n|6C}VGKb95kdX>DaDEFfcVZgX@XbZKp6CMf_TVKg;4WHdQ2Ha9aeVq`XBHZd|eWMwuoW-((nFfm~^FsT4J7_k5s8ag^}aAk5~bZ>G!Jt$*uZgX@XbZKp6CM+OhZ*FsRAarSMWhN;ABVl1UIAk$3HfA_wVKgu`H8C?~FfcbTGGa4hI5=cwGG?m)IT*137aBS`Z*XODVRUbDJ}6^vZgX@XbZKp6CM+OhZ*FsRAarSMWhN;ABVjl-HZ)~5WHdB0HZ?M3V>CEoH85dgWn^V#F=1jhG-Is*IT*137aBS`Z*XODVRUbDK0PR7Z*FsRAarSMWhN{jV{dMAbRcwTZDl4Y03%^#H8n9~HZx;kW->N4VK+ErHDNb1V>dZBWo0!pIA%4k067?30025VbZKp60CRM5bz^jNZ*6Q}F<&usX>DaLXmo9C#Q+~VI&Eogb#!HO03%^CW;A1DFfuhcGcYh^Gch=1WoBbAV>M-FWMwruGGt`M03QN6I&^7mWnXV*W^-k9C@BCVVKg~mW-?=9F*7!1GBGnWG&5!~HDxg{I5ssmW;JFoWwQW5#Q+}$Iy!V|ZDn6?W@d9`bSOwHAWbO%BVjpZIW{viI5=i8HZ(LhGi7BtVP-QmWMpPHWHe?uGi9{^K?KDB9~wG3Z*XODVRUbDAw4K`X>Da+Z)Rq5WppecbZKp6UvFk+b7gcX03%^HH)SEkI50N106`eV03RAUI&W}ga$$6Day%$>X>Da+Z)Rq5WppecbZKp6UvFk+b7gcX03%^$Wid54GB!3cVm3K4GBq?dH8M10F*IW_H8?n9W;tZJ06`eV03RbdI&W}ga$$6Day&dJb97`nI&X7ya%Ev{CM+OhZ*FsRAarSMWnXV*W^-k9CMf_TVPiNqWM(iiVl-toFk)mgFf(K~H8(LbG&e9cF*h_dF}nakA;kb68ag^}aAk5~bZ>GzJt%Z(ZDn6?W@d9`bSxlrX>Da+Z)Rq5WppV3BVjaQFgQ3iWI17EHZ?gmGhsAkI59FcH#TBnFk?13GB~{eK^VmV9~wG3Z*XODVRUbDJv}INX>Da+Z)Rq5WppecbZKp6UvFk+b7gcX03%^!IW#geWo0lnH)JqjG-EJgVKX^oWnwZmH#uQ2H)b}!06`eV03RAUI&W}ga$$6Day}?@X>Da+Z)Rq5WppecbZKp6UvFk+b7gcX03%^xH8M9aVKrkhF=1vhVL3B2G-NVkGB7zYF*YUN8Vlp)~IbmUDIbvjCF*7qb!vH}Tu>cZZZ)Rq5Wpn^vUvFk+b7gccXmo9Cb^#XxIyzx;a$$KWDF7p3FgZ0fWHe=DV=^=`H8e0bVKrtqV>V+nGiGEnVKy)}#sE2X0T&KBI$?5hVR9}Wo=Y>aAhVYEFeW}Wo=Y>aAk8KCMF;*E-onmBVl7=F*ji~IA$?sVq{`5GGS$5W;kXyWHDtpFgY`2HDk;GIUIHY7Y;f)Z*XODVRUbDJt$*uZgX@XVRCX|c_t|UBVjW)W;8N5W;Hl9F*rD5Wj8QmI5K82WM(!wGc{&4WHrtJISh6I7YRB#Z*XODVRUbDJt$#va$$KUCMf_TVK-$pWi&N6H#cQ4I5{*iVPax3Fg7`1H90vkWie(mG0*@x2X+A$9XdL1aAk5~bZ>GzJScN?WI8%;b98cLVQnTXAY*TCb95kKa&lpLCMf_TVP-LAVP!R9Vl-i7G-P2nG%-0jW-wtlH!(LbV>K`}WzqmS8+HK~96CC0aAk5~bZ>GYJt$*uZgX@XVRCX|c_u6%V{dMAbRc1Ja$$KUDF7p3W-vBmH#9RhVK6x~HeoqrHDxe4Gh{h1Gh#J4W;S6o)Brgeb^#Y0Iy!G~WpZJ3Z*o07C}VGKb95kKa&lpLCM+OhZ*FsRAYpQHVR067|V0T(YiI&W}ga$$6Day>mLV{dMAbRc1Ja$$KUEFfcVZgX@Xb97`nI%#fcbZKF1X?kUHUuMwkF)=hSWi~KlWHMzpFf(LkIW}fuWY_>XEp`DHB|189aAk5~bZ>G!Jt$*uZgX@XVRCX|c_u6%V{dMAbRctdWI8%_Wn*-2ay(Q%CMf_TVKrhiV>U50Wi(=8IA&xwI51*4Ha2E4H#IOfFk&?|G}-_;BX$870y;WlY-M3`C@BCVVPs)pHZ@{qHZx{2Ic7LHIAbz5G%_KlWic>gG+|?6WMyMHFgV@-ISzIK7a%%1WpZJ2Whi5BZgX^BX>?_BVRUbDEFfcVZgX^BX>?_BVRUbDDF7p3H!?FbI5;>qFl09}V>w|lHZn0YH)Jp}IWsdhHfCZn-~c%ub^#XzIyz=-VRUq5ZYU`rCIBO0VKQMdF*!9jH!w9eGC5*oWid5jVP;`vIW;*rVKQZ7;s7}U;s6;1CIDnJFgIdlVKFylH#RgdV>LH7F*Rg1H(_EpVK+B7WHjUeIRkb97XmsuaBpy5Vqs%zC@BCVVP-iwWH&NpGC5;qW;irvH#0V5IWc55GB;v0H(@bkW99%kb^#X%Iy!K2b#7%SVsCG3DIg{QBVlDVG&o~sF=S&hHeqCCHZV6cGc`0gVK6XZGdW^0H#O)0IR@we83`r;HfCcvF*so{H8EjiVKgvfH!(A0HaImkVP-QhGBIN^>Hs+hb^#Y1Iyz--aBN{?Whi5BZgX^BX>?_BVRUbDEFeL0XLBGXCLk^@E-3&bVKgx@Fk(42GdMP4GczzbH(@e0HD)t5IW%EoFfn8_Ve9}o8+HK~5jr|$ZE$R1V`X1rVPk73MQmklL2_qvASNatE-o%903%^#Ib&sEVlgu`G&W^1F*q|bGi5VjG&nY8I5A@~G&DHw067nK0T(GcI%#fmWpZ>VV{dMAbYE$7WpZJ3Z*nXkMQmklRC#b^CMGN(c42IFWnX4&VP|tG03%^BH)A(tGc;l}Gc#pjI5{vkF*r74Vq!5jI5=ZDWHUGL068ai0T(ekI%#fmWpZ>VV{dMAbYE$7WpZJ3Z*nXkb7^{IUvw-WMQmklRC#b^CMGN(c42IFWnX4&VP|tG03%^FHDNhrHf1+7GG#S2Hf3QjH#IjiWHLEpGBaakH)Lk=068yq0T(GcI%#fmWpZ>VV{dMAbYE$7WpZJ3Z*nXkNpxj$EFejAWpXSac42IFWnX4&VP|tG03%^GFkvucGdW^rWH>i6F=J(BGBaf{H8o~6H83<}H8f=O068ai0T(qoI%#fmWpZ>VV{dMAbYE$7WpZJ3Z*nXkb97`nI%#fcbZKF1X?kUHUuaAiI$;((?p03%^BVqs-tWHn?pH#uQuVl^;0I5;*nH!?OiG-5b8H#jl&068;u0T&rMI&gJ!XkTJsV{0fyY-Md!d2nSWCM+O!VQh6}UuJA!XLBh4BVl4UF*rCiGdE&0H8EvoGhsJ1Hexk2VmLEpG-5C{Vl(&vITv;T7b!YAa%FIAVPj<|V{dMAbYE$7WpZJ3Z*nXkMQmklRC#b^CMGN(c42IFWnX4&VP|tG03%^DH(@woGB`73He)ekVr6A!H#Ik6GG#S6G&nhBWj15_068ai0T((tV{dMAbYE$7WpZJ3Z*l-5VPs}xGdMFbIAk+3IWS>2HfAt4GhsM0W@IvEGGSpdF?InLIyz}|WpZJ3Z*l-5VKy>hF*r0gF=JsjV>MzhHZm|YWHMzkHe)$9GiEq5Gj;(N0y;WkWoKz_C@BCVVK`-FI59UlWMpPBV`4NkW@KhCVmM?lH!v_}H8o>0X8r&<{s0*WAY*TCb94YVV`gSCH8M6~He@koHZe6fWiVx7Vlp!^Vl+23H(_A_0XYVC0T&25I%8sGXK8LIDIjBSZgX@1BVjc*WHDo6VK6W@WMgAvHDP2qIXE(6H8^27Vlrf8V=)2&IRmK0V`B^fIRMy@bZ=i~X>=$l03%^HF*su~Ff%b_VPrHiIALKmGC46aH#9M3He@h4G+|*B0XcR77YI5!b7^{IC@COgZ*FsR03%^$I5A{5Vm4thGBr10WH&Z8VKg^nIWjjkI5jn4H)A;#0XYVC0T&25I&^Y%Zew9|WhirLdSzd9DF7p3Hf1wmV>vlCGGjL|Heon8V=*u=F=l2sGhs9^I5cK67y&s3b^#XxIyzxvc5VKy^0WjJItV>K{kH)Aj}Vl!bH0XZ5083-U_Z*FsR05~u(H)LWtGh$?AVmLBmIAb?AIW{$BW;Zf0H8y58VjKZE26h1#0y;Wjb6;X_Z){~@ZYU`LBVl7PIXF3CGGjDkH85s4G&wV7IX7c6Gi7BmGG#F}Wi}oGIUWHS2q0r`ZgX@1G&nLaHaIdjIXE(6HDhLGWi>H2HZoykW@9s9Wn(g8AOSfBb^#XxIyzxN37XJv9IDF7p3G%;i_Gh{O{VK!l6F*Z12V>DtlFfcSWV>Du7Vl^;kE&(|%0T~D&V{dMAbO1LwI5#n4GGa9{H8nS4H#B5nI5RLZIWje3H8wIdWo0k{IRLE1G%+x9oVq!OAIc8!y0XaGW83-U_Z*FsR05>-(s;a&lpLUvFk#bYWs_WpgMgAY*TCb94YBVK_HqWH4l7Vr61uW@I)tF<~%aWivQ8GBq`0Fg7qXWk3Nr26h1#2s%1xb6;X_Z){~@ZYU`rV{dMAbO0k^Vq#@uW-wtjF=1gdWidB3Vq-NoG&o~pW;Zb~HZx>6LIF7jb^#X%Iyz}{Uu0o)Whf~iV{dMAbO0k^H#st7V>4!CH!(0ZF*r3eF*P|dHDokqIbmWmV_`95L;*Plb^#X%Iyz}{Uu0o)WnXk@ZDlAaAY*TCb94YBVP!ZpG-fq3VL3K1G-hHnGG;M2HDNh1HZe9~H!@>lWJUow26h1#2s%1xb6;j`Z(($4Zf9R`Z)t9HC@COgZ*FsR03%^yH#In7IWuKtWMX7vGB+_XGB!9dW->N3G%#XiWiT^H0XYVC0T&TEI%#uXXm4$AXJu|>Z*_AhZf|5|UvznJWho$IZ*FsR03%^HIbktoWj8ltFf(E^Gi6~iVmV|uWH4bkH92EBGi5eP0XYwL0T&ZGI%#uXXm4$AXJu|>Z*_AhZf|5|UvznJWh@|WZ)9aECMf_TVP!OBIXE_EIc8*HGBYqaFlISnFk&+|F*ac~Gi5kpVoU)!5q1F=A38c|b6;q0ZEt5~Ze?$Eb0}_aWMyA;d2nScAY*TCb95kXZ)9aECMh6eZ*FsR03%^!FfcYTFk>)fF*s&0GBq(aWMw%rVm2}}WMedBFlIGQ0XZFZ0T&25I%#uXX>N37XJv9IDIjBSZgX@1BVjiB~1G&VOhVKO;2I5;&mWHe9#IR(t0b!}p0awsVvV{dMAbO0k^VK6f^F*Gz|H8?P0Gh{enG&eFgV=!Z8VrFGxV=^%`QUN&zb^#X%Iyz}{UvqSFX>MmIDIjBSZgX@1BVlD_W@KbAF<~-eWiw_rVq;`CVP#`xVPa%6HZx=}Heyr(IR(t6VPb4$C@COgZ*FsR03%^!H)UivIW%Q8G+|^jVPR!vHe@$8IWuE2Hext9H)J_h0XYVC0T&25I%#uXbZKp6C@COgZ*FsR03%^CWHM%BI50IaGGs6~VP-dBIWsh2He@g|V>e=EH83_<0XYVC0T&25I%#uXc42IFWhf~iV{dMAbO0k^V`DWlGhsJoVKHT4HDfk7W@BYGW;AAHVKri7G%-12S^+r*b^#X%Iy!WDaAhbdAY*TCb94YBVKX%{Vm4tpIWjXfGBGx0FgGw_HDx(BIX5;oHZwIhFdQ6GGj4eVm2^gW-?=8F=IDmH8N%}HZ?dlGdW^3WC1w_b^#XxIyz=@Z*FubDF7p3Ib%0CI5aphGC5%~VK*={V=*-}WjAADWieqnH#1~2W&t^70T~D&V{dMAbO1GCVKZT7F*sv3Gc`0eWMMXDIb4nkVmCKtHZ*7fIRU5mIW%TvWHT^fWnnimV_`UCGB!AH0XYnI0T&25I&W}ga$$6Da$8*}b7^{IUvwz|BVjl-Gh$(6FfuteV_`I8V`XJEH)ALN9IXGlDFl90|W@R}yVPiKmGcz|fGh<_g0V6s(V{dGAZEgS~VKHN2He@hlVl*&gHaTQ6H#jsmFf%YQF=jVoW;HZ3G=%{p2s%1%aAk5~bZ>GXVsCG3C@COgZ*FsR03%^zV`5=4W-~NlFgIj4Vl*`~VmM|pW;SABW-??qGh=3X0YwId0V6OvI&W}ga$$6Dav?n^V{dMAbRctYb#h~6UvO`8X>@6CZYC@sV{dMAbRctYb#h~6UvO`8X>@6CZYC)JBVjo(W@TeIW??ZfF*IQ@Gc`D2Gd412IWadeV`O45H#2(yMJ|N_BQQETZ*XODVRUbDJSbytZgX@Xb8mHWV`X1(Z*ysMX>V>OEFfcVZgX@Xb8mHWV`X1(Z*ysMX>V>ODF7p3H#adiF*G?aGG<~iF*7tYH8nXmVKHW8GGQ__WjJGGeE~%-g#jZcIy!G~WpZJ3Z*n|5D06gVIy!H2baG{3Z6+)rV{dMAbRctYb#h~6UvO`8X>@6CZYC)JBVjZ!Vl-khGh<_9GBaT^Fg0N^V=^*1I5;&kFg7+}Vqt#)MJ0s+BQQETZ*XODVRUbDJUu95Z*FsRAaieZa${v*aBp*IbZKvHCM+OhZ*FsRAaieZa${v*aBp*IbZKvHCMf_TVPax8WHdKpI5jgjG&3+UWn(lrWjA9rW;11FF=IC|VSxcfE`G!Jt$*uZgX@Xb8mHWV`X1(Z*ysMX>V>OEFfcVZgX@Xb8mHWV`X1(Z*ysMX>V>ODF7p3GB!3bVPs-BGBRT@GC470H8V0eWI1FoFl97iIbk?vg8@Y@TmS$%I&*Jza${v*aBp*IbZKvH0CRM5bz^jNZ*6Q}F<&urZ*_8GWnW)#Z*ysMX>V>WXmo9C90C_QI(A`fb!A^+a%TV|VPi2fF*Z0gFlI0|H!)&iVlp)_HDoa|HZ?aeWivK5FdPCGIy!b?Y;|Q{ba`-P03%^!I5%QAV>e}EG&VJ3G%_?|I5sh1Vqr35G-G5nH8M6F0v8TCI&W}ga$$6Day=+xZ*FsRAa-GFb!8?g03%^DGdVXiF=03|F*9N{WiUB8Gh#J0G&e9dH)dpIF=jW20XYmD0v8E7I&W}ga$$6Day=+^VQh6}CMGEWBVjo;IAmcrVPR!6W@b4sFgY}3Gc-75Vq;}tVKiZ3HDrnbIR_j97YjN%Z*XODVRUbDJt%fzY;|Q{VRC0F03%^AI5{;iWMyV%WHDhiH8wagH8f;3IAk(6H8D41IX5$m0XYdA0v8QBI(A`fb!8|)a%XcOCMF;*E-onmBVlA@VlXykIX5#nHaBB6GGZ}hVK+BrW?^M9V>V%AF))q+ISU*D7Y;f)c42IFWhi5BZgX@Xc42IFWhN;ABVjf&VPj=AWHUEoHe+TmIc8*IH8?qCW??mDFkvt`Fg1_?ISd>E7aKY{c42IFWhi5BZgX@Xc42IFWhN{jc42IFWnX4&VP|tG03%^GHDxwsIA&ooH#9XhWH>WnWHVu8VK6cotH)3NpG+~qhIR_j97Zy4?c42IFWhi!GY;|QOCM+O!VQh6}UuJA!XLBh4BVjdWHfA+pI5T20WMeaCH8?afW;bSJHD+RCFl97mH93|6ITRcM7ack}Z*XODVRUbDJUl3KbYwa@Z*z2VWnpb5EFfcVZgX@Xc42IFWhN;ABVlDRHZWmgI5IFaVKilAH8*5oV=`f6He)qmWnyABI5U_5IU5`T7aux0Z*XODVRUbDAw4K#Z*FsRAa-GFb!8?jAY*TCb95kfVQh6}JXAg=DF7p3I5#q7H8wS2WM*PxWHK-@W-?)7F=aC`Ff%qeIX5*pngKZ-90C^^Iy!G~WpZJ3Z*n{+V{dMAbRc$NY;|QOEFgAaY;|Q{VRC0F03%^BH#ae1VKXygWHMwlGBsi~G%{o`VmV|mWjQc7Ha29O0XY{O0v8!NI&W}ga$$6Day%$@VQh6}Utw}*EFfcVZgX@Xc42IFWhN;ABVjgTVr4KnIW#h2WHvA~HfCWtG+|_9VmUD}IW#adIWe9AITsuP7aux0Z*XODVRUbDJSbytZgX@Xc42IFWhN{jV{dMAbRc$NY;|QkR6Zst03%^HW@KYDW;i!yIb~xrWoBYHIW}WsGi5M2HaRpiGB{$O0XZEU0v8!NI&W}ga$$6Day&gKV{dMAbRc$NY;|QOEFgAaY;|Q{VRC0F03%^HWH2%{HZ@~5FgRm2HZx&nV>o6rWHK=@GBz_gH#9J!0XY{O0v8!NI&W}ga$$6Day&gKc42IFWnW=(XDlFNZ*FsRAa-GFb!8?g03%^CW-~WtHaTQ7Wi&T8V=!YfWin!6F*as4IWajnF*RkR0XY{O0v8`TI&W}ga$$6Day&gKV{dMAbRc$NY;|QOEFfcVZgX@Xc42IFWjs_qCMf_TVPiI7W-&EpH92H8GdE;8HDobiW@R`yH)1g|Vm3K9Wu^f+9UKA|89F*|aAk5~bZ>G!Jt$*uZgX@Xc42IFWhN{jc42IFWnW=(XDI+9VK8DjFl97mI5lNsVP-O8I5A~3VqrL9G%{gfHDhHnG^hbN7aRf?A38d3aAk5~bZ>G!Jt$*uZgX@Xc42IFWhN{jV{dMAbRc$NY;|QkR6Zst03%^CW??imHZd?TFf=!0Ff}q{Fk@q3GGj4jGiEk0FgP`;0XZEU0v8!NI&W}ga$$6Day}?yZ*FsRAa-GFb!8?jAa-GFb!A^+a%U+3BVl7@IAbs{WivE2V>UTuWjQltHDoekWHMxCHaRpiG%&0IITsuP7a2M_Z*XODVRUbDJ}7o!Y;|Q{VRC0IAY*TCb95kfVQh6}CMf_TVP-NgFlI7hWi&E3Gi78jIWjXhG&5#2VmUE5W;ixwHm(6V7aRf?A38d3aAk5~bZ>G#C}VGKb95kfVQh6}CM+OhZ*FsRAa-GFb!9wMJ|-yuBVl4WHDoY1VK-(pIAt_6Vqs-wVqs%qW;JFuFgG$dGdHjSIUO7V7a2M_Z*XODVRUbDK0PR7Z*FsRAa-GFb!8?jAa-GFb!A^+a%U+3BVjl&G%+_~H83?bFgG%0GB9K_VKzB9HDobjH#lKtGBL6NITsuP7a2M_Z*XODVRUbDK0PRQVQh6}Utw}*EFfcVZgX@Xc42IFWhN;ABVji(H)S$mV`MThWn^YBG+{9`G&wOiWHC21H!wD0VK%e@ITsuP7aux0Z*XODVRUbDK0PR7Z*FsRAa-GFb!8?jAY*TCb95kfVQh6}JXAg=DF7p3FlAz7WnnlnF=RP7H8eJ4Wi(dK6H8wOkHaRvhIW;z6IWlB6VZH%51{?wx0y;Wjb6;X_Z){~@ZYU`LBVl4NHa9RfVrDirIA%0CHeohoGBjj1I5{z5Gc;l}HZ;HiIluuK2q0r`ZgX@1GhsL}Ha9V3GdW^6H8VCdVqrI9GGa4kWHw?qHZ(M0!T~u390C^tIyzxn|oWiT`~V>DthIbt?2Ic3BFIm7`O2q0r`ZgX@1G%zwWH)Sz0IA$_tW@KVDGdMP7Wi&BjGGRD0Vl^^k#sN7790C^tIyzxN37XJv9IDF7p3F*h(~Ha25pWn?)qW@9oqI5uN4GGt~qWHdEqIA%99&;dEn0T~D&V{dMAbO2#vFkxe6Ffuk|W@0%oGcz2G&D3fV>o0rF=I10FgGz~H#uW5)&V&N90C^tIyzxlH!)>5Vq`KgV>3BnG-fw5H8(Zb0Xf(K83-U_Z*FsR061bbV>4nfGGj9~H8MCiWjSIsHZx>mWic^hH!(LdW7+{Z1{?wx0y;Wjb6<36ZDlAa03%^EGchzUH8(LbI5IXiVmCA}IW;sjG-G37H#9S0GB;%00Xf_O83-U_Z*FsR05>ue=BG&p84H)h}gIR+d87YI5!X>(s;a&lpLUvFk#bYWs_WpgMgAY*TCb94YBVKz25Ha9mmWnyMIG&ngiI5IV3HZ?djGcqzYGGk$4Fya9@1{?wx2s%1xb6;X_Z){~@ZYU`rV{dMAbO0k^HaIahV`MUBVqs-7HDxj}IXN(7Gh{V3F*amjH90k5vftG-5R|IXO9FI5A~nFf}t|G&M6}V>vN4<^eed90C^zIyz}{Uu0o)WnXk@ZDlAaAY*TCb94YBVKHSmW@0vBGdE^7HD+dJIXPiAGcjRgWivEkVm4%AH0S|21{?wx2s%1xb6;j`Z(($4Zf9R`Z)t9HC@COgZ*FsR03%^xHDWViVPiEnH)A$1Vlp&lGch$aFlIPnH(_LCHaTYM0XYU70v8cFI%#uXXm4$AXJu|>Z*_AhZf|5|UvznJWho$IZ*FsR03%^GHfA$1WMVL8Wi(-7F<~|}W@ctFV`Vd9VmM-DF=b-x0XYvG0v8iHI%#uXXm4$AXJu|>Z*_AhZf|5|UvznJWh@|WZ)9aECMf_TVKp#0H#ssjH8we9G-WboH8?RjFgIjlHaRk3WoBhCGVTF65gY;+A38c|b6;q0ZEt5~Ze?$Eb0}_aWMyA;d2nScAY*TCb95kXZ)9aECMh6eZ*FsR03%^EFl01kVKQcBFk~}1Gcq(aW@9rkWM*SFVK8PgH)dk+0XZEU0v8B6I%#uXX>N37XJv9IDIjBSZgX@1BVlAUVlg;0G-EM1FkvueVlrf9Fg9gmG-G69Vlp*3VKnjqIR+d87YI5!X>(t0b!}p0awsVvV{dMAbO0k^WHc~gWHvNpIbk?vFfuhZWi>T0VL37~He_ODWHB-^^Z_{r90C^zIyz}{UvqSFX>MmIDIjBSZgX@1BVjo>WHdK7VmD=FF*Pw{H)dltIAb(9WnnjCH8No{F*No8IR+d87YI5!X>(t6VPb4$C@COgZ*FsR03%^EF*Z46WHLB3W;0UK7H)Jt1VKO)|GG#L~I5#-@0XYU70v8B6I%#uXc42IFWhf~iV{dMAbO0k^HDoblIXF0BH#A{lHDfkqHe+FBIX5siI5{yeI5TE5`~f)z90C^zIy!WDaAhbdAY*TCb94YBVKzBsWH4kjHDxknWi>f6Ic8;HGcz|eV`MfsIW{n5V*UX+1{?wx1UforWppShASM7KVP-ZkH(@w4G&f~6IWah5Gc{&oW@0fhWjJOxWHd85H~<1U0ssOT1ttJ6Vl-u8H#jk3I5S~0V=*=~WM(onF)}%1Fl9G0Gc+**0yzU50v8H8I%j2cC@COgZ*FsRASM7KVKZScWn(#IVL3K1G-Nh7VqrO9Ibk$5IWjmlIA%CxI0OPY2m}Hd3nl<%Gh$*nHDxzpW;8Z3GGt|BF*Y+YIAS<5H(@p~I5}hn0yzmB0v8H8I&W}ga$$6Dav)=GZgX@Xc42IFWnXl8aAhVaDIjBSZgX@XCIBO0Wnp1AW-~Z7V>dN3Vq-UEF)?N^H#In9IALWoGBsj02m(0>90C^wIy!G~WpZJ3Z*m}GZ*FsRAa-GFb!A_4d2nSWCMYQ&CMEzQVP$4HVq!NqGi5hpIAUQmH#ImjI5#vhVmD)EV>2-~I0^ze0~`Vu1UfozaAk5~bZ>GXc42IFWnXl8aAhVaDIg{QBVlA=W-v5jH8EyoVKQQ5V>4u7GdX5rW;QcpGBhw^Ghz$^IRYF47X>;xZ*XODVRUbDAa-GFb!A_4d2nSWCMYQ&CMEzQVPrLAG+{AgI59Y6H!v_XVq-L8G%_+VIb~#KI5cErISv9j0~`Vu1UfozaAk5~bZ>GhC@CN&03%^AH8f)}W@0xvHeobnH8wD0G+}09GB+?WIbvclVP$3z0yzQ@0vQD+05&vXWH~fpF)%nbWo2Y!WieqnG-fd}W-u}^G&wkAG7GhC@COgZ*FsRASM7KVKFsjH8wIhHe@k3W-&2gG-Ne4H)UaDWMVTmGd4J8I1~ao2owSt3nltGchwaWi~lCI5aq8VmLBkIW=N3HZ@`}Gh{Sm7y>yM0vQM(V{dMAbO16lVPY|3H92BtG-YEnVq-BmVm4-BGiGCEGdVdiH!&IlIR;z+06IE$VQh6}0Ap-nb8~cWZERmLUom!JY;|QWXmo9CTmS$%I%#fmWpZ?7asYF5a&=>LbZ>2JUol@XX>N06a&%>KE@*UZY$pOCIyz)!W?^+~bYEs{VP|syBVlGSHZf)}VK!qoIW##mHDx$8Vlpu>Wo0-uV`4WrWjQATAt5?Cd0}mAUuJJ|ZDDkDWpXHEZ*FsRAarkSY&tq_Z)9aAEFflYa&2LBUuJA!XLBh4BVjNwI5}fvWHm82WI1LwHZ(D1WHB&fIAmmEHDWPiF)<$kLmwvsAt^dKd0}mAUuJJ|ZDDkDWpXHEZ*FsRAarkSY&tq{VRCb2Uvg!0b!>DdEFflYa&2LBUuJA!XLBh4BVjUSVl^;hG&wjkW;bPHGB#l}F*jmmW@Tn!V`VZkVrC%%LnkK!As{+BZ*XODVRUbDJUl3KbYwa@Z*z2VWnpb5EFgJdZERm=Z*py6baZ8MCMf_TVKFdbFk?75GBq}3VlrW3G-Y8jVl-tkGiEqpWH@DJW+MVa9w!1JAv!v5aAk5~bZ>GzJScN?WI8%;b98cLVQnTXAbDYJY+q(?a&2LBbY*fTCMf_TVKp#hG&VCfF*jmkV`4ToVL4-DW-u``IWRLaF=AviHzfi?A6x(cIy!k_ZERm=Z*py6baZ8M0Ap-nb8~cWZERmLUom-MZERm(W^ZzBVRUq5axQ3eZEP4GchqaHe@g_0wFp&Wo~2uBVjN#G&wXdVl*;jV`exrGdVFfIX7ivGGaJ3IWRRdF=Q_SAv!v6VRUE!BVjT%W@9olW;HiCWn^MFVP<16I59Y5FflV@HDO~lWH&DYAqYA;cWGp0UvOb`XecQlV{dMAbO0k^IAu98F)(9fG%{s4Gc;y7HDx(rF*0K{IXN&nV=-eeD*{6XF9IPYIy!G~WpZJ3Z*n|5D06gVIy!H2baG{3Z6+)rV{dMAbRctYb#h~6UvgzV>ODF7p3Ib>xxVPi5hVKy)~VPa%3IXGfsG%+_hH8L<}GdD9dEdoO$TmS$%I&*Jza${v*a%E>}Z*Bl{baHiLbaZcRY+o^7F>`Nqa${v*UvgzV>WXmo9CR8LJzUqMhw0B3SW8W->4{IAStkWHn_pHU?BrO-x@wQ&UA!R48S5aB?XCXL4_Ka9>|zZ*FF3XLWL6bZKvHE@*UZY$Io3IAb(0H(@wtHfCitGGRA4HDqElHDYBmW-u@_IWuNBF#V>WXmo9CBWGbSIWjObW@TbDVKZiCH8nFdHZn6~GGb&fH8NylWn(Z@Pfbi;MNUCNOhsQtPf|@mR8&P$QvhdjZ*_2AUt@1>W@%@2a$$67Z*DGVbZu-SXJI*JV>dT7I5K28WMwxuW;HovGGt_9IbmfnW;ZlAV_{TJO-x@!PC-IUMPE=sQd31z0B3SIWaP1H#KB5HZnA1Wj0}AHaImjWi&BlIAJ(7GE`4ZOkYJ#K|)MLUsX<0MNCCOQ$<8yMnyqXRZ>M$0B3S!Uqeq#P(f4xXL4_Ka9>|zZ*FF3XLWL6bZKvHE@*UZY$Io3IW#ynH)LWqH)A|zZ*FF3XLWL6bZKvHE@*UZY$Io3IWsUhH)UgFI5=ZrG-6|6GdVM6HZWl~IAUaBHZ(J0R8LJzUr0qkL`70xPfko(0B3SpCW-~A`HDWYkFgRf`F;q`YOkYn>R7p=xK}=s%Sx`j)XL4_Ka9>|zZ*FF3XLWL6bZKvHE@*UZY$Io3Ib$+oFf(R2HaBHrHe@$8VKrtpHDWL}Wo2S9F*r75R8LJzUsFv%OiW)!Oiw{nUsPF8MF3}VZ*_2AUt@1>W@%@2a$$67Z*DGVbZu-SXJIihVKXx}IAmcoFgY_gVK!nlV`gMHIXE*iFgGwZW;aw%O-x@?O+iddUrA0>UsPF8MF3}VZ*_2AUt@1>W@%@2a$$67Z*DGVbZu-SXJIfmGBRdiGGjG2WMMWlHZWs1W-?-7FgRm2Fl8}eI5A9VVsc?}c_2e?Zf0p`b#h^JX>V=-XL4_Ka9>|zZ*FF3XLWL6bZKvHE@*UZY+L{UD=PqLZe(S6E@*UZY(@ee2s%1sWpiV4X>fFDZ*C|lAY*TCb94YBVKp^4GG#erHa2EBVPP|7Hf3fsG%{l_VK6jgH8MCdW2JUol@XaA9(DWnW)qa&m8SE@*UZYykro4mvt-aAk5~bZ>G!C}VGKb95kdVPb4$CMf_TVPiC6WM(yCWMw%uVPiF6W??ipGGS#gGBG(~IASG!D0E?BY-J`UDF7p3HDfhqWH4nhF=S#mGB{ykGBz}2V`F1EHe_aGWHvE5Ndh?s0RtBTIy!V=Vr*q7DF7p3GGRA2IW=W7VPZKpWH~i7IbmZlH)S(0V>L5lHa281O9D9o0~ZcDI&@)TY-K28Z*FsRAar43Y-J`X03%^IV=y*3G%;l`HDxm~HZU?|G&W{3Hez8oG-NR}Vlp#L0yzu;0~ZN8I&@)TY-K2PVPb4$CMGEWBVl4RH(@t6VPY~gGGS(6F*9Z{VK+2oHDxklV`ODyG&D~FIR^m)7cM$FbYWs_WhirWWI8%&ZfSIBVQgu7WpZC^X>)WuX>D+9Iy!V=Vr*q!X>MtBUvOb*ay}^lBVjjYWMeflV=!T1F=AvkH(_NqH#0b9FfuteI5%QrGGG!Jt$*uZgX@XbYWs_WhN{jV{dMAbRcwLVr*q5DF7p3W;kVHVP#}EF)%e{HDqNnFgZ9mIWjjkG-fhnH8V6}R{}X20RtBTIyz%)WnpqCDF7p3VK*@_W;iutH8?n7F=8+2;1GGs9|H8W&oG-YLGSpqo$0~ZQ9I%RTUb7d%LbY*g3bZ>Gg03%^BVL324I5apnHe+LCWH2*fVPQFCFlIS8Ffm~`GdX5k0yzi)0~ZiFI%RTUb7d%FZ*FsRUukq@a$$6Dawz~KVKii6W@0p9Wic@}WH~ZnWMnxvGi5bqGB;*8I51&3WL*L|4gmufAUZl_a$$32C}VGKb97&6bY*g3bZ>GjAY*TCb97&6bY*g3bZ>Gg03%^FIc79uWI1ItGGaF~V>x3nWn(lmF*7t`Wo9>JF)=e=0y!Q50~ZoHI%RTUb7d%VbYwa@b98cPZf9S1X=QgQ03%^zHZV3cWM(sFHfAz2VlXl?I5;#jIWS>4IW{w6F=At30yz)?0~ZrII%RTUb7d%VbYwa@cXM=dX>MmZtH!x&kH)S$pH!x#2IALW1IR<3{83`r;F*IQ{Ib~&JH!?6{G-NO_I5aS2GC442I5J{lI5%Q7X976~0RtBuIyz--aBN{?WhhH!c~p6DWhN#pAXZ^)b!9N2VV{dMAbYE$7WpZJ3Z*nXkOJ#Xfd2nSWCM+OUVQh6}L2_qvASNatE-o%903%^AWHK{1IAS$qF*7tXGGb;pWiv80V>387V>UG~F*rGE0y!%I0~aMaI%#fmWpZ>VOJ#Xfd2nSWCM+OUVQh6}RC#b^CMGN(c42IFWnX4&VP|tG03%^#WHe(rIW%EqV>L1`Ibt?BWHmHoF*#;4Fg9W{F=AtF0y!fA0~Z-OI%#fmWpZ>VNpxj$EFejAWpXSac42IFWnX4&VP|tG03%^DGcjdiHe_WmG-Nq7V>4zqHezNrG-WnsI5cE5VPrOM0y!4}0~aMaI%#fmWpZ?1Z*pH@b8~5DZYWD-c~p6DWhN#pAXZ^)b!Aj}aAhVYEFgAaY;|Q{W^7?+b148LVPP>gFk&|`Wn?yDV>V`EHZwS4F*#y2WI16tWo9)tIdK9xBLM>!Iyz%-ZgX^BX>?_BVRUbD03%^GIA&#GIAdWsVlgl=IA%FEH#KHtGc-10Ic799F*0QV0~b0vX>?_BVRUbD03%^IH)Sw2HDY08G&411H8V3ZWMecrHe)q0I5#shVKig`0~Z21I$~vKX>KSf03%^DGc;x}H83AY*TCb94YSFk?3|WjHZpWie!7Ha226FgP<~VPr8eG&C|}VlXv-0yzc&0~ZK7I%#uXX>M$3Ze=JbAY*TCb94YBVKp;iWietoGhtylFg7qaWn?oqI5RRcWM()sHDNMlGl2p*1_1*X20A)vb6;t0Y-w&~C}MAKY$*UEVK`+sIX7W8I5TEuGGbw4WHB^kH)S_8HZf&mWHL86FoOa)1OWpV5;{6>aAk5~bZ>H7T_|&OWI8%?baH8KXJ2+{Wp^n6BVjgVI5RjlFf=)4HZw3|I5jmfH90q7GBG$XG&eb8H)DkYIS_>c85kgAZ*FsR06AhYGhs0~WMpPzWHM$qHa0jlW;Hi8I5%W6I5#jcV}}Ac76Ahn6FNF?aAk5~bZ>H7T_|&OWI8%`b98cPZf9S1X=QgQ03%^AHfCfqWH~T1GGZ_@F=8+?HZwReI5{&pV`MdBW-~a60yzo0qH8V9cVPs`tV>vN6Ha0k6Ic8%uV`4U8GLHf|7Xbqo5;{6&X>MdFb97`nI&*Y#X>MmjHaRkr0y!1|0~ZrII%a8ZWGHiVWI8%`b98cPZf9S1X=QgQ03%^yF=jC`VK_23GBGk_GBagmFgQ6iW@KSGGGR3_F*9S80yzMmvl9Vr4O6WH2)~IW#mkFf}ou0yzc&0~ZK7I&*1yWhf~iV{dMAbO0k^WH)0pF)%eaH8f*mI59V3W;SIvI5B2nH)dinVm4$pqXIbw0RtBTIyzx}1IWuN9WH)AIIAt)U0y(7u83-U_Z*FsR0A?~|WMMTpWMeckVmCN4VlZPfHeoU|HaBEBG&ngmH>UzQ1_1*X0y;Wjb6;X_Z){~@ZYU`LBVjOOWHvN0GG;U|V=^!>IWsvnG&L|XI5aUgWH&fDV`ixWIjI5}2q0r`ZgX@1Vq-F9F)}t`Ff=(hIWRXfFgP2@~FfuV^Ght*fIXGixG-Nn9GqVCY1_1*X0y;Wjb6;j`Z(($4Zf9R`Z)t9HC@BCVVPi95HDx(AIb$?oVP$1vV>4qjHe@w1G-ESjH8f;3X0-x2wE`IkAY*TCb94YZrW;A0nF*i0fW@chBHDP6BFlI8h0yzc&0~Z21I$?8PX>N37XJv9IDF7p3HDWk6GB`0dGB9FcGc;vpVPa-CWiw+mVr6DIHa9h5xdJ)40vQM(V{dMAbO1RxV=_55WjJ9rGc_?eFk)e1IX7iEI5uNAGiEY2G&s8gIR*g(7XmsuVRK(|baH8KXDBHEBVl1UWivT4Fk)tAH8we9Wo0unW@R{KGc;yqVm322F=V|0IlTfK2q0r`ZgX@1VPZ2fWietlFlIGkGh#4eW;r!8IWRXiV>mfsV`IMpIR*g(7XmsuVRK(}VPb4$C@BCVVP-jFVl+2pV`XJIV=*&iWn?ikFgRj1G&wLbW;kIrW5EJB!2%fwAY*TCb94YWG-hKsVmLQpV`DL9Ic7LEGdMJ4GdDFjIWuN8WHV#K0yzc&0~Z21I$?8PbZKp6C@BCVVL3Q3W;QV~G&wUcIAt+8Gcq_bVmM|sVrF4wWMMKmG{pir#R3@!AY*TCb94YPIb}0pVKy~pWH32mGG;S2WH~rCGB;y1GcqI~W?yt+Vr*q|C@COgZ*FsR03%^FGG#VoG-ft7H)S+7G+{J3VPiBoGB{&6Wn?okW@Tf`0yzc&0~ZK7I%#uXVsCG3Wnpe8DIjBSZgX@1BVjf$V>B^0H)S(s>VRU6EDIjBSZgX@1BVjWzH8N&5VlrZ5Wj0}CWH@DJH85piH#cK7IWsdjV>HhKIR*g(7YI5!X>(s>VRU6*bZKp6C@COgZ*FsR03%^DIAl07WoBhLWHx4FI5}c9F*Gn`HDO|8WMw%qGB;$=0yzc&0~ZK7I%#uXW^8X^bZKs9UvO_}ZgeOqAY*TCb94YBVK!x9W?^AsF*q?|IAdipHZw9}HDfR}H8wdkF=k>nHq!z*1_1*X5jr|)b6;q0ZEt5~Ze?$Eb0}_aWMyA;d2nSZAY*TCb94YBVPa)5V`DTjH8V40V=*u|Vlpr`GGt{kHa0diH!)^mVbuaT4*>%g6FNF+b6;q0ZEt5~Ze?$Eb0}_aWMyA;d2nScAZ~ADWhy2q03%^$F<~-hG&p5sVq!C4W??xqHZx;0IWjdlH8?XcI5alb0yz-@0~a4UI%#uXXm4$AXJu|>Z*_AhZf|5|UvznJWh@|LZ*FsRAZ~ADWhy2qAY*TCb94YBVK`whVK`(oWi&K6I5S}~G&VOkIXGltWH2{mWMg79GuZ+;9RULu2s%1xb6;t0bY*8{awsVvV{dMAbO0k^F=04jFg0U1WMwlnGh=3EGB9E^H!(OlWHT^1I5sk3+X6WT0RtBZIyz}{Uv716Vr6nDDIjBSZgX@1BVjl>GdVIaFfe5}IWjmlI5jjdW-v7|GiEemWi&NnVKUtUIR*g(7YI5!X>(t5baH8KXDBHkV{dMAbO0k^HezNqW-~T6Ha9RiI5{z6HDfknWny7BFgPGBPq^W;if7IW#sgWMnisH8e9ZF=R1iG%zzWI5y=1IR*g(7YI5!ba`-PC@COgZ*FsR03%^AGh{I}F*PtYH8L?bHexY1F*IT~FlJ&fGc{vmWnwVr0yzc&0~ZoHI$?Aub97`nI&*Y#X>Mmji!TAY*TCb94Y>VPs}GF*P%0V`O7BFfln{WMnfnG%_|YG&E*2HaTVM0y!1|0~ZrII$?Aub97`nI(Kt)a%pa7Uv_C_cPRiPVP$4CWHvK4Ib&uvG+{M1Gcqz_IW}f7VKFskH#RY2HthmA5$ysR86abCZgX@1I5aXjVrDdCFk~}iWHB{jI5IOdG-5S3HDzNmVKFuD0y!4}0~ZoHI%j2cD06gVIy!T7a%pa7Uv_C_cPRiPVP!TrF)?LfH)A$AGGSvkF*rCdHaRn8GBPz|Ha1~pWbpzy5b**T7$9SBZgX@1G&5mlVP!OCH#RV4H!(G1HaTK2VmM)8Fkv@kW-vD~^8z^*0RtBkIyz@%bSQIlWI8%`b98cPZf9S1X=QgQ03%^GGdE^tIbt|vVlp^5Fkvw;I5cK3F=97jFgG$aVlguH0yz=&0vQ<~V{dMAbO2;zFlI1gH8Ep0Gh{P3HD)+CF)%VRV_{-BI5;;nG-LMyITrx~7ZN%;XJvF>VRI;RbYwa@b98cPZf9S1X=QgQ03%^$VmUT2V>x0nWnnllHa2ECF*jr~GGsF}I5#yoH8C^!0yz-*0vQ+}V{dMAbO2#8F=9C}Wo0sDWHdNpGBjdlHaIk5H#Rb6Ffn5`I5hhLITir}7ZW-VRI;RbYwa@cXM=dX>Mm4l5IWT5rGGz+`At5?CYIARHUuJJ|ZDDkDWpXHEZ*FsRAarkSY&tq_Z)9aAEFflYa&2LBUuJA!XLBh4BVlA^GB!75V`E`BGG#MjVqs%5WHB>2GGSt2VmUElWjO-_LmvwRAt^dKYIARHUuJJ|ZDDkDWpXHEZ*FsRAarkSY&tq{VRCb2Uvg!0b!>DdEFflYa&2LBUuJA!XLBh4BVjc$H#jw6VK`-GGdD9~IWaRfWjHxDW?^PwVq`TlVr2ybLnjLZAs{+BZ*XODVRUbDJUl3KbYwa@Z*z2VWnpb5EFfxgZ*E^^Z*py6baZ8MCMf_TVKQPkIAUWmGcaQ{I5}f6W?^J9HD+dHIAmryHexq4Wd{R89t#5@Av!v5aAk5~bZ>GzJScN?WI8%;b98cLVQnTXAZl}OZeM0^a&2LBbY*fTCMf_TVKrrCW@R*GHDh5mG%#W@GG=08Fga#qH8L?}VPZ2gH33WqBxbbYwa@b98cPZf9S1X=QgTAaieZa${v*a%E>}Z*C?gDF7p3H8C+cW-&4{V=*;0I5%N3W-w+rF=8?|Fkv<_H)Lfp5CbV>ODF7p3FgGzcWnwZmW;A3uV=-YgV=!i7IWjn9W@0d8HfA_65(76TRs$6vIy!4*c_?#qWI8%?baH8KXC@{rAaieZa${v*a%E>}Z*C?gDF7p3H#j(AF=Aq6VP-ZnHe_RCV>DqmIA%CAGGb;iGBaf`6azONRs$6!Iy!4*c_?#qWI8%?baH8KXC@{rAY*TCb95kcZ*_8GWnXe-XK8P4CMf_TVPZHoW@a@xFlI6`GGsM3VmM|rHZw3eFflSYIAl0vVHN{7BUS?y9y&T}WqBxLZ*FsRAY*7@aw;q!b8mHWV`X1*WoKz`ZYCxv03%^JI5B25Wo0sEVq`cnGGsJ2WH4egG&f^4WM(xrW-&1s12-I20~I4WI%{QlC}VGKb95kMXkl_HEFfcVZgX@Xb8mHWV`X1*WoKz`ZYC)JBVlAUW->NnGdD3eGG#L~VK`$qFl9J2IALTrIWaLeF)$hfHz8I76(l-3Yh`&Tb97`nI(Kt)a%pa7Uv_C_cPt=tZ*_8GWnXe-XK8P4CMGEWBVjf-V`gP!H!(M3I5ammGht#gW@R>IV=-bkIWsn9VK*EDHzHO86)8G8Yh`&Tb97`nI(Kt)a%pa7Uv_C_cPt=dZ*FsRAaieZa${v*a%E>}Z*C?j03%^yVKQT4HaTQsIAdXDH)CRBHZV9jIbkqmWj8i4IAk*(12-pD0~H%OI&W}ga$$6Day&dJb97`nI&X7ya%Ev{CM+OhZ*FsRAZulLCMf_TVK+EsVmD!CV>UTuV`MitW;A9tWMyP9HZo>1W;bPFHy{Hy8CC-o7&GYJt$*uZgX@XYh`&REFfcVZgX@XYh`&RDF7p3F)}qZWjQo3Ff=$}Gd40}WMMHeWo0rnFk&-iF=l3EA_F%TRs$6tIy!G~WpZJ3Z*n0$C}VGKb95kUWqBqnAaitNIy!T7a%pa7Uv_C_cPRiPVKOvjVKQN2IX5{uVPZFCWn(rsIc73sVP!L6W@BS!G9&{x999Dr9y&U2aAk5~bZ>GYJt%W@WI8%?baH8KXJ2+{Wp^wfV{dMAbRcVGc_t|UBVjQ%HDWR_H8)}~F*GzYH85f^V=_50W@chAIW;yhGBPFuHyl<26&N}?Z*XODVRUbDJSbytZgX@XYh`&REFfcVZgX@XYh`&RDF7p3H(@qrG&y21Vq|7BWim4~W;ZoCI5aphVKiZ8WHn@BC<8YZRs$6tIy!G~WpZJ3Z*n{+V{dMAbRcVGc_u6%b97`nI&*Y#X>MmMmx4DECV+jRs$6nIy!G~WpZJ3Z*n|6C}VGKb95kUWqBqnAY*TCb95kUWqBqk03%^#GcYh>WidB5IWje3F*0H|Gc`6iWidH4V=*)|G+|{f12+~{0~H=RI&W}ga$$6Day&gKV{dMAbRcVGc_u6%b97`nI&*Y#X>MmmE4W;kOsW;kIuFatLnRs$6tIy!G~WpZJ3Z*n|6D06gVIy!T7a%pa7Uv_C_cPt=dZ*FsRAZulLCMf_TVK+E1WI16nGBzG!Jt$*uZgX@XYh`&REFfcVZgX@XYh`&RDF7p3VKHPjGd5vlFg7t^WHMtoWivBlHZnP7F)=b?VqrC9Gy^vlRs$6tIy!G~WpZJ3Z*o07C}VGKb95kUWqBqnAaitNIy!T7a%pa7Uv_C_cPRiPVKp>0Vlp>1Ha9soFf%wcVP-L7IALWrHaRddIb=6vWHtjg999Dr9y&U2aAk5~bZ>G!Jt%W@WI8%?baH8KXJ2+{Wp^wfV{dMAbRcVGc_t|UBVlD^G+{R}WMMdDFlJ_AH#KB9G&f;lGGj6}IW#z7F=IFbHyl<26&N}?Z*XODVRUbDJ}6^vZgX@XYh`&REFfcVZgX@XYh`&RDF7p3Wi>HmV`eaBI5uKsWH4qnW;J7FGBji}GB#r{Vqs)sIs-QrRs$6tIy!G~WpZJ3Z*o2;V{dMAbRcVGc_u6%b97`nI&*Y#X>MmMmqH8Ei_Wo0&GHZe9~VK6gcIAmowVl-kfJ_9!#Rs$6nIy!G~WpZJ3Z*o38C}VGKb95kUWqBqnAY*TCb95kUWqBqk03%^DV=^!>H8W;5WnpDGFlIS4HZ?OfVL3H2GBsv3GBRO612+~{0~H=RI&W}ga$$6Day~sMV{dMAbRcVGc_u6%b97`nI&*Y#X>MmUN4G&wjoVMGHr999Dr2s%1qWoKz_C@COgZ*FsR03%^yF*Z3dIW;z7Wi)1HWiewmFf?U2Wi~cpV`O78GdE>M12+a%0~H85I%RHTC@COgZ*FsR03%^JVly{kF)(5@VPDqgFkv_|GB`IdHfA|9I5spfH%L4~VL4_tWiV!8IWbZLHwIP%6$m;yb98bjDIjBSZgX@1BVjOOVK+B9WjHZ5FgP(bGB;*7I5{>oHaIgeI5K23WMfnVHwIh)06IErWqAN&Y+-YAbZ>2JUol@XYh`&ZXmo9C#{(7!Iy!T2b#h~6C@COgZ*FsR03%^xGdDP9VKX!{WMN`AWH(}DVl*%}Gc`9bWMW}8W@KYm12_i90~QiGI$?BQaA9<4D06gVIy!T7a%pa7Uv_C_cPRiPVKOjbFk@z6V>o6rF*Y~0~i?~V{dMAbO2*vH)S$3V`MNeH!x#mGBP$~WoBeIF=b*kFfn5^V`N_gI2XqQ76>{zZ*XODVRUbDAZ~ADWnXq_Wp_MdZ*FsRAZ~ADWj-h=AY*TCb94YBVPiLBHaRyrV>dE1He@$uVP$1FV_`HnVPRxuV`XJFIAH@g2FC*y0y;WxaAk5~bZ>GXZf|5|Uv_C_cRX%yWMw`mDF7p3Ff?R1Ffe2`Wn(!rG%{o|Wo0s9Gd474Ff}tVH#IjiV*@zH0~P{0I$?7tDF7p3VK^~3VKFjhV=yu?GG#SoG%+?}GdN~rW-%}`W;i)HWdk^60~iP(V{dMAbO16jWH&T8F=b(5WM(jBVP#}uIWc5pWo2ezIW;h2V=-p~I0nZ976LjtVRK($a&lpLC@BCVVKg&hV=y>lG&412G-hIEHDzLAV`einW;rl2VKy^2H)#VnX#*GtAY*TCb94YVWn?onVmUNsGdVdqVlXpgVl*{oWHn_lI5RLdGdE;w12_i90~P{0I$?8PVsCG3Wnpe8DF7p3WnnopWi>QqVmUNpHe+HmIAk(3FgG?fIXE+BVKg~2Z38%M0~iP(V{dMAbO1CpWMnfmGd40fFl1$AVlyx|F)}wYH#lZEF*ap5WjSvHI0nZ976LjtVRK((VRU6EDF7p3WMgJIGG#Y2Fg7qbGc++`VlibiV=!T5F=R0^V>32paRWGU0~iP(V{dMAbO2*9HDWnpG-WnnVK6mgVKy-~Vqs%5H#RXaVP-NnW@B>$I0nZ976LjtVRK((VRU6*bZKp6C@BCVVP!EhF*0Q~Heq8qHD+TmV`esCWic{lG&p52Ffd{=VRZvIbpsd(AY*TCb94YVWH(|tWHe-DW@R;IW@9sEF*7+hH!(G4HDxn0HDWV&12_i90~P{0I$?8PW^8X^bZKs9UvO_}ZgeOq03%^GF=R7lGGjF`IW;n2F=IJ6Ic7LAVl^~lHDfYmWn^J_12}mD7ziL^Z*FsR05oG|VPP|2GdVbBVK+8oF*7t{IWRJ1V=-eiH#az8VS58O2FC*y0y;Wjb6;t0bY*8{awsVPBVjpZF*GqbV>4zsIb~#FH#asnWHB)`FgZ11F=1pkIWv6&IDG>c2q0r`ZgX@1G&5plVL3BlW;QTlH8*8rV>viwW?^PEFl1w6W@R~Ie*-uM#{(7uIyzxMmIDF7p3I5jpfH90pmI5s&kHDzXDWHK>kGB`M9H90Y3GBaajfde>!0~iP(V{dMAbO1CrV>LBlW-~Z6F*IgmVly%@H#K83H#lN5G%z({W?_Q^I0nZ976LjtVRK(}VPb4$C@BCVVPi03VK6x}HaKE9Ff=nZF)%P;F=b*fG%{piV`E`sV}%1ag##D}AY*TCb94Yn`m12_i90~P{0I$?8PbZKp6C@BCVVKQVmIA&#LIAu6FGGSq5Fg0T{WjQ!FHfCgHW;bMGWr+hgi31o2AY*TCb94YVWnyMGHDoe5H#lKsF=b&hGGt+9W;A0kHZw9YH)S`A12_i90~QE6I%#t#DIjBSZgX@1BVjNzWieu6WieqeHZ(9fH8Wy2F)%e|Wi&8jH#0LaF*uC_I0nZ976>{zX>(s;a&lpLC@COgZ*FsR03%^zV`F7EHZ?V3Fk@pgG%z(eF=00~H8e3YW@KeDWn?#x12_i90~QE6I%#uXVRCX|d0%g4Uvyz&Y-MvODIjBSZgX@1BVl1MIWjggVK6miW-~T1VPrBhGi5h1Ff%YXW@BYGIWUm}I0nZ976>{zX>(sDaFDIjBSZgX@1BVjo(FlIM3I5{^qGG#C^V>vNqVl`qgH(@ekIAu99Ffx||I0nZ976>{zX>(s@Y;R$7X>Mm(s_Z*6a9Wo~6}b#o|gZ)9a(ba`-PEFfcVZgX@XZf|5|Dkdo)V{dMAbO0k^I5RY5F)(FgWidHqFf?K`WH&c7WHn|oGBjj0Fk(1nodY->#{(7-Iyz}{UubV_Z)at0Wp8zJC~j|LWnXl8aAheVV{dMAbO0k^HDoz4IWc5oH8eG4V`ODyGh$;nW;Zu5He)t3Wn^Jwp944##{(7!Iyz}{UubV_Z)at0Wp8zJC@COgZ*FsR03%^HWHMqmGd3_`GG$>jG%`3cI5{w7F=SN37XJv9IDIjBSZgX@1BVl7TGdVC}V>UEqFflkeG&f~rV>dN8Ffw5^Gc_{zX>(t0b!}p0awsVvV{dMAbO0k^W@BSAHZx*nHZWr|Gh#DlIWjghHexknW??WlGdVM5r2{wy#{(7!Iyz}{UvqSFX>MmIDIjBSZgX@1BVl1VH8D6aG&nagHZo;6G&C_XIWRLZI5aY3IAJ+8I54LJI0nZ976>{zX>(t6VPb4$C@COgZ*FsR03%^FFkvz^Ffn0fH)S+3VlZZ5VlXx^GB7q|WMwyDIXPvi12_i90~QE6I%#uXbZKp6C@COgZ*FsR03%^JGB!42Gc+(`V`DiqVly)|IX5sgWjQfoW-&5kG%{qX12_i90~QE6I%#uXc42IFWhf~iV{dMAbO0k^Wn^S#Ib~&HVq`RBV`VovIb}6AH#KE4WI1FtIb}3qtphj)#{(7!Iy!WDaAhbdAY*TCb94YBVKFdfGdMXgGc{vnF*9LeVlXgaF)=wYGc`D2W;Qc3G_M0V2FC*y1Ufo$Wo9TTASM7KVKq2rWMwokWo9s9F*h<~Gd5yoGC4D2GBq(`GBq(XFtGzT0roHDzWvWier9H#s#hWH~Z5Gc++{V>7n{I0?rC76>{zc42IFWhf~iV{dMAbO0k^Fk&|`H)Jt0HextoIAS(tF*Gt^H8wCcHeoe4FlJ?BxdS)`#{(7!Iy!b?Y;|Q{Wq4s@bSNnxV{dMAbO0k^F=k{oWHmT4Vq{@tVP!UAF)%bVG%#UhV>eV>DtpF=J+8VmM?uWo0)wHDfVlVPj@EGd95kI0?rC77#i*c4>2IbSOr3Zeu1UDIjBSZgX@XCIBO0WHezkGG#R|W;rr5VlZZ9F=b|EW-wtkH!(S6VPZKj!vi=D!vh!*CIDkII5%TrFf=hSF=1q6V=!YfIWc8pWMnpGGC4UmHa5irI1gL^06IEuZ)9ZvV{Bn_b98TQY+o^7F>Y^UWiDuRZEOw%9}qe^Z*XODVRUbDJt%Nta&u*0a%FRMY;-0jDF7p3VKiehV>dT2VK`(mF*Ig5WHm52H8?UdGc#spF=RM2$OAzR4g?4r8F*Gz`IWaO}HZx>7W;r!8Gch$cGSCA-A`S!}1Ufopa&m8SC@CN&03%^#W@2JFVPR%uW-u^jVKHH2IX5{uHZo)~GG#F`Wi~j{13?1P10e+_0AesVIWaUcGB{>AW;Zl5Ha0RiV>vlwW;8W4W-&K6WYhye0}ccq3OYJva&m8SC@COgZ*FsRASM7KVL4$nIWjq7Ffn9iIbkGXV{dMAbRckHa&u*0WpZ+FawaG#AY*TCb94YBVKg&jW;QfsFfueWGh#AfVrFDHWHMtoHe)qqG-ER`Vb}vf1`Y%t0y;WxaAk5~bZ>GXaA9(DWnX1-a&K}bC@BCVVPa!AVKzB4V`4QkI5addVl_E8G-YOHGdN>6F*Y_fIobn34g?G1BVl4@IWlHuVl+5oF=jMmFlI3_Ic794Gcq?YIAkG1BVl1>H83+{F)?L1W;ro7GGt{nV`61yHDxkmIc79CHZu+c9|Af$Vr6G(ZYU`LBVjXUHZ(D1IW#h6F*PwbWM*bzWHx4FV>e`DF*7(hGi2ZcLEr-+2q0r`ZgX@1IWaJ1F*7+cGhr|_G&f-~IWjObFf=kaH#jmmH#jk7;sZej4g?hV{dMAbO0k^W??jDI5II|WHvBkWnwTkGcq@0Wn(sCG%{i^H83|Z<^w?n4g?BBVjW$He@q7IAt?3Ic6|8F*!A4H!(D3W-u~lWM*b#VK(RkLFfY^2q0r`ZgX@1F*P(~GcsahVKZf6H85mjH83+UGdD6eH#K26HDNY2>H|Rr4g?<(Iyzx=UvOb`Xee`ZWI8%?baH8KXJ2+{Wp^n6BVjN(IX5z4V>2;1H8C_dV>32pV`4NgGdMP5I5sn3Gd1i3K@jW%As8TIZ*FsR05LK-HeqEjIAS+sF*G-0Hext4W-(%6FgIpnG%+|fX6^$)77hd-6FNF!bYE~`bZ97ZbYwa@cXM=dX>MmIAmflI5A{6Gh<~oW;8KjG&W^5I5uT8F=I72Vl`p%13?!K1RoMQI&W}ga$$6Da$8*}b97`nI&*Y#X>MmH)LXBHDfVkF=aG1H8?b7IWS^l^aDW<^aCLnAY*TCb94YPWH~W1FgGzdH)Ap~W-~c9VPj%pHDok4IXN|CIALP;13?xJ1RoPRI&W}ga$$6Da$8*}b97`nI(Kt)a%pa7Uv_C_cPRiPVPs`EV>U81WHU8nV`DX9G-hOFV>vfuIc7CsH)c6DX7~d^5%>ck86abCZgX@1H8^22Wo0=xF)}hRG&whAW;rr4W@9p8Vl`toVL4+k`U6214g?4U=C@COgZ*FsR03%^JFgZ73V>LB0FfcbYGdE^9G%z+WGGk?9VK6XdIXPnd13?B31Rn@GI&W}ga$$6Dav)-FZ)_+jAY*TCb94YBVP-ZqWnnisVK!uBI5;siGBIOiI5st5GdD6aIXGo8GX4WW1`Y%t2s%1*bz@^?Wn^V!C@COgZ*FsR03%^yHDYFCWHx1FGdMLcF*Y+fH83(cVq`WsVPrQrVKZX@1VIK41Rn@GI&W}ga$$6Dav)=GZgX@XbZ>2JIy!V=Vr*q5C@COgZ*FsR03%^JWH2>3GB`P9WMO7DV>f1EH!(ReHexa{VKQbpV>xC51VIK41RnxAI&W}ga$$6Dav*eXZEQL^bYWs_WhN*o03%^FWid2mGBRW|WHvZrGB;x}F*h+WVKXx^Ib>rtVrDr61VIi29|Af$Z*XODVRUbDAarkSY&tr0VPb4$CMGB;03%^IWMg45HZU+aI5s&oG-5M2VmUcsG+{JmIb&isH)Avg1VIi29|Sr&bYWs_Whf~iCIBO0G&f{2WnpA8FkxjmWHB~4F)}eQV>UB0F*#v2VKFu`2n0a_2m~PoCIB}#Vl+1}Vm3BpWHc}_VK8AiGC43XHe_TsI5=WBI5G+ZK?4p19|}4;bYWs_Whf~iV{dMAbRZ@GBVjo?GiEhpH92E6VlgmgI5#mfIA%CuVq!R9F*am1F=Pw`K?qy`06IEwVRCb2Uvg!0b!>D1V{Bn_b98TQY+o^7F>qmWb7fy&a%FRMY;-PYbZu;Y1ROd#c4=jIWn^D;d2nR_BVjQ$H85s0Wi>Z7GcsmmFf(E{V>4wrWH>iCFg0T^Ghu!N93eV7Z*XODVRUbDJUl3KbYwa@Z*z2VWnpb5EFfcVZgX@XZf|5|Uv_C_cP1$SBVjQ&FflMWW-wwmH#j&rW;HZoGG=3BVmM}HWiVl4IWQ0eJ|BJr90)o(Zf|5|C@COgZ*FsR03%^$Vl*;hVK!!DWMpPyG%z<}WHUEnHaRz8G%zT4F)=e{VmKBAJ`8>Y91c1Y91=P@Zf|5|Uv_C_cPL|TZgX@XZf|5|Uv_C_cP1$SBVjgXGGR1hF*!LhGdD9hHDNX}H#9L}VlyydHZ)>2FfbYfJ`jEc91S`;Zf|5|Uv_C_cPMUeWMyA=X=QgNCMf_TVK+H2IWaUdGG#Y8V=y;kG-6^nH!v_}G&EskW@0#GHXH;#3w{I~2s%1%aAk5~bZ>GXVsCG3C@COgZ*FsR03%^yIAvupW@ckzIXO8tFfm~{VlXl^H)Ak4IbmTrGBq$B1U?3S1RNAPI&W}ga$$6Day=+xZ*FsRAZ~ADWnXq_Wp^eiASM7KVP;`8H8o=}Gcz|~HfCisWHDo5H8V41F)%kZFk)djWgrAT5`F|64>~$;aAk5~bZ>G!C~j|LWnXq_Wp^efDIg{QBVjXSWH>Q7HDxn7H!)>mVlpu?Fk(0{GB-FgV`gSCGd3awJ`H{Z949(DZ*XODVRUbDAw4K#Z*FsRAZ~ADWnXq_Wp^elAY*TCb95kXZ)9a(c4=jIJXAg=DF7p3Gh|~pGGaM3I5atAH)S?rWH>ouH8eRkW@R}xVr5}rBm_PsegqsRIy!G~WpZJ3Z*o07C}VGKb95kXZ)9a(c4=jICM+OhZ*FsRAZ~ADWnXq_Wp_MOJ|-yuBVjQ)F*q_XWH2)@Ff%n|H8wP6WiUBrHDzKlH8Em2GB+j!J|%tx93VP6Z*XODVRUbDJv}I6Z*FsRAZ~ADWnXq_Wp^elAY*TCb95kdVPb4$CMf_TVK+52Vq{`rH#j&pIbmjHHezFAVl-kkF=a4eH#cQ8H7Eo=9)1KIAUZm4aAk5~bZ>G!Jt$*uZgX@XZf|5|Uv_C_cP1<#V{dMAbRc1Ja$$KUDF7p3Gh#D2VP#}uVPs)8GBPn?G-We5H8)}~W-u}{H8?agDg-_regqsTIy!G~WpZJ3Z*o07C}VGKb95kXZ)9a(c4=jICM+OhZ*FsRAarkSY&tr2VQh6}JXAg=DF7p3WI1MJIW{;lHfCdGWi&HmWHDu7F=Jz9Hf1t0V>mfAECfC$egqsGIy!G~WpZJ3Z*o07C}VGKb95kXZ)9a(c4=jICM+OhZ*FsRAXFwP03%^EWMW}6Wn?!qH8wXeG&VLlWi&B2HD+NqV>o6tV>2`^1U?#m1ROIuI&W}ga$$6Day>mLV{dMAbRceTWMyA=X=QgNEFfcVZgX@Xb97`nI%#fcbZKF1X?kUHUuG!Jt$*uZgX@XZf|5|Uv_C_cP1<#V{dMAbRctdWI8%_Wn*-2ay(Q%CMf_TVPrI7G%++ZW;if2Gh;V6Wi>Q0FlIL}F=aJjWjAFrFfs%_Cw>GR7&A`IXGo8H)J$sIW;z9H8cc17JdXA89F*)bYE~`bZ97ZbYwa@cXM=dX>MmNnWi&NmFf(OgWj8oxVK@Xn7JdXA89F*|aAk5~bZ>H7T_|&OWI8%`b98cPZf9S1X=QgQAY*TCb94YBVKX%_GBIT~H8(XlWMeR5Wi>E0IWaahGcsZ}IbkH7T_|&DdSzd9DIjBSZgX@1BVjdUF*9N?GB#yqV`MWiI59FbF*RjjWHT^jWnwltWMVu7J`8>Y90)o(VRI-cAY*TCb94YBVKrl9HZeJ7GC4A4IWcBqIb<|3H)A$2IWRS4VK_1{G(H4A27Uw_2s%1pb6;U{a$$KWDIjBSZgX@1BVjl-IWuH3GC5>1GdW@~HDqHrF=RDlGGsY7V`Vd8F=jvnJ_ddS90)o(VRK(%Z*Od6VQwfXAY*TCb94YBVL4`HV>mfDVK-)BI5=cvVq!BnHfCirVlrVkF=IJ2H9`bF27Uw_2s%1pb6;d(bY&DaFDIjBSZgX@1BVjdSV`4L5V=!f8V`DWjHf3gHVKp;mWH2%^Ff}(aI5I{AJ_ddS90)o(VRK(*Y;R$7X>MmDaFDIjBSZgX@1BVjo-FgQ11Gc__YGh{U}V_`QoW->BiGd3|WGcjUhH)T)+J_ddS90)o(X>%wkAY*TCb94YBVKOmfH)Az5VKXyfVKHMkHaKKtWi?}BVPQ9AH8f>oGExLS27Uw_2s%1xb6;U{a$$KWDIjBSZgX@1BVjl(s;a&lpLUvFk#bYWs_WpgMgAY*TCb94YBVK!r9G&MP5WivK5IXGowHDNhnV=!beFk&<`I51^lWmW_}27Uw_2s%1xb6;X_Z){~@ZYU`rV{dMAbO0k^VK-%EFk~@iGdVV8F)}zaV>DqgF=Q||VmUN0FgQ6kSOh)>egqr{Iyz}{Uu0o)Whf~iV{dMAbO0k^G-P8pV`eyEH8*5pH#25oH#s?BIWswCH(_IBH8eS7S_D1@egqr{Iyz}{Uu0o)WnXk@ZDlAaAY*TCb94YBVKrehI51{6H#1>nGC470IW#h1Ff(N|HDNe7V>vWpFkA#a27Uw_2s%1xb6;j`Z(($4Zf9R`Z)t9HC@COgZ*FsR03%^EGi6~jWo2YHVlZYgGc#skH)J<8GGRG0GBRT~H8^En1U?3S1RNkbI%#uXXm4$AXJu|>Z*_AhZf|5|UvznJWh@|eX=Qh1WM6c7aAhhcDIjBSZgX@1BVjUOGC43ZFg7$aGBIW}FfnB~FlAvjI5%TuW;HW5WMN(s_Z*6a9Wo~6}b#o|gZ)9a(ba`-PDIjBSZgX@1BVlG`Fkxb3H8Eu{Wic=~Vlyx{Vr4R6Gi7BtH8wG0V_{+hJ`a8b90)o(X>(s_Z*6a9Wo~6}b#o{wAY*TCb94YBVKO;mI5K27Gh#7hHZ*21F*aplG%{v6HD+WpH)S(4He>`o27Uw_2s%1xb6;t0bY*8{awsVvV{dMAbO0k^VmV_tGc{ynW-u`~W->J}WH>ZtVKrnmH#0V6I5jdbW&}P4egqr{Iyz}{Uv716Vr6nDDIjBSZgX@1BVjQxH#ajfGdD0}HZn9YGGZ|?Ffm~_IAu38I5K8rIAUl7J_ddS90)o(X>(t5baH8KXDBHkV{dMAbO0k^H#uT7H!?OjF*P-0IW;w6IAt=dWjQ!AY6Lz8egqr{Iyz}{Uvyz&Y-K1ZAY*TCb94YBVK*>hH8wY8VKq21V>CB1W@R}wVK_NrHDWk4GGk?BHf#hw27Uw_2s%1xb6<36ZDlAaAY*TCb94YBVL3QqHezElGi5VkVKp~1V>35lFg7_cGB#mjW-wwnV{QaK27Uw_2s%1xb6<90Y;|QQDIjBSZgX@1BVl1RIA%CxWi&TpWi@6sGdD9hVliPbG-NkrIb<+3VPM$pHZ(FhGhsJnWnwZgFfch`G&nS3Gc;s3V>4lN1U?3S1RMxDI(A`fb!8|iAY*TCb94YBVPax6F=06|GBh?aVKOy1GdDS6IW{D$lG+|_9VK6y1G&DA4Vly~2WOxKV27Uw_3pzS>VQh6}UvF|KR3;`VAY*TCb94YBVKXr_Wi@0rHa28qWMMNjIWuNvIbmTkV=y=|HfA+5V|oNW34R0|4mvt^X>)0GC`NT|VGZB42cGZEPrGZ*FsRAY*7@aw;q!b7^{IUvwz|BVjZ!F*P$VWi>W1V=`o8H8e0cGC5&pFfnB@Fk&)cH#C0)Kof%m9vC`0Z*XODVRUbDA|hXOZ*6QSV{dMAbRc7BVRATMbSf+$b7^{IUvwz|BVl4?_BVQg~%Uol@XY-x05a$#(9E@*UZYyuzwBmyk~G66RMJpn=kNdrs;Pz6*0S^!=EW&vpcaByK~Wo}_@Wpi+0V`XP@Z*_2EY+-YAb98cbV{~V?Hd2nT9WoBe)a%O34WoC75V`OD!X>Mg@Zgp*CZgp)Sc42IGVRB<{ZewL|bN~PV'); diff --git a/v3.0.0/structtoml_1_1date.html b/v3.0.0/structtoml_1_1date.html new file mode 100644 index 00000000..b7df3ae2 --- /dev/null +++ b/v3.0.0/structtoml_1_1date.html @@ -0,0 +1,216 @@ + + + + toml::date struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date struct +

                                                                                                                              +

                                                                                                                              A local date.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + date() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Default constructor. Does not initialize the members.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Y, typename M, typename D>
                                                                                                                              + date(Y y, + M m, + D d) constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs a date from individual date component values.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              uint16_t year +
                                                                                                                              +
                                                                                                                              The year component.
                                                                                                                              +
                                                                                                                              uint8_t month +
                                                                                                                              +
                                                                                                                              The month component, from 1 - 12.
                                                                                                                              +
                                                                                                                              uint8_t day +
                                                                                                                              +
                                                                                                                              The day component, from 1 - 31.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const date& lhs, + const date& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(const date& lhs, + const date& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const date& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a date out to a stream as YYYY-MM-DD (per RFC 3339).
                                                                                                                              +
                                                                                                                              + auto operator<=(const date& lhs, + const date& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const date& lhs, + const date& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(const date& lhs, + const date& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(const date& lhs, + const date& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const date& rhs) +

                                                                                                                              +

                                                                                                                              Prints a date out to a stream as YYYY-MM-DD (per RFC 3339).

                                                                                                                              +
                                                                                                                              std::cout << toml::date{ 1987, 3, 16 } << "\n";
                                                                                                                              1987-03-16
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.0/structtoml_1_1date__time.html b/v3.0.0/structtoml_1_1date__time.html new file mode 100644 index 00000000..63dafa7a --- /dev/null +++ b/v3.0.0/structtoml_1_1date__time.html @@ -0,0 +1,338 @@ + + + + toml::date_time struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date_time struct +

                                                                                                                              +

                                                                                                                              A date-time.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + date_time() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Default constructor. Does not initialize the members.
                                                                                                                              +
                                                                                                                              + date_time(const toml::date& d, + const toml::time& t) constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs a local date-time.
                                                                                                                              +
                                                                                                                              + date_time(const toml::date& d) explicit constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs a local date-time.
                                                                                                                              +
                                                                                                                              + date_time(const toml::time& t) explicit constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs a local date-time.
                                                                                                                              +
                                                                                                                              + date_time(const toml::date& d, + const toml::time& t, + const toml::time_offset& off) constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs an offset date-time.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto is_local() const -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this date_time does not contain timezone offset information.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + toml::date date +
                                                                                                                              +
                                                                                                                              The date component.
                                                                                                                              +
                                                                                                                              + toml::time time +
                                                                                                                              +
                                                                                                                              The time component.
                                                                                                                              +
                                                                                                                              + optional<toml::time_offset> offset +
                                                                                                                              +
                                                                                                                              The timezone offset component.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const date_time& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a date_time out to a stream in RFC 3339 format.
                                                                                                                              +
                                                                                                                              + auto operator<=(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date_time::date_time(const toml::date& d, + const toml::time& t) constexpr noexcept +

                                                                                                                              +

                                                                                                                              Constructs a local date-time.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              dThe date component.
                                                                                                                              tThe time component.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date_time::date_time(const toml::date& d) explicit constexpr noexcept +

                                                                                                                              +

                                                                                                                              Constructs a local date-time.

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              dThe date component.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date_time::date_time(const toml::time& t) explicit constexpr noexcept +

                                                                                                                              +

                                                                                                                              Constructs a local date-time.

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              tThe time component.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date_time::date_time(const toml::date& d, + const toml::time& t, + const toml::time_offset& off) constexpr noexcept +

                                                                                                                              +

                                                                                                                              Constructs an offset date-time.

                                                                                                                              + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              dThe date component.
                                                                                                                              tThe time component.
                                                                                                                              offThe timezone offset.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const date_time& rhs) +

                                                                                                                              +

                                                                                                                              Prints a date_time out to a stream in RFC 3339 format.

                                                                                                                              +
                                                                                                                              std::cout << toml::date_time{ { 1987, 3, 16 }, { 10, 20, 34 } } << "\n";
                                                                                                                              +std::cout << toml::date_time{ { 1987, 3, 16 }, { 10, 20, 34 }, { -2, -30 } } << "\n";
                                                                                                                              +std::cout << toml::date_time{ { 1987, 3, 16 }, { 10, 20, 34 }, {} } << "\n";
                                                                                                                              1987-03-16T10:20:34
                                                                                                                              +1987-03-16T10:20:34-02:30
                                                                                                                              +1987-03-16T10:20:34Z
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Variable documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + optional<toml::time_offset> toml::date_time::offset +

                                                                                                                              +

                                                                                                                              The timezone offset component.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.0/structtoml_1_1inserter.html b/v3.0.0/structtoml_1_1inserter.html new file mode 100644 index 00000000..a121afde --- /dev/null +++ b/v3.0.0/structtoml_1_1inserter.html @@ -0,0 +1,129 @@ + + + + toml::inserter struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + toml::inserter struct +

                                                                                                                              +

                                                                                                                              Helper class for suppressing move-construction in single-argument array constructors.

                                                                                                                              +
                                                                                                                              // desired result: [ [ 42 ] ]
                                                                                                                              +auto bad = toml::array{ toml::array{ 42 } }
                                                                                                                              +auto good = toml::array{ toml::inserter{ toml::array{ 42 } } }
                                                                                                                              +std::cout << "bad: " << bad << "\n";
                                                                                                                              +std::cout << "good:" << good << "\n";
                                                                                                                              bad:  [ 42 ]
                                                                                                                              +good: [ [ 42 ] ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.0/structtoml_1_1source__position.html b/v3.0.0/structtoml_1_1source__position.html new file mode 100644 index 00000000..9345f812 --- /dev/null +++ b/v3.0.0/structtoml_1_1source__position.html @@ -0,0 +1,244 @@ + + + + toml::source_position struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::source_position struct +

                                                                                                                              +

                                                                                                                              A source document line-and-column pair.

                                                                                                                              + +
                                                                                                                              auto table = toml::parse_file("config.toml"sv);
                                                                                                                              +std::cout << "The node 'description' was defined at "sv
                                                                                                                              +    << table.get("description")->source().begin()
                                                                                                                              +    << "\n";
                                                                                                                              The value 'description' was defined at line 7, column 15
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + operator bool() const explicit constexpr noexcept +
                                                                                                                              +
                                                                                                                              Returns true if both line and column numbers are non-zero.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + source_index line +
                                                                                                                              +
                                                                                                                              The line number.
                                                                                                                              +
                                                                                                                              + source_index column +
                                                                                                                              +
                                                                                                                              The column number.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const source_position& lhs, + const source_position& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Returns true if two source_positions do not represent the same line and column.
                                                                                                                              +
                                                                                                                              + auto operator<(const source_position& lhs, + const source_position& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the LHS position is before the RHS position.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const source_position& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a source_position to a stream.
                                                                                                                              +
                                                                                                                              + auto operator<=(const source_position& lhs, + const source_position& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the LHS position is before the RHS position or equal to it.
                                                                                                                              +
                                                                                                                              + auto operator==(const source_position& lhs, + const source_position& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Returns true if two source_positions represent the same line and column.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const source_position& rhs) +

                                                                                                                              +

                                                                                                                              Prints a source_position to a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe stream.
                                                                                                                              rhsThe source_position.
                                                                                                                              ReturnsThe input stream.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse("bar = 42"sv);
                                                                                                                              +
                                                                                                                              +std::cout << "The value for 'bar' was found on "sv
                                                                                                                              +    << tbl.get("bar")->source().begin()
                                                                                                                              +    << "\n";
                                                                                                                              The value for 'bar' was found on line 1, column 7
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Variable documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + source_index toml::source_position::line +

                                                                                                                              +

                                                                                                                              The line number.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + source_index toml::source_position::column +

                                                                                                                              +

                                                                                                                              The column number.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.0/structtoml_1_1source__region.html b/v3.0.0/structtoml_1_1source__region.html new file mode 100644 index 00000000..ae9d15a2 --- /dev/null +++ b/v3.0.0/structtoml_1_1source__region.html @@ -0,0 +1,233 @@ + + + + toml::source_region struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::source_region struct +

                                                                                                                              +

                                                                                                                              A source document region.

                                                                                                                              + +
                                                                                                                              auto tbl = toml::parse_file("config.toml"sv);
                                                                                                                              +if (auto server = tbl.get("server"))
                                                                                                                              +{
                                                                                                                              +    std::cout << "begin: "sv << server->source().begin << "\n";
                                                                                                                              +    std::cout << "end: "sv << server->source().end << "\n";
                                                                                                                              +    std::cout << "path: "sv << *server->source().path << "\n";
                                                                                                                              +}
                                                                                                                              begin: line 3, column 1
                                                                                                                              +end: line 3, column 22
                                                                                                                              +path: config.toml
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto wide_path() const -> optional<std::wstring> +
                                                                                                                              +
                                                                                                                              The path to the corresponding source document as a wide-string.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + source_position begin +
                                                                                                                              +
                                                                                                                              The beginning of the region (inclusive).
                                                                                                                              +
                                                                                                                              + source_position end +
                                                                                                                              +
                                                                                                                              The end of the region (exclusive).
                                                                                                                              +
                                                                                                                              + source_path_ptr path +
                                                                                                                              +
                                                                                                                              The path to the corresponding source document.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const source_region& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a source_region to a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + optional<std::wstring> toml::source_region::wide_path() const +

                                                                                                                              +

                                                                                                                              The path to the corresponding source document as a wide-string.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const source_region& rhs) +

                                                                                                                              +

                                                                                                                              Prints a source_region to a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe stream.
                                                                                                                              rhsThe source_position.
                                                                                                                              ReturnsThe input stream.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse("bar = 42", "config.toml");
                                                                                                                              +
                                                                                                                              +std::cout << "The value for 'bar' was found on "sv
                                                                                                                              +    << tbl.get("bar")->source()
                                                                                                                              +    << "\n";
                                                                                                                              The value for 'bar' was found on line 1, column 7 of 'config.toml'
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Variable documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + source_path_ptr toml::source_region::path +

                                                                                                                              +

                                                                                                                              The path to the corresponding source document.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.0/structtoml_1_1time.html b/v3.0.0/structtoml_1_1time.html new file mode 100644 index 00000000..8e1fbd5d --- /dev/null +++ b/v3.0.0/structtoml_1_1time.html @@ -0,0 +1,222 @@ + + + + toml::time struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::time struct +

                                                                                                                              +

                                                                                                                              A local time-of-day.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + time() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Default constructor. Does not initialize the members.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename H, typename M, typename S = uint8_t, typename NS = uint32_t>
                                                                                                                              + time(H h, + M m, + S s = S{}, + NS ns = NS{}) constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs a time from individual time component values.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              uint8_t hour +
                                                                                                                              +
                                                                                                                              The hour component, from 0 - 23.
                                                                                                                              +
                                                                                                                              uint8_t minute +
                                                                                                                              +
                                                                                                                              The minute component, from 0 - 59.
                                                                                                                              +
                                                                                                                              uint8_t second +
                                                                                                                              +
                                                                                                                              The second component, from 0 - 59.
                                                                                                                              +
                                                                                                                              uint32_t nanosecond +
                                                                                                                              +
                                                                                                                              The fractional nanoseconds component, from 0 - 999999999.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const time& lhs, + const time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(const time& lhs, + const time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const time& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a time out to a stream as HH:MM:SS.FFFFFF (per RFC 3339).
                                                                                                                              +
                                                                                                                              + auto operator<=(const time& lhs, + const time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const time& lhs, + const time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(const time& lhs, + const time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(const time& lhs, + const time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const time& rhs) +

                                                                                                                              +

                                                                                                                              Prints a time out to a stream as HH:MM:SS.FFFFFF (per RFC 3339).

                                                                                                                              +
                                                                                                                              std::cout << toml::time{ 10, 20, 34 } << "\n";
                                                                                                                              +std::cout << toml::time{ 10, 20, 34, 500000000 } << "\n";
                                                                                                                              10:20:34
                                                                                                                              +10:20:34.5
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.0/structtoml_1_1time__offset.html b/v3.0.0/structtoml_1_1time__offset.html new file mode 100644 index 00000000..bf39e64e --- /dev/null +++ b/v3.0.0/structtoml_1_1time__offset.html @@ -0,0 +1,262 @@ + + + + toml::time_offset struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::time_offset struct +

                                                                                                                              +

                                                                                                                              A timezone offset.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + time_offset() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Default constructor. Does not initialize the members.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename H, typename M>
                                                                                                                              + time_offset(H h, + M m) constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs a timezone offset from individual hour and minute totals.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              int16_t minutes +
                                                                                                                              +
                                                                                                                              Offset from UTC+0, in minutes.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const time_offset& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a time_offset out to a stream as +-HH:MM or Z (per RFC 3339).
                                                                                                                              +
                                                                                                                              + auto operator<=(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename H, typename M> +
                                                                                                                              + toml::time_offset::time_offset(H h, + M m) constexpr noexcept +

                                                                                                                              +

                                                                                                                              Constructs a timezone offset from individual hour and minute totals.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              HAn integral type.
                                                                                                                              MAn integral type.
                                                                                                                              Parameters
                                                                                                                              hThe total hours.
                                                                                                                              mThe total minutes.
                                                                                                                              +
                                                                                                                              std::cout << toml::time_offset{ 2, 30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{ -2, 30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{ -2, -30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{ 0, 0 } << "\n";
                                                                                                                              +02:30
                                                                                                                              +-01:30
                                                                                                                              +-02:30
                                                                                                                              +Z
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const time_offset& rhs) +

                                                                                                                              +

                                                                                                                              Prints a time_offset out to a stream as +-HH:MM or Z (per RFC 3339).

                                                                                                                              +
                                                                                                                              std::cout << toml::time_offset{ 2, 30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{ 2, -30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{} << "\n";
                                                                                                                              +std::cout << toml::time_offset{ -2, 30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{ -2, -30 } << "\n";
                                                                                                                              +02:30
                                                                                                                              ++01:30
                                                                                                                              +Z
                                                                                                                              +-01:30
                                                                                                                              +-02:30
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.0/toml++.tagfile.xml b/v3.0.0/toml++.tagfile.xml new file mode 100644 index 00000000..e6524979 --- /dev/null +++ b/v3.0.0/toml++.tagfile.xml @@ -0,0 +1,7799 @@ + + + + toml::array + classtoml_1_1array.html + toml::node + + + array + classtoml_1_1array.html + a0955d4edc2415406a5f7c6c43fd3a606 + () noexcept=default + + + + array + classtoml_1_1array.html + a3bd4611c96ce97d7e6991b7a4312370d + (const array &) + + + + array + classtoml_1_1array.html + ac552a63c329598d671e6531b0cef957b + (array &&other) noexcept + + + + array + classtoml_1_1array.html + acb17a58f1fbdb12aeaf8f7d1e8093e5c + (ElemType &&val, ElemTypes &&... vals) + + + array & + operator= + classtoml_1_1array.html + a37f428f585188ce70c82f1df6935f5d5 + (const array &) + + + array & + operator= + classtoml_1_1array.html + a7e5e45777e08941abb2069a5991e1f31 + (array &&rhs) noexcept + + + node_type + type + classtoml_1_1array.html + a352b6a99235216f070b5e97976663571 + () const noexcept final + + + bool + is_homogeneous + classtoml_1_1array.html + a79a1fe77c03b33ea2b9d8d0a859c93e6 + (node_type ntype) const noexcept final + + + bool + is_homogeneous + classtoml_1_1array.html + ae4e986f9fdb23090f9a0b3716a63e8bb + (node_type ntype, node *&first_nonmatch) noexcept final + + + bool + is_homogeneous + classtoml_1_1array.html + ad00610c0e18f02516de92b623dc4d0f5 + (node_type ntype, const node *&first_nonmatch) const noexcept final + + + bool + is_table + classtoml_1_1array.html + ad7ed894e54ad3aaef6d7693c26b887d9 + () const noexcept final + + + bool + is_array + classtoml_1_1array.html + a1f1e4d93f52778613d0a7bcf74a23427 + () const noexcept final + + + bool + is_array_of_tables + classtoml_1_1array.html + a87cd0dcbebcfd661a0ae387255c0605e + () const noexcept final + + + bool + is_value + classtoml_1_1array.html + acc533a7fa1ea5c68fce6f4fea5bc419c + () const noexcept final + + + bool + is_string + classtoml_1_1array.html + aeefdd01a2ce3f6bcd7aecfabd363d06b + () const noexcept final + + + bool + is_integer + classtoml_1_1array.html + a78db4190977034c4364674a2958855d4 + () const noexcept final + + + bool + is_floating_point + classtoml_1_1array.html + ab758b93eedbdc27112681f26440bee03 + () const noexcept final + + + bool + is_number + classtoml_1_1array.html + aa034144c580b3d8a4727c0cfbfebc214 + () const noexcept final + + + bool + is_boolean + classtoml_1_1array.html + abbecf0a51aa3e175bc5748ccf71063d8 + () const noexcept final + + + bool + is_date + classtoml_1_1array.html + a792dc3fd7105185415925d4f9ab3ca1d + () const noexcept final + + + bool + is_time + classtoml_1_1array.html + a2d2fc80512d08af7a934a6d02c7bf506 + () const noexcept final + + + bool + is_date_time + classtoml_1_1array.html + ae844f53a9604fb42f185a91616a72cbd + () const noexcept final + + + table * + as_table + classtoml_1_1array.html + a95985d66ecd4abf6c5822cbd0d239582 + () noexcept final + + + array * + as_array + classtoml_1_1array.html + a97b772796c962a635e8d5c50e7c03b3a + () noexcept final + + + toml::value< std::string > * + as_string + classtoml_1_1array.html + a5d4d3b502ef2e33107eb1d682b282c75 + () noexcept final + + + toml::value< int64_t > * + as_integer + classtoml_1_1array.html + a41d03d31a6ab168bc4b50046c4bbb50f + () noexcept final + + + toml::value< double > * + as_floating_point + classtoml_1_1array.html + a5e6ed524c4548fdd2131dcbb38b8c766 + () noexcept final + + + toml::value< bool > * + as_boolean + classtoml_1_1array.html + ac1989a2c4d50f8493f97c23ee22e15e6 + () noexcept final + + + toml::value< date > * + as_date + classtoml_1_1array.html + a78a9e7b1d44f90eb55403e54d6d31e2b + () noexcept final + + + toml::value< time > * + as_time + classtoml_1_1array.html + a3dedcb2261a528c59454fc9e0bb7c9fb + () noexcept final + + + toml::value< date_time > * + as_date_time + classtoml_1_1array.html + a58c350366cbbab3eb430751212ba9b18 + () noexcept final + + + const table * + as_table + classtoml_1_1array.html + ae45534b573d10c7e2e1c5624153608f9 + () const noexcept final + + + const array * + as_array + classtoml_1_1array.html + a8007db93bdeb82c8c77965ff72056f6b + () const noexcept final + + + const toml::value< std::string > * + as_string + classtoml_1_1array.html + a943378ff5912e9c732b4dee12d4bf2de + () const noexcept final + + + const toml::value< int64_t > * + as_integer + classtoml_1_1array.html + a79871c2b52557b74da8302925b5624ee + () const noexcept final + + + const toml::value< double > * + as_floating_point + classtoml_1_1array.html + a8f5736e45881203e362bcbb43ed90093 + () const noexcept final + + + const toml::value< bool > * + as_boolean + classtoml_1_1array.html + a48206827982b5cffe51662adfc3aec2b + () const noexcept final + + + const toml::value< date > * + as_date + classtoml_1_1array.html + afc3f86ca86c60deda39e69d24abcacca + () const noexcept final + + + const toml::value< time > * + as_time + classtoml_1_1array.html + a7708feaac3561b836e0789db0dfa6db4 + () const noexcept final + + + const toml::value< date_time > * + as_date_time + classtoml_1_1array.html + aa8fb689b36f44a4fa7c0ffccff20dbd9 + () const noexcept final + + + node * + get + classtoml_1_1array.html + a10664e00054ea4021fec5144b69b8792 + (size_t index) noexcept + + + const node * + get + classtoml_1_1array.html + a44db509dce6b7b77e563c822a5936abe + (size_t index) const noexcept + + + impl::wrap_node< ElemType > * + get_as + classtoml_1_1array.html + a5c2f4624498cba9e1e467b0eb2e9046e + (size_t index) noexcept + + + const impl::wrap_node< ElemType > * + get_as + classtoml_1_1array.html + ae47ca1cc4c61e94fed30aea72ca8d268 + (size_t index) const noexcept + + + node & + operator[] + classtoml_1_1array.html + a853bad0297ca4dcee57c97da2fe318e7 + (size_t index) noexcept + + + const node & + operator[] + classtoml_1_1array.html + ae9f72a1b877f2ac66327a152d55aa9c6 + (size_t index) const noexcept + + + node & + at + classtoml_1_1array.html + aeade4e0cafa3f57b4800e72baa843b1e + (size_t index) + + + const node & + at + classtoml_1_1array.html + a8a5957e22aa2d0f4f9e6feaf9bfffa55 + (size_t index) const + + + node & + front + classtoml_1_1array.html + a9c78848129a2a703c154e7cbe1a973d3 + () noexcept + + + const node & + front + classtoml_1_1array.html + a5ba3af18c63546da6f9d2ac3b5b77f64 + () const noexcept + + + node & + back + classtoml_1_1array.html + a4c58dea5e8795e4b9f8df4f1e1473204 + () noexcept + + + const node & + back + classtoml_1_1array.html + ac7652c1ab60af2ca1c7d52f0658639b4 + () const noexcept + + + bool + empty + classtoml_1_1array.html + a5d527ea6bfddad1025e90e4363c822cc + () const noexcept + + + size_t + size + classtoml_1_1array.html + af81d7b6a1257ad766a47d9276855a7c9 + () const noexcept + + + size_t + max_size + classtoml_1_1array.html + ae65a76add6d756fc7ba8f12a5aad983c + () const noexcept + + + size_t + capacity + classtoml_1_1array.html + a02b773a1ff337692e78da429030c1610 + () const noexcept + + + void + reserve + classtoml_1_1array.html + a1ba073adc52c3df5ad29cfd7e5daa1d5 + (size_t new_capacity) + + + void + shrink_to_fit + classtoml_1_1array.html + a718c2031ead428aa52912741f6d094aa + () + + + void + truncate + classtoml_1_1array.html + a6e3ac9962c706a88c1001ff83a4084f3 + (size_t new_size) + + + void + resize + classtoml_1_1array.html + ab1aca2337ffce7e583a2cf303f16259f + (size_t new_size, ElemType &&default_init_val, value_flags default_init_flags=preserve_source_value_flags) + + + iterator + erase + classtoml_1_1array.html + a22389a9ed9444fe52be10c4acbdec908 + (const_iterator pos) noexcept + + + iterator + erase + classtoml_1_1array.html + a723388860d72c9a162137d0293366fb2 + (const_iterator first, const_iterator last) noexcept + + + array & + flatten + classtoml_1_1array.html + aa2a21958705629bde15aafae9598a2ec + () & + + + array && + flatten + classtoml_1_1array.html + ad307bea17e7640c57715d67ab8a777d4 + () && + + + array & + prune + classtoml_1_1array.html + ae548cf1dc26ade60733548a00a39b175 + (bool recursive=true) &noexcept + + + array && + prune + classtoml_1_1array.html + a6fc918a151ada40c713d6855af3021c2 + (bool recursive=true) &&noexcept + + + void + pop_back + classtoml_1_1array.html + af99d72e29cef84f736d91d627b47a1dc + () noexcept + + + void + clear + classtoml_1_1array.html + adaa65bf63f29f898c27423306c165d68 + () noexcept + + + iterator + insert + classtoml_1_1array.html + a17c7e34b433ea8907186dbb1788c9d37 + (const_iterator pos, ElemType &&val, value_flags flags=preserve_source_value_flags) + + + iterator + insert + classtoml_1_1array.html + a55a9e6e742e556ea07573d29c23ce7df + (const_iterator pos, size_t count, ElemType &&val, value_flags flags=preserve_source_value_flags) + + + iterator + insert + classtoml_1_1array.html + a60a0d39bfd8721cef23e155f5504d54d + (const_iterator pos, Iter first, Iter last, value_flags flags=preserve_source_value_flags) + + + iterator + insert + classtoml_1_1array.html + a1baecd5d579afb508886572674b89781 + (const_iterator pos, std::initializer_list< ElemType > ilist, value_flags flags=preserve_source_value_flags) + + + iterator + emplace + classtoml_1_1array.html + a4110b96386b33097a255f3694ac01d4a + (const_iterator pos, Args &&... args) + + + iterator + replace + classtoml_1_1array.html + a37a8a283e6c1cbeef757b2e59489ee6c + (const_iterator pos, ElemType &&val, value_flags flags=preserve_source_value_flags) + + + void + push_back + classtoml_1_1array.html + ab7188537b351ef3a756b54b83e4b05b3 + (ElemType &&val, value_flags flags=preserve_source_value_flags) + + + decltype(auto) + emplace_back + classtoml_1_1array.html + ae9ceab13446e118333e3a486e81c2448 + (ElemArgs &&... args) + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + friend std::ostream & + operator<< + classtoml_1_1array.html + af1fae5bb4ad4da74199f0a77170c505e + (std::ostream &lhs, const array &rhs) + + + friend bool + operator== + classtoml_1_1array.html + a06cf25e3f80c98d88e041ef9823976c0 + (const array &lhs, const array &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1array.html + af06c7437a0946a9d5e093d903b59f6a4 + (const array &lhs, const array &rhs) noexcept + + + friend bool + operator== + classtoml_1_1array.html + ab87e435c5a41140e60cd2e703df96fbd + (const array &lhs, const std::initializer_list< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1array.html + a5b3c615e4ba8fd780b966f175070b554 + (const array &lhs, const std::vector< T > &rhs) noexcept + + + array_iterator + iterator + classtoml_1_1array.html + a62a18471ca7c5b06204d2e26c963f833 + + + + const_array_iterator + const_iterator + classtoml_1_1array.html + adfd38318d3390a76f073a83fd2f2aa21 + + + + iterator + begin + classtoml_1_1array.html + a8ee8179ddf1cb44fdf0b8d0700f55c2f + () noexcept + + + const_iterator + begin + classtoml_1_1array.html + a7cff1526a6d1f6157e0eab231b4757aa + () const noexcept + + + const_iterator + cbegin + classtoml_1_1array.html + a56d1cba006dccc5ad9982b58a8b2ddc1 + () const noexcept + + + iterator + end + classtoml_1_1array.html + adaf908b0cc3e8bcb1ee9ec9ec706d223 + () noexcept + + + const_iterator + end + classtoml_1_1array.html + a778b5b807ff7329f7de10237d73f29c2 + () const noexcept + + + const_iterator + cend + classtoml_1_1array.html + a50e6b032805760f3930e02923d9a84b0 + () const noexcept + + + node_type + type + classtoml_1_1array.html + a352b6a99235216f070b5e97976663571 + () const noexcept final + + + bool + is_homogeneous + classtoml_1_1array.html + a79a1fe77c03b33ea2b9d8d0a859c93e6 + (node_type ntype) const noexcept final + + + bool + is_homogeneous + classtoml_1_1array.html + ae4e986f9fdb23090f9a0b3716a63e8bb + (node_type ntype, node *&first_nonmatch) noexcept final + + + bool + is_homogeneous + classtoml_1_1array.html + ad00610c0e18f02516de92b623dc4d0f5 + (node_type ntype, const node *&first_nonmatch) const noexcept final + + + bool + is_table + classtoml_1_1array.html + ad7ed894e54ad3aaef6d7693c26b887d9 + () const noexcept final + + + bool + is_array + classtoml_1_1array.html + a1f1e4d93f52778613d0a7bcf74a23427 + () const noexcept final + + + bool + is_array_of_tables + classtoml_1_1array.html + a87cd0dcbebcfd661a0ae387255c0605e + () const noexcept final + + + bool + is_value + classtoml_1_1array.html + acc533a7fa1ea5c68fce6f4fea5bc419c + () const noexcept final + + + bool + is_string + classtoml_1_1array.html + aeefdd01a2ce3f6bcd7aecfabd363d06b + () const noexcept final + + + bool + is_integer + classtoml_1_1array.html + a78db4190977034c4364674a2958855d4 + () const noexcept final + + + bool + is_floating_point + classtoml_1_1array.html + ab758b93eedbdc27112681f26440bee03 + () const noexcept final + + + bool + is_number + classtoml_1_1array.html + aa034144c580b3d8a4727c0cfbfebc214 + () const noexcept final + + + bool + is_boolean + classtoml_1_1array.html + abbecf0a51aa3e175bc5748ccf71063d8 + () const noexcept final + + + bool + is_date + classtoml_1_1array.html + a792dc3fd7105185415925d4f9ab3ca1d + () const noexcept final + + + bool + is_time + classtoml_1_1array.html + a2d2fc80512d08af7a934a6d02c7bf506 + () const noexcept final + + + bool + is_date_time + classtoml_1_1array.html + ae844f53a9604fb42f185a91616a72cbd + () const noexcept final + + + table * + as_table + classtoml_1_1array.html + a95985d66ecd4abf6c5822cbd0d239582 + () noexcept final + + + array * + as_array + classtoml_1_1array.html + a97b772796c962a635e8d5c50e7c03b3a + () noexcept final + + + toml::value< std::string > * + as_string + classtoml_1_1array.html + a5d4d3b502ef2e33107eb1d682b282c75 + () noexcept final + + + toml::value< int64_t > * + as_integer + classtoml_1_1array.html + a41d03d31a6ab168bc4b50046c4bbb50f + () noexcept final + + + toml::value< double > * + as_floating_point + classtoml_1_1array.html + a5e6ed524c4548fdd2131dcbb38b8c766 + () noexcept final + + + toml::value< bool > * + as_boolean + classtoml_1_1array.html + ac1989a2c4d50f8493f97c23ee22e15e6 + () noexcept final + + + toml::value< date > * + as_date + classtoml_1_1array.html + a78a9e7b1d44f90eb55403e54d6d31e2b + () noexcept final + + + toml::value< time > * + as_time + classtoml_1_1array.html + a3dedcb2261a528c59454fc9e0bb7c9fb + () noexcept final + + + toml::value< date_time > * + as_date_time + classtoml_1_1array.html + a58c350366cbbab3eb430751212ba9b18 + () noexcept final + + + const table * + as_table + classtoml_1_1array.html + ae45534b573d10c7e2e1c5624153608f9 + () const noexcept final + + + const array * + as_array + classtoml_1_1array.html + a8007db93bdeb82c8c77965ff72056f6b + () const noexcept final + + + const toml::value< std::string > * + as_string + classtoml_1_1array.html + a943378ff5912e9c732b4dee12d4bf2de + () const noexcept final + + + const toml::value< int64_t > * + as_integer + classtoml_1_1array.html + a79871c2b52557b74da8302925b5624ee + () const noexcept final + + + const toml::value< double > * + as_floating_point + classtoml_1_1array.html + a8f5736e45881203e362bcbb43ed90093 + () const noexcept final + + + const toml::value< bool > * + as_boolean + classtoml_1_1array.html + a48206827982b5cffe51662adfc3aec2b + () const noexcept final + + + const toml::value< date > * + as_date + classtoml_1_1array.html + afc3f86ca86c60deda39e69d24abcacca + () const noexcept final + + + const toml::value< time > * + as_time + classtoml_1_1array.html + a7708feaac3561b836e0789db0dfa6db4 + () const noexcept final + + + const toml::value< date_time > * + as_date_time + classtoml_1_1array.html + aa8fb689b36f44a4fa7c0ffccff20dbd9 + () const noexcept final + + + node * + get + classtoml_1_1array.html + a10664e00054ea4021fec5144b69b8792 + (size_t index) noexcept + + + const node * + get + classtoml_1_1array.html + a44db509dce6b7b77e563c822a5936abe + (size_t index) const noexcept + + + impl::wrap_node< ElemType > * + get_as + classtoml_1_1array.html + a5c2f4624498cba9e1e467b0eb2e9046e + (size_t index) noexcept + + + const impl::wrap_node< ElemType > * + get_as + classtoml_1_1array.html + ae47ca1cc4c61e94fed30aea72ca8d268 + (size_t index) const noexcept + + + node & + operator[] + classtoml_1_1array.html + a853bad0297ca4dcee57c97da2fe318e7 + (size_t index) noexcept + + + const node & + operator[] + classtoml_1_1array.html + ae9f72a1b877f2ac66327a152d55aa9c6 + (size_t index) const noexcept + + + node & + at + classtoml_1_1array.html + aeade4e0cafa3f57b4800e72baa843b1e + (size_t index) + + + const node & + at + classtoml_1_1array.html + a8a5957e22aa2d0f4f9e6feaf9bfffa55 + (size_t index) const + + + node & + front + classtoml_1_1array.html + a9c78848129a2a703c154e7cbe1a973d3 + () noexcept + + + const node & + front + classtoml_1_1array.html + a5ba3af18c63546da6f9d2ac3b5b77f64 + () const noexcept + + + node & + back + classtoml_1_1array.html + a4c58dea5e8795e4b9f8df4f1e1473204 + () noexcept + + + const node & + back + classtoml_1_1array.html + ac7652c1ab60af2ca1c7d52f0658639b4 + () const noexcept + + + bool + empty + classtoml_1_1array.html + a5d527ea6bfddad1025e90e4363c822cc + () const noexcept + + + size_t + size + classtoml_1_1array.html + af81d7b6a1257ad766a47d9276855a7c9 + () const noexcept + + + size_t + max_size + classtoml_1_1array.html + ae65a76add6d756fc7ba8f12a5aad983c + () const noexcept + + + size_t + capacity + classtoml_1_1array.html + a02b773a1ff337692e78da429030c1610 + () const noexcept + + + void + reserve + classtoml_1_1array.html + a1ba073adc52c3df5ad29cfd7e5daa1d5 + (size_t new_capacity) + + + void + shrink_to_fit + classtoml_1_1array.html + a718c2031ead428aa52912741f6d094aa + () + + + void + truncate + classtoml_1_1array.html + a6e3ac9962c706a88c1001ff83a4084f3 + (size_t new_size) + + + void + resize + classtoml_1_1array.html + ab1aca2337ffce7e583a2cf303f16259f + (size_t new_size, ElemType &&default_init_val, value_flags default_init_flags=preserve_source_value_flags) + + + iterator + erase + classtoml_1_1array.html + a22389a9ed9444fe52be10c4acbdec908 + (const_iterator pos) noexcept + + + iterator + erase + classtoml_1_1array.html + a723388860d72c9a162137d0293366fb2 + (const_iterator first, const_iterator last) noexcept + + + array & + flatten + classtoml_1_1array.html + aa2a21958705629bde15aafae9598a2ec + () & + + + array && + flatten + classtoml_1_1array.html + ad307bea17e7640c57715d67ab8a777d4 + () && + + + array & + prune + classtoml_1_1array.html + ae548cf1dc26ade60733548a00a39b175 + (bool recursive=true) &noexcept + + + array && + prune + classtoml_1_1array.html + a6fc918a151ada40c713d6855af3021c2 + (bool recursive=true) &&noexcept + + + void + pop_back + classtoml_1_1array.html + af99d72e29cef84f736d91d627b47a1dc + () noexcept + + + void + clear + classtoml_1_1array.html + adaa65bf63f29f898c27423306c165d68 + () noexcept + + + iterator + insert + classtoml_1_1array.html + a17c7e34b433ea8907186dbb1788c9d37 + (const_iterator pos, ElemType &&val, value_flags flags=preserve_source_value_flags) + + + iterator + insert + classtoml_1_1array.html + a55a9e6e742e556ea07573d29c23ce7df + (const_iterator pos, size_t count, ElemType &&val, value_flags flags=preserve_source_value_flags) + + + iterator + insert + classtoml_1_1array.html + a60a0d39bfd8721cef23e155f5504d54d + (const_iterator pos, Iter first, Iter last, value_flags flags=preserve_source_value_flags) + + + iterator + insert + classtoml_1_1array.html + a1baecd5d579afb508886572674b89781 + (const_iterator pos, std::initializer_list< ElemType > ilist, value_flags flags=preserve_source_value_flags) + + + iterator + emplace + classtoml_1_1array.html + a4110b96386b33097a255f3694ac01d4a + (const_iterator pos, Args &&... args) + + + iterator + replace + classtoml_1_1array.html + a37a8a283e6c1cbeef757b2e59489ee6c + (const_iterator pos, ElemType &&val, value_flags flags=preserve_source_value_flags) + + + void + push_back + classtoml_1_1array.html + ab7188537b351ef3a756b54b83e4b05b3 + (ElemType &&val, value_flags flags=preserve_source_value_flags) + + + decltype(auto) + emplace_back + classtoml_1_1array.html + ae9ceab13446e118333e3a486e81c2448 + (ElemArgs &&... args) + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + friend bool + operator== + classtoml_1_1array.html + a06cf25e3f80c98d88e041ef9823976c0 + (const array &lhs, const array &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1array.html + af06c7437a0946a9d5e093d903b59f6a4 + (const array &lhs, const array &rhs) noexcept + + + friend bool + operator== + classtoml_1_1array.html + ab87e435c5a41140e60cd2e703df96fbd + (const array &lhs, const std::initializer_list< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1array.html + a5b3c615e4ba8fd780b966f175070b554 + (const array &lhs, const std::vector< T > &rhs) noexcept + + + + toml::date + structtoml_1_1date.html + + + date + structtoml_1_1date.html + a5cbb79ab52538ec7a74022cf4fcfb129 + () noexcept=default + + + constexpr + date + structtoml_1_1date.html + a6025b77738bf7ed2db704cc85297e74d + (Y y, M m, D d) noexcept + + + uint16_t + year + structtoml_1_1date.html + ad1dc522b115c69dc908540b1c6ff792b + + + + uint8_t + month + structtoml_1_1date.html + a0528c722d0a81741a95f6e3a1116614e + + + + uint8_t + day + structtoml_1_1date.html + a8ec7a7238b8edd3341b450a7b43ec011 + + + + constexpr friend bool + operator== + structtoml_1_1date.html + af76134298f28a36f104515fa6ba018b0 + (const date &lhs, const date &rhs) noexcept + + + constexpr friend bool + operator!= + structtoml_1_1date.html + a5e1b63040c6d403b8e0a717c77d9509d + (const date &lhs, const date &rhs) noexcept + + + constexpr friend bool + operator< + structtoml_1_1date.html + a800189899a4daf5b8cdf1c5b252b772d + (const date &lhs, const date &rhs) noexcept + + + constexpr friend bool + operator<= + structtoml_1_1date.html + a0add90c8bea1fdc5ff50cbbeb5e169fc + (const date &lhs, const date &rhs) noexcept + + + constexpr friend bool + operator> + structtoml_1_1date.html + a1861ff6d5850f8148ce002c75b2ab952 + (const date &lhs, const date &rhs) noexcept + + + constexpr friend bool + operator>= + structtoml_1_1date.html + a8f74ab67a378a52e28478d5f768e4152 + (const date &lhs, const date &rhs) noexcept + + + friend std::ostream & + operator<< + structtoml_1_1date.html + aa24fddba6149a26f1dbeefe036126316 + (std::ostream &lhs, const date &rhs) + + + + toml::date_time + structtoml_1_1date__time.html + + + date_time + structtoml_1_1date__time.html + a2c9ee1c5c94a6623e9cac5db65289d1f + () noexcept=default + + + constexpr + date_time + structtoml_1_1date__time.html + a8b084d38079cf71db0d0ac8465928dc2 + (const toml::date &d, const toml::time &t) noexcept + + + constexpr + date_time + structtoml_1_1date__time.html + a5394c8e6690f59e627f92b614b06be58 + (const toml::date &d) noexcept + + + constexpr + date_time + structtoml_1_1date__time.html + a73df51041eee08b984d38462ba3fdda4 + (const toml::time &t) noexcept + + + constexpr + date_time + structtoml_1_1date__time.html + aacba153f96e9637d536add5159bad99a + (const toml::date &d, const toml::time &t, const toml::time_offset &off) noexcept + + + constexpr bool + is_local + structtoml_1_1date__time.html + af0d6119984645eb015f2fad0ef487bbc + () const noexcept + + + toml::date + date + structtoml_1_1date__time.html + a89f398585f373d1e7bd59fe440212074 + + + + toml::time + time + structtoml_1_1date__time.html + a18d5e772db4f61635643cda390c2b720 + + + + optional< toml::time_offset > + offset + structtoml_1_1date__time.html + af8596013f522b94a88d2caf69e90a1f5 + + + + constexpr friend bool + operator== + structtoml_1_1date__time.html + a885cbe902aeadacb0953230ade9d8b9a + (const date_time &lhs, const date_time &rhs) noexcept + + + constexpr friend bool + operator!= + structtoml_1_1date__time.html + a9ae0e032ffe90928c47b40bd8155dea3 + (const date_time &lhs, const date_time &rhs) noexcept + + + constexpr friend bool + operator< + structtoml_1_1date__time.html + a4f67803fdc02fb5549ba213a9273a63b + (const date_time &lhs, const date_time &rhs) noexcept + + + constexpr friend bool + operator<= + structtoml_1_1date__time.html + a7b2f0261ae38ef6dbb6de0fb35fbbf3b + (const date_time &lhs, const date_time &rhs) noexcept + + + constexpr friend bool + operator> + structtoml_1_1date__time.html + a1bceb05028f33a829d61ffc768eab78a + (const date_time &lhs, const date_time &rhs) noexcept + + + constexpr friend bool + operator>= + structtoml_1_1date__time.html + a361fb1904f477e0a1f7acaa3cdd14abf + (const date_time &lhs, const date_time &rhs) noexcept + + + friend std::ostream & + operator<< + structtoml_1_1date__time.html + a5a090cb9dfa0d6a3e74603ba702bbddc + (std::ostream &lhs, const date_time &rhs) + + + + toml::inserter + structtoml_1_1inserter.html + + + + toml::json_formatter + classtoml_1_1json__formatter.html + + + json_formatter + classtoml_1_1json__formatter.html + ade267ecca82e3bbac3d1392abab91be9 + (const toml::node &source, format_flags flags=default_flags) noexcept + + + + json_formatter + classtoml_1_1json__formatter.html + a51785aa8ef373a9136e896fafabd53be + (const toml::parse_result &result, format_flags flags=default_flags) noexcept + + + static constexpr format_flags + default_flags + classtoml_1_1json__formatter.html + a4541a4662894ce8936f6f2c3ab90fe2e + + + + friend std::ostream & + operator<< + classtoml_1_1json__formatter.html + a2b88bc230c589c1fad25ffd8df96b74e + (std::ostream &lhs, json_formatter &rhs) + + + friend std::ostream & + operator<< + classtoml_1_1json__formatter.html + a5eefe4e5ca640b12fbb09fd521eab335 + (std::ostream &lhs, json_formatter &&rhs) + + + + toml::key + classtoml_1_1key.html + + const char * + const_iterator + classtoml_1_1key.html + a38a33d5010936195ac2083e428165512 + + + + const_iterator + iterator + classtoml_1_1key.html + a40c42bc323383db54972b5752b9ad4dd + + + + + key + classtoml_1_1key.html + ac978efd3b48ec0a5c14f08618e4dbe23 + () noexcept=default + + + + key + classtoml_1_1key.html + a5119f122c15687a2f0f81b270a627de2 + (std::string_view k, source_region &&src={}) + + + + key + classtoml_1_1key.html + a0718eb26f4d9c1a4c0fb928efb0d6f81 + (std::string_view k, const source_region &src) + + + + key + classtoml_1_1key.html + a788b1bbeaf636dccc4a78f832bf123e0 + (std::string &&k, source_region &&src={}) noexcept + + + + key + classtoml_1_1key.html + ab86ff590f222d57b8f4630901298d8da + (std::string &&k, const source_region &src) noexcept + + + + key + classtoml_1_1key.html + a981f5ee2fbd822d47d0b347c5df55f11 + (const char *k, source_region &&src={}) + + + + key + classtoml_1_1key.html + ad5f26b37172e34a8c70e848ad7911710 + (const char *k, const source_region &src) + + + + key + classtoml_1_1key.html + a67cfed717c84773ab3fe6ec1b7936fa7 + (std::wstring_view k, source_region &&src={}) + + + + key + classtoml_1_1key.html + aba2cb69db8cae7cbc60899a0ee7618d3 + (std::wstring_view k, const source_region &src) + + + std::string_view + str + classtoml_1_1key.html + a0ca779e816081627f78965683182d4dc + () const noexcept + + + + operator std::string_view + classtoml_1_1key.html + a0f580806c0894ea820c533a9f6e0fa91 + () const noexcept + + + bool + empty + classtoml_1_1key.html + a2baa48f26dac4a10a8328706f9386417 + () const noexcept + + + const char * + data + classtoml_1_1key.html + a49f230dc58174f399f49100115ee088f + () const noexcept + + + size_t + length + classtoml_1_1key.html + a5ffa3226fa66f1be190178572a87a000 + () const noexcept + + + const source_region & + source + classtoml_1_1key.html + a82a81d4a4e4d502b661ee2ba10810bea + () const noexcept + + + const_iterator + begin + classtoml_1_1key.html + ab1691956be4ffe1c604e8e66acdc237e + () const noexcept + + + const_iterator + end + classtoml_1_1key.html + a9b37a10b4aff1e6e7902301789f579c8 + () const noexcept + + + friend std::ostream & + operator<< + classtoml_1_1key.html + a78eb7afc69ecd78f4f6ded062f2f7ea7 + (std::ostream &lhs, const key &rhs) + + + friend bool + operator== + classtoml_1_1key.html + aa1d636ad061ad2c8e33c629e112bba5e + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1key.html + a1255e940048a362bda11ee240b3f1ffe + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator< + classtoml_1_1key.html + a7a6f49b1bdf3e234f7598481a4afd5db + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1key.html + ae300be177925b12b73568e194c1444ae + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator> + classtoml_1_1key.html + ae51dcf0f86bed0f6f5ce24d326c0badc + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1key.html + a3c20053f6eae90f946535a95225f522a + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator== + classtoml_1_1key.html + a545b27567960385af1c8ae669029d7dd + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator!= + classtoml_1_1key.html + a24ea2ab9799ab7fec679f2dae3afccf2 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator< + classtoml_1_1key.html + a5578fc46610d6f6e684fbffdf3f61a44 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator<= + classtoml_1_1key.html + a9c59103b835fb600dbb6c808f8c4f8a8 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator> + classtoml_1_1key.html + ad48d1d36a11a9434bc339987838b08f6 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator>= + classtoml_1_1key.html + a61e19637671ad5c5856eafd5753e9b65 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator== + classtoml_1_1key.html + aed4a71da8d0ffb75d847ab2c26948a1c + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1key.html + a165b2057b0144350b1c291ffb0956122 + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator< + classtoml_1_1key.html + a1bacd712822950e9594fd288a236c9cb + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1key.html + a780d9a226184919f080acf0b0a676400 + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator> + classtoml_1_1key.html + aa85755cf51a2ee6d616aa03a8de8b4b0 + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1key.html + aa89096b9f6b364702858f2dc6734987a + (std::string_view lhs, const key &rhs) noexcept + + + std::string_view + str + classtoml_1_1key.html + a0ca779e816081627f78965683182d4dc + () const noexcept + + + + operator std::string_view + classtoml_1_1key.html + a0f580806c0894ea820c533a9f6e0fa91 + () const noexcept + + + bool + empty + classtoml_1_1key.html + a2baa48f26dac4a10a8328706f9386417 + () const noexcept + + + const char * + data + classtoml_1_1key.html + a49f230dc58174f399f49100115ee088f + () const noexcept + + + size_t + length + classtoml_1_1key.html + a5ffa3226fa66f1be190178572a87a000 + () const noexcept + + + const source_region & + source + classtoml_1_1key.html + a82a81d4a4e4d502b661ee2ba10810bea + () const noexcept + + + const_iterator + begin + classtoml_1_1key.html + ab1691956be4ffe1c604e8e66acdc237e + () const noexcept + + + const_iterator + end + classtoml_1_1key.html + a9b37a10b4aff1e6e7902301789f579c8 + () const noexcept + + + friend bool + operator== + classtoml_1_1key.html + aa1d636ad061ad2c8e33c629e112bba5e + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1key.html + a1255e940048a362bda11ee240b3f1ffe + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator< + classtoml_1_1key.html + a7a6f49b1bdf3e234f7598481a4afd5db + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1key.html + ae300be177925b12b73568e194c1444ae + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator> + classtoml_1_1key.html + ae51dcf0f86bed0f6f5ce24d326c0badc + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1key.html + a3c20053f6eae90f946535a95225f522a + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator== + classtoml_1_1key.html + a545b27567960385af1c8ae669029d7dd + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator!= + classtoml_1_1key.html + a24ea2ab9799ab7fec679f2dae3afccf2 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator< + classtoml_1_1key.html + a5578fc46610d6f6e684fbffdf3f61a44 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator<= + classtoml_1_1key.html + a9c59103b835fb600dbb6c808f8c4f8a8 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator> + classtoml_1_1key.html + ad48d1d36a11a9434bc339987838b08f6 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator>= + classtoml_1_1key.html + a61e19637671ad5c5856eafd5753e9b65 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator== + classtoml_1_1key.html + aed4a71da8d0ffb75d847ab2c26948a1c + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1key.html + a165b2057b0144350b1c291ffb0956122 + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator< + classtoml_1_1key.html + a1bacd712822950e9594fd288a236c9cb + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1key.html + a780d9a226184919f080acf0b0a676400 + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator> + classtoml_1_1key.html + aa85755cf51a2ee6d616aa03a8de8b4b0 + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1key.html + aa89096b9f6b364702858f2dc6734987a + (std::string_view lhs, const key &rhs) noexcept + + + + toml::node + classtoml_1_1node.html + + virtual bool + is_homogeneous + classtoml_1_1node.html + a68de6772e259ef122c00b0a9c7b63516 + (node_type ntype, node *&first_nonmatch) noexcept=0 + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a834e10ece19d04b4d774d5f224d50b8f + (node_type ntype, const node *&first_nonmatch) const noexcept=0 + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a5d9191dc545ecded3bc8f7706c63edad + (node_type ntype) const noexcept=0 + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + virtual node_type + type + classtoml_1_1node.html + a10f389035ce13abb00a1191358af6334 + () const noexcept=0 + + + virtual bool + is_table + classtoml_1_1node.html + a50a2501af7e42b0fab060206dde7a99e + () const noexcept=0 + + + virtual bool + is_array + classtoml_1_1node.html + accce7655b0cc340591a755412fde2ed7 + () const noexcept=0 + + + virtual bool + is_array_of_tables + classtoml_1_1node.html + aa09263a05ef361ad233e710308fce690 + () const noexcept=0 + + + virtual bool + is_value + classtoml_1_1node.html + aeddf9eebbd4ece799e5675e2d9d59e4a + () const noexcept=0 + + + virtual bool + is_string + classtoml_1_1node.html + aa95180487162e844129031842d8a9580 + () const noexcept=0 + + + virtual bool + is_integer + classtoml_1_1node.html + ac5390ac64f018947edc75802a53505a5 + () const noexcept=0 + + + virtual bool + is_floating_point + classtoml_1_1node.html + ad8cdb68a69bdc13cda7d4f7663e57847 + () const noexcept=0 + + + virtual bool + is_number + classtoml_1_1node.html + afcc263be60c33b3f92646b5cfa07393e + () const noexcept=0 + + + virtual bool + is_boolean + classtoml_1_1node.html + a422f765df7ee04fa13254adcda29ae8d + () const noexcept=0 + + + virtual bool + is_date + classtoml_1_1node.html + a1c86fb0bd8e241c4768108988a59332a + () const noexcept=0 + + + virtual bool + is_time + classtoml_1_1node.html + a9266c340ccc94b3349704e91bf12d42d + () const noexcept=0 + + + virtual bool + is_date_time + classtoml_1_1node.html + a900f7589762e01c91fb5b07a2c8e9202 + () const noexcept=0 + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + virtual table * + as_table + classtoml_1_1node.html + ac0ca09368b80436100a1eb042daccacc + () noexcept=0 + + + virtual array * + as_array + classtoml_1_1node.html + a43bc08c435e4fbf5ebbcf34f902a6377 + () noexcept=0 + + + virtual toml::value< std::string > * + as_string + classtoml_1_1node.html + a8560597586915efad21f288f591c23cd + () noexcept=0 + + + virtual toml::value< int64_t > * + as_integer + classtoml_1_1node.html + a9e1419c3f99eda7767d114095b1ad793 + () noexcept=0 + + + virtual toml::value< double > * + as_floating_point + classtoml_1_1node.html + a61d3f2c50952a1c989f82b54c5c2eeda + () noexcept=0 + + + virtual toml::value< bool > * + as_boolean + classtoml_1_1node.html + aea93e54eb94c6cb48d240766983fa493 + () noexcept=0 + + + virtual toml::value< date > * + as_date + classtoml_1_1node.html + adcf92e730609341bb1e3c0ae1d12c36f + () noexcept=0 + + + virtual toml::value< time > * + as_time + classtoml_1_1node.html + a2d88fef8e892aae05c3e9886fdef7dce + () noexcept=0 + + + virtual toml::value< date_time > * + as_date_time + classtoml_1_1node.html + ae1312e66ac95fc1cf6ae12f48e000b2a + () noexcept=0 + + + virtual const table * + as_table + classtoml_1_1node.html + aa167e4d8d6e6db784affe8490e178c8b + () const noexcept=0 + + + virtual const array * + as_array + classtoml_1_1node.html + a7ed34b94f3999b03db45fd5e0830637d + () const noexcept=0 + + + virtual const toml::value< std::string > * + as_string + classtoml_1_1node.html + a47c55af38414fdb32075c378b3405bfa + () const noexcept=0 + + + virtual const toml::value< int64_t > * + as_integer + classtoml_1_1node.html + a43bea93af60b57ecc98efaf50dccfe9b + () const noexcept=0 + + + virtual const toml::value< double > * + as_floating_point + classtoml_1_1node.html + a4ceaa3a398fa76c134c902ec1c4778aa + () const noexcept=0 + + + virtual const toml::value< bool > * + as_boolean + classtoml_1_1node.html + a45dd3436280deeb307127278f816e8e9 + () const noexcept=0 + + + virtual const toml::value< date > * + as_date + classtoml_1_1node.html + ac15b9b4e6aa05ca616bac37610af27fc + () const noexcept=0 + + + virtual const toml::value< time > * + as_time + classtoml_1_1node.html + a7ebf75d2978ae1ea32daff4c063217e7 + () const noexcept=0 + + + virtual const toml::value< date_time > * + as_date_time + classtoml_1_1node.html + a7d7b9d4defe5ffc3f1398715f5e325b3 + () const noexcept=0 + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a68de6772e259ef122c00b0a9c7b63516 + (node_type ntype, node *&first_nonmatch) noexcept=0 + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a834e10ece19d04b4d774d5f224d50b8f + (node_type ntype, const node *&first_nonmatch) const noexcept=0 + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a5d9191dc545ecded3bc8f7706c63edad + (node_type ntype) const noexcept=0 + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + virtual node_type + type + classtoml_1_1node.html + a10f389035ce13abb00a1191358af6334 + () const noexcept=0 + + + virtual bool + is_table + classtoml_1_1node.html + a50a2501af7e42b0fab060206dde7a99e + () const noexcept=0 + + + virtual bool + is_array + classtoml_1_1node.html + accce7655b0cc340591a755412fde2ed7 + () const noexcept=0 + + + virtual bool + is_array_of_tables + classtoml_1_1node.html + aa09263a05ef361ad233e710308fce690 + () const noexcept=0 + + + virtual bool + is_value + classtoml_1_1node.html + aeddf9eebbd4ece799e5675e2d9d59e4a + () const noexcept=0 + + + virtual bool + is_string + classtoml_1_1node.html + aa95180487162e844129031842d8a9580 + () const noexcept=0 + + + virtual bool + is_integer + classtoml_1_1node.html + ac5390ac64f018947edc75802a53505a5 + () const noexcept=0 + + + virtual bool + is_floating_point + classtoml_1_1node.html + ad8cdb68a69bdc13cda7d4f7663e57847 + () const noexcept=0 + + + virtual bool + is_number + classtoml_1_1node.html + afcc263be60c33b3f92646b5cfa07393e + () const noexcept=0 + + + virtual bool + is_boolean + classtoml_1_1node.html + a422f765df7ee04fa13254adcda29ae8d + () const noexcept=0 + + + virtual bool + is_date + classtoml_1_1node.html + a1c86fb0bd8e241c4768108988a59332a + () const noexcept=0 + + + virtual bool + is_time + classtoml_1_1node.html + a9266c340ccc94b3349704e91bf12d42d + () const noexcept=0 + + + virtual bool + is_date_time + classtoml_1_1node.html + a900f7589762e01c91fb5b07a2c8e9202 + () const noexcept=0 + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + virtual table * + as_table + classtoml_1_1node.html + ac0ca09368b80436100a1eb042daccacc + () noexcept=0 + + + virtual array * + as_array + classtoml_1_1node.html + a43bc08c435e4fbf5ebbcf34f902a6377 + () noexcept=0 + + + virtual toml::value< std::string > * + as_string + classtoml_1_1node.html + a8560597586915efad21f288f591c23cd + () noexcept=0 + + + virtual toml::value< int64_t > * + as_integer + classtoml_1_1node.html + a9e1419c3f99eda7767d114095b1ad793 + () noexcept=0 + + + virtual toml::value< double > * + as_floating_point + classtoml_1_1node.html + a61d3f2c50952a1c989f82b54c5c2eeda + () noexcept=0 + + + virtual toml::value< bool > * + as_boolean + classtoml_1_1node.html + aea93e54eb94c6cb48d240766983fa493 + () noexcept=0 + + + virtual toml::value< date > * + as_date + classtoml_1_1node.html + adcf92e730609341bb1e3c0ae1d12c36f + () noexcept=0 + + + virtual toml::value< time > * + as_time + classtoml_1_1node.html + a2d88fef8e892aae05c3e9886fdef7dce + () noexcept=0 + + + virtual toml::value< date_time > * + as_date_time + classtoml_1_1node.html + ae1312e66ac95fc1cf6ae12f48e000b2a + () noexcept=0 + + + virtual const table * + as_table + classtoml_1_1node.html + aa167e4d8d6e6db784affe8490e178c8b + () const noexcept=0 + + + virtual const array * + as_array + classtoml_1_1node.html + a7ed34b94f3999b03db45fd5e0830637d + () const noexcept=0 + + + virtual const toml::value< std::string > * + as_string + classtoml_1_1node.html + a47c55af38414fdb32075c378b3405bfa + () const noexcept=0 + + + virtual const toml::value< int64_t > * + as_integer + classtoml_1_1node.html + a43bea93af60b57ecc98efaf50dccfe9b + () const noexcept=0 + + + virtual const toml::value< double > * + as_floating_point + classtoml_1_1node.html + a4ceaa3a398fa76c134c902ec1c4778aa + () const noexcept=0 + + + virtual const toml::value< bool > * + as_boolean + classtoml_1_1node.html + a45dd3436280deeb307127278f816e8e9 + () const noexcept=0 + + + virtual const toml::value< date > * + as_date + classtoml_1_1node.html + ac15b9b4e6aa05ca616bac37610af27fc + () const noexcept=0 + + + virtual const toml::value< time > * + as_time + classtoml_1_1node.html + a7ebf75d2978ae1ea32daff4c063217e7 + () const noexcept=0 + + + virtual const toml::value< date_time > * + as_date_time + classtoml_1_1node.html + a7d7b9d4defe5ffc3f1398715f5e325b3 + () const noexcept=0 + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + + toml::node_view + classtoml_1_1node__view.html + + + ViewedType + viewed_type + classtoml_1_1node__view.html + a1550f4e57532fd03b6c3e9d87805c03a + + + + + node_view + classtoml_1_1node__view.html + a0d8bf511db11b67081bea35c25e4ca9e + () noexcept=default + + + + node_view + classtoml_1_1node__view.html + a199ca0c01e27a74b2ad6dbe554113fb8 + (viewed_type *node) noexcept + + + + node_view + classtoml_1_1node__view.html + af40ced8902e81e354af44a033f05d682 + (viewed_type &node) noexcept + + + + node_view + classtoml_1_1node__view.html + a6f2a4c199237385a61741ab30a64b500 + (const node_view &) noexcept=default + + + + node_view + classtoml_1_1node__view.html + a79091432e79c07c4bb8700f44adfb8d6 + (node_view &&) noexcept=default + + + node_view & + operator= + classtoml_1_1node__view.html + afa455c0337a6fe4d1ca533e10750ba9e + (const node_view &) &noexcept=default + + + node_view & + operator= + classtoml_1_1node__view.html + a3dd8195e3971ebb2110b812783cff136 + (node_view &&) &noexcept=default + + + + operator bool + classtoml_1_1node__view.html + ab8ee0ffcb999601a9b0247c099aa9250 + () const noexcept + + + viewed_type * + node + classtoml_1_1node__view.html + afb42ba6fdddfb407bd37b697a407246d + () const noexcept + + + node_type + type + classtoml_1_1node__view.html + a2483cf1a8314661919b9066ce62c9621 + () const noexcept + + + bool + is_table + classtoml_1_1node__view.html + a70b567ea582c472fe95a89b5b842cee6 + () const noexcept + + + bool + is_array + classtoml_1_1node__view.html + a879d945d2880fc216085d7deb087ad38 + () const noexcept + + + bool + is_value + classtoml_1_1node__view.html + aa58f8de47be5f53738b1a04d7e9d05af + () const noexcept + + + bool + is_string + classtoml_1_1node__view.html + a79b47268155d955b8e2c027b0c2ae983 + () const noexcept + + + bool + is_integer + classtoml_1_1node__view.html + ab9c835ddf017f250d84fa5d5736e8520 + () const noexcept + + + bool + is_floating_point + classtoml_1_1node__view.html + a43ea3eed7b0f133fa7d752a9322c758e + () const noexcept + + + bool + is_number + classtoml_1_1node__view.html + a107732370c62402b1101a78e7382fd8b + () const noexcept + + + bool + is_boolean + classtoml_1_1node__view.html + aa7ee0d1f396e1283c4a11d07b9400897 + () const noexcept + + + bool + is_date + classtoml_1_1node__view.html + a4dc7cf8a57db73fa799a939f7acd549d + () const noexcept + + + bool + is_time + classtoml_1_1node__view.html + a98a6bc33e3ba573c37a069126acf0b8c + () const noexcept + + + bool + is_date_time + classtoml_1_1node__view.html + a5a380f773ae291c942a03e45a88c94b0 + () const noexcept + + + bool + is_array_of_tables + classtoml_1_1node__view.html + a6cc459be36698ec5a9ac0d00b4480eae + () const noexcept + + + bool + is + classtoml_1_1node__view.html + a21d7c55a33aa1c868dde5cbaa7e54ec2 + () const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + a2a2902064421f401e80ea687cef536da + (node_type ntype, viewed_type *&first_nonmatch) const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + afe0abd51e0e108b306be2a3ee9561cca + (node_type ntype) const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + a29c82d83b1d64f016eb42f95fd37e346 + () const noexcept + + + auto * + as + classtoml_1_1node__view.html + a5cd619f292f91fc9d417c61905ea8204 + () const noexcept + + + auto * + as_table + classtoml_1_1node__view.html + a5b73b7eeaa97666ebee3d604171a5576 + () const noexcept + + + auto * + as_array + classtoml_1_1node__view.html + a8593d229d139b05dc81d5d2d97ce3a1f + () const noexcept + + + auto * + as_string + classtoml_1_1node__view.html + a33c4dd8fb9498f6de6fb06714b508d17 + () const noexcept + + + auto * + as_integer + classtoml_1_1node__view.html + ad21750582ec6303e0b257b132ec4409d + () const noexcept + + + auto * + as_floating_point + classtoml_1_1node__view.html + a926821efb73ad7292e3f14841c54871b + () const noexcept + + + auto * + as_boolean + classtoml_1_1node__view.html + a9fec898a7fa88ddbb396fe3b2a81c945 + () const noexcept + + + auto * + as_date + classtoml_1_1node__view.html + a94a7cf14d6ca777de56abd5cdbe8eece + () const noexcept + + + auto * + as_time + classtoml_1_1node__view.html + a94087a35223d51ca76f22a361031bd7e + () const noexcept + + + auto * + as_date_time + classtoml_1_1node__view.html + a5bcb3ac0edcc516efda53fd022057282 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node__view.html + a2d558e7799bc4e24adda096446eb384d + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node__view.html + abb51a912462a258379b968c4074f8324 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node__view.html + a314e5d666dcda3493ff9aa2c0816f53c + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node__view.html + aec5c764293a7eeb20009a484b34d7c3a + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node__view.html + aa5f84bfab779c71a07b04ca0b2db863f + (Func &&visitor) const noexcept(visit_is_nothrow< Func && >) + + + node_view + operator[] + classtoml_1_1node__view.html + a2dde12894f70530d80de45a03eae78fa + (std::string_view key) const noexcept + + + node_view + at_path + classtoml_1_1node__view.html + a59c5432fb77b50ef22098e17d4f956d5 + (std::string_view path) const noexcept + + + node_view + operator[] + classtoml_1_1node__view.html + a35021e65758dc0be505916532b69a7d8 + (std::wstring_view key) const + + + node_view + at_path + classtoml_1_1node__view.html + a157c1eafb7bdf8f33398106017d1b20c + (std::wstring_view path) const + + + node_view + operator[] + classtoml_1_1node__view.html + a5d13b026efcd31812415ead30eeb69db + (size_t index) const noexcept + + + friend std::ostream & + operator<< + classtoml_1_1node__view.html + a170109f0b77888f54b2fcdb8fee0ab90 + (std::ostream &os, const node_view &nv) + + + friend bool + operator== + classtoml_1_1node__view.html + a191820d030035d564fe09f5eb251b927 + (const node_view &lhs, const node_view< T > &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1node__view.html + a3dc82b95849d7e6bd89b5496fe96beaa + (const node_view &lhs, const node_view< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a754bdba78869afe6bccb4b51e0a77e45 + (const node_view &lhs, const table &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a3b39aedbada6221a4e3857b0f0235843 + (const node_view &lhs, const array &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + ad9fd96826fcee43cd1ea1ccf6e22c895 + (const node_view &lhs, const toml::value< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a4dba3ed7356704669e4175fa7c8f5c34 + (const node_view &lhs, const T &rhs) noexcept(!impl::is_wide_string< T >) + + + friend bool + operator== + classtoml_1_1node__view.html + abe826c97f2b451ee287ecf37f46517fb + (const node_view &lhs, const std::initializer_list< T > &rhs) noexcept(!impl::is_wide_string< T >) + + + friend bool + operator== + classtoml_1_1node__view.html + ad4b4144f8033c78e5410f701e5ae7e30 + (const node_view &lhs, const std::vector< T > &rhs) noexcept(!impl::is_wide_string< T >) + + + friend bool + operator== + classtoml_1_1node__view.html + a191820d030035d564fe09f5eb251b927 + (const node_view &lhs, const node_view< T > &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1node__view.html + a3dc82b95849d7e6bd89b5496fe96beaa + (const node_view &lhs, const node_view< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a754bdba78869afe6bccb4b51e0a77e45 + (const node_view &lhs, const table &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a3b39aedbada6221a4e3857b0f0235843 + (const node_view &lhs, const array &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + ad9fd96826fcee43cd1ea1ccf6e22c895 + (const node_view &lhs, const toml::value< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a4dba3ed7356704669e4175fa7c8f5c34 + (const node_view &lhs, const T &rhs) noexcept(!impl::is_wide_string< T >) + + + friend bool + operator== + classtoml_1_1node__view.html + abe826c97f2b451ee287ecf37f46517fb + (const node_view &lhs, const std::initializer_list< T > &rhs) noexcept(!impl::is_wide_string< T >) + + + friend bool + operator== + classtoml_1_1node__view.html + ad4b4144f8033c78e5410f701e5ae7e30 + (const node_view &lhs, const std::vector< T > &rhs) noexcept(!impl::is_wide_string< T >) + + + node_type + type + classtoml_1_1node__view.html + a2483cf1a8314661919b9066ce62c9621 + () const noexcept + + + bool + is_table + classtoml_1_1node__view.html + a70b567ea582c472fe95a89b5b842cee6 + () const noexcept + + + bool + is_array + classtoml_1_1node__view.html + a879d945d2880fc216085d7deb087ad38 + () const noexcept + + + bool + is_value + classtoml_1_1node__view.html + aa58f8de47be5f53738b1a04d7e9d05af + () const noexcept + + + bool + is_string + classtoml_1_1node__view.html + a79b47268155d955b8e2c027b0c2ae983 + () const noexcept + + + bool + is_integer + classtoml_1_1node__view.html + ab9c835ddf017f250d84fa5d5736e8520 + () const noexcept + + + bool + is_floating_point + classtoml_1_1node__view.html + a43ea3eed7b0f133fa7d752a9322c758e + () const noexcept + + + bool + is_number + classtoml_1_1node__view.html + a107732370c62402b1101a78e7382fd8b + () const noexcept + + + bool + is_boolean + classtoml_1_1node__view.html + aa7ee0d1f396e1283c4a11d07b9400897 + () const noexcept + + + bool + is_date + classtoml_1_1node__view.html + a4dc7cf8a57db73fa799a939f7acd549d + () const noexcept + + + bool + is_time + classtoml_1_1node__view.html + a98a6bc33e3ba573c37a069126acf0b8c + () const noexcept + + + bool + is_date_time + classtoml_1_1node__view.html + a5a380f773ae291c942a03e45a88c94b0 + () const noexcept + + + bool + is_array_of_tables + classtoml_1_1node__view.html + a6cc459be36698ec5a9ac0d00b4480eae + () const noexcept + + + bool + is + classtoml_1_1node__view.html + a21d7c55a33aa1c868dde5cbaa7e54ec2 + () const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + a2a2902064421f401e80ea687cef536da + (node_type ntype, viewed_type *&first_nonmatch) const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + afe0abd51e0e108b306be2a3ee9561cca + (node_type ntype) const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + a29c82d83b1d64f016eb42f95fd37e346 + () const noexcept + + + auto * + as + classtoml_1_1node__view.html + a5cd619f292f91fc9d417c61905ea8204 + () const noexcept + + + auto * + as_table + classtoml_1_1node__view.html + a5b73b7eeaa97666ebee3d604171a5576 + () const noexcept + + + auto * + as_array + classtoml_1_1node__view.html + a8593d229d139b05dc81d5d2d97ce3a1f + () const noexcept + + + auto * + as_string + classtoml_1_1node__view.html + a33c4dd8fb9498f6de6fb06714b508d17 + () const noexcept + + + auto * + as_integer + classtoml_1_1node__view.html + ad21750582ec6303e0b257b132ec4409d + () const noexcept + + + auto * + as_floating_point + classtoml_1_1node__view.html + a926821efb73ad7292e3f14841c54871b + () const noexcept + + + auto * + as_boolean + classtoml_1_1node__view.html + a9fec898a7fa88ddbb396fe3b2a81c945 + () const noexcept + + + auto * + as_date + classtoml_1_1node__view.html + a94a7cf14d6ca777de56abd5cdbe8eece + () const noexcept + + + auto * + as_time + classtoml_1_1node__view.html + a94087a35223d51ca76f22a361031bd7e + () const noexcept + + + auto * + as_date_time + classtoml_1_1node__view.html + a5bcb3ac0edcc516efda53fd022057282 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node__view.html + a2d558e7799bc4e24adda096446eb384d + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node__view.html + abb51a912462a258379b968c4074f8324 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node__view.html + a314e5d666dcda3493ff9aa2c0816f53c + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node__view.html + aec5c764293a7eeb20009a484b34d7c3a + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node__view.html + aa5f84bfab779c71a07b04ca0b2db863f + (Func &&visitor) const noexcept(visit_is_nothrow< Func && >) + + + node_view + operator[] + classtoml_1_1node__view.html + a2dde12894f70530d80de45a03eae78fa + (std::string_view key) const noexcept + + + node_view + at_path + classtoml_1_1node__view.html + a59c5432fb77b50ef22098e17d4f956d5 + (std::string_view path) const noexcept + + + node_view + operator[] + classtoml_1_1node__view.html + a35021e65758dc0be505916532b69a7d8 + (std::wstring_view key) const + + + node_view + at_path + classtoml_1_1node__view.html + a157c1eafb7bdf8f33398106017d1b20c + (std::wstring_view path) const + + + node_view + operator[] + classtoml_1_1node__view.html + a5d13b026efcd31812415ead30eeb69db + (size_t index) const noexcept + + + + toml::parse_error + classtoml_1_1parse__error.html + + std::string_view + description + classtoml_1_1parse__error.html + a5582e9d66f8aa3f6ef442c0a04d5282f + () const noexcept + + + const source_region & + source + classtoml_1_1parse__error.html + a8168b4941305654cf4ba8fc96efd0514 + () const noexcept + + + friend std::ostream & + operator<< + classtoml_1_1parse__error.html + a90796878877b2a028354f643be725cf6 + (std::ostream &lhs, const parse_error &rhs) + + + + toml::parse_result + classtoml_1_1parse__result.html + + + parse_result + classtoml_1_1parse__result.html + a49f926286dae7ed5a6298f5a3656548b + () noexcept + + + + parse_result + classtoml_1_1parse__result.html + a058b76f39fb5a971585538f2d4098ba5 + (parse_result &&res) noexcept + + + parse_result & + operator= + classtoml_1_1parse__result.html + aa4c2c770a8d214f9d508582233ff1d84 + (parse_result &&rhs) noexcept + + + + ~parse_result + classtoml_1_1parse__result.html + ad9e22f09854af4c36860d61e0c0f25b1 + () noexcept + + + bool + succeeded + classtoml_1_1parse__result.html + ab5bfcd6ed385016395029bd69ad78a3c + () const noexcept + + + bool + failed + classtoml_1_1parse__result.html + a9097bc552007537f840602ceca00e99b + () const noexcept + + + + operator bool + classtoml_1_1parse__result.html + af66ea78a6dd881521ce865a372298e12 + () const noexcept + + + toml::table & + table + classtoml_1_1parse__result.html + a47d2ead20ae9d1681210c63319a6a162 + () &noexcept + + + toml::table && + table + classtoml_1_1parse__result.html + a77b470b66dd401a0a929006dd788b882 + () &&noexcept + + + const toml::table & + table + classtoml_1_1parse__result.html + a993f5d59c4b10f87138f8abb8a16d51d + () const &noexcept + + + + operator toml::table & + classtoml_1_1parse__result.html + a5e14e22d4d68b27c11711a3319dc6bf9 + () noexcept + + + + operator toml::table && + classtoml_1_1parse__result.html + a8dca1600886954b38b99a4a4f9cb77c4 + () noexcept + + + + operator const toml::table & + classtoml_1_1parse__result.html + a9d059289edaf6c7fb71916b21a2f9c9f + () const noexcept + + + parse_error & + error + classtoml_1_1parse__result.html + aefbb9aafdf00fa1ac979962d22e12e68 + () &noexcept + + + parse_error && + error + classtoml_1_1parse__result.html + ab07914228f9f7436628c99df454f177d + () &&noexcept + + + const parse_error & + error + classtoml_1_1parse__result.html + a9a5929b01df9a7f7f986b8431cefd2b8 + () const &noexcept + + + + operator parse_error & + classtoml_1_1parse__result.html + abc8a693cb538441b5974eff38c716669 + () noexcept + + + + operator parse_error && + classtoml_1_1parse__result.html + a9f70aa665d84aaf5f936dd27f6c95c4a + () noexcept + + + + operator const parse_error & + classtoml_1_1parse__result.html + a43df64e02443b2abfd9d2c86c5e4c30a + () const noexcept + + + node_view< node > + operator[] + classtoml_1_1parse__result.html + a8825eaef011c7dbb5c1d1e46584e90bc + (std::string_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1parse__result.html + a1d91207197c22f396acba5d46995d8ab + (std::string_view key) const noexcept + + + node_view< node > + at_path + classtoml_1_1parse__result.html + a09972ac3195147c36fcb40386c863a35 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1parse__result.html + a1296ae08b7d147c6b83f1ba07fc4186f + (std::string_view path) const noexcept + + + node_view< node > + operator[] + classtoml_1_1parse__result.html + ade8c625d35dcc5b4fdec97d9f5a7f96f + (std::wstring_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1parse__result.html + a58a3ee971220497ef922fc2ab5c7a9c0 + (std::wstring_view key) const noexcept + + + node_view< node > + at_path + classtoml_1_1parse__result.html + aafcd481c363a53ef525543373f5d8f68 + (std::wstring_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1parse__result.html + ac8db081d83ce6f41a46e586e41c58b5a + (std::wstring_view path) const noexcept + + + friend std::ostream & + operator<< + classtoml_1_1parse__result.html + ad4eaa8dc3cc144a912a63d9f95331572 + (std::ostream &os, const parse_result &result) + + + table_iterator + iterator + classtoml_1_1parse__result.html + aae503c11e9f9162de5cbef5e2c9f4863 + + + + const_table_iterator + const_iterator + classtoml_1_1parse__result.html + abf92ffb48c1f4d0f129f4032708d4ab0 + + + + table_iterator + begin + classtoml_1_1parse__result.html + a3f641e942f1518dffad6fcc7dc13893d + () noexcept + + + const_table_iterator + begin + classtoml_1_1parse__result.html + a910f13933a0547a2920404287829781f + () const noexcept + + + const_table_iterator + cbegin + classtoml_1_1parse__result.html + af58212d8a367e5c1d38eb5d58708754b + () const noexcept + + + table_iterator + end + classtoml_1_1parse__result.html + a336d398e329f08195d714ff02fdffca6 + () noexcept + + + const_table_iterator + end + classtoml_1_1parse__result.html + a154d32bca3ea50dc5030372675a85a65 + () const noexcept + + + const_table_iterator + cend + classtoml_1_1parse__result.html + afa4f821ad60ceb06327cec6b42b05071 + () const noexcept + + + bool + succeeded + classtoml_1_1parse__result.html + ab5bfcd6ed385016395029bd69ad78a3c + () const noexcept + + + bool + failed + classtoml_1_1parse__result.html + a9097bc552007537f840602ceca00e99b + () const noexcept + + + + operator bool + classtoml_1_1parse__result.html + af66ea78a6dd881521ce865a372298e12 + () const noexcept + + + toml::table & + table + classtoml_1_1parse__result.html + a47d2ead20ae9d1681210c63319a6a162 + () &noexcept + + + toml::table && + table + classtoml_1_1parse__result.html + a77b470b66dd401a0a929006dd788b882 + () &&noexcept + + + const toml::table & + table + classtoml_1_1parse__result.html + a993f5d59c4b10f87138f8abb8a16d51d + () const &noexcept + + + + operator toml::table & + classtoml_1_1parse__result.html + a5e14e22d4d68b27c11711a3319dc6bf9 + () noexcept + + + + operator toml::table && + classtoml_1_1parse__result.html + a8dca1600886954b38b99a4a4f9cb77c4 + () noexcept + + + + operator const toml::table & + classtoml_1_1parse__result.html + a9d059289edaf6c7fb71916b21a2f9c9f + () const noexcept + + + parse_error & + error + classtoml_1_1parse__result.html + aefbb9aafdf00fa1ac979962d22e12e68 + () &noexcept + + + parse_error && + error + classtoml_1_1parse__result.html + ab07914228f9f7436628c99df454f177d + () &&noexcept + + + const parse_error & + error + classtoml_1_1parse__result.html + a9a5929b01df9a7f7f986b8431cefd2b8 + () const &noexcept + + + + operator parse_error & + classtoml_1_1parse__result.html + abc8a693cb538441b5974eff38c716669 + () noexcept + + + + operator parse_error && + classtoml_1_1parse__result.html + a9f70aa665d84aaf5f936dd27f6c95c4a + () noexcept + + + + operator const parse_error & + classtoml_1_1parse__result.html + a43df64e02443b2abfd9d2c86c5e4c30a + () const noexcept + + + node_view< node > + operator[] + classtoml_1_1parse__result.html + a8825eaef011c7dbb5c1d1e46584e90bc + (std::string_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1parse__result.html + a1d91207197c22f396acba5d46995d8ab + (std::string_view key) const noexcept + + + node_view< node > + at_path + classtoml_1_1parse__result.html + a09972ac3195147c36fcb40386c863a35 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1parse__result.html + a1296ae08b7d147c6b83f1ba07fc4186f + (std::string_view path) const noexcept + + + node_view< node > + operator[] + classtoml_1_1parse__result.html + ade8c625d35dcc5b4fdec97d9f5a7f96f + (std::wstring_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1parse__result.html + a58a3ee971220497ef922fc2ab5c7a9c0 + (std::wstring_view key) const noexcept + + + node_view< node > + at_path + classtoml_1_1parse__result.html + aafcd481c363a53ef525543373f5d8f68 + (std::wstring_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1parse__result.html + ac8db081d83ce6f41a46e586e41c58b5a + (std::wstring_view path) const noexcept + + + + toml::source_position + structtoml_1_1source__position.html + + constexpr + operator bool + structtoml_1_1source__position.html + accba2f34a07d8b453b8f2f6baf2d73cf + () const noexcept + + + source_index + line + structtoml_1_1source__position.html + ab21cac59798d70e25fe97ac7433763cc + + + + source_index + column + structtoml_1_1source__position.html + a1ca6d0db40c69d2784703011f7cf5434 + + + + constexpr friend bool + operator== + structtoml_1_1source__position.html + a2661adb822c0291c5328d9d00e4b9a8f + (const source_position &lhs, const source_position &rhs) noexcept + + + constexpr friend bool + operator!= + structtoml_1_1source__position.html + a90fec8fa1014a1358a362f9171cdb073 + (const source_position &lhs, const source_position &rhs) noexcept + + + constexpr friend bool + operator< + structtoml_1_1source__position.html + a771714902fb113445597a1fd2a24e8cd + (const source_position &lhs, const source_position &rhs) noexcept + + + constexpr friend bool + operator<= + structtoml_1_1source__position.html + abb7d47c85374301ec48e7c5f3ee1c71a + (const source_position &lhs, const source_position &rhs) noexcept + + + friend std::ostream & + operator<< + structtoml_1_1source__position.html + a40b4b23ccd23a205a2c2298853066aba + (std::ostream &lhs, const source_position &rhs) + + + + toml::source_region + structtoml_1_1source__region.html + + optional< std::wstring > + wide_path + structtoml_1_1source__region.html + a8e9110cd42e834f95e9a12c59909c1c0 + () const + + + source_position + begin + structtoml_1_1source__region.html + ab36a5db15201864a13fb628f331196d0 + + + + source_position + end + structtoml_1_1source__region.html + a054940b42dcf83391697ec2b8690531d + + + + source_path_ptr + path + structtoml_1_1source__region.html + a25fc23f579edb8afc0818c013c5ac5d7 + + + + friend std::ostream & + operator<< + structtoml_1_1source__region.html + a9de8ac24a607abd098bb4179520f3734 + (std::ostream &lhs, const source_region &rhs) + + + + toml::table + classtoml_1_1table.html + toml::node + + + table + classtoml_1_1table.html + a2a7795e3ab96d9549ac17e30c53c66d0 + () noexcept=default + + + + table + classtoml_1_1table.html + a8c06941e05e31602d46f26ba84d14b23 + (const table &) + + + + table + classtoml_1_1table.html + ab47a76ab242afa13f1a74e5e2bcded44 + (table &&other) noexcept + + + + table + classtoml_1_1table.html + a7fdc52c0aa1bd67ae6738f029787bc2f + (std::initializer_list< impl::table_init_pair > kvps) + + + table & + operator= + classtoml_1_1table.html + ac4bdf5ade95ac5afa472ae1219b8b89d + (const table &) + + + table & + operator= + classtoml_1_1table.html + a5c5fd0e11db828ab264eccc96dfdd619 + (table &&rhs) noexcept + + + node_type + type + classtoml_1_1table.html + a03d15150652176b1714b70fb035cdeb0 + () const noexcept final + + + bool + is_homogeneous + classtoml_1_1table.html + abe1cc42533dc108b2062de2666471faa + (node_type ntype) const noexcept final + + + bool + is_homogeneous + classtoml_1_1table.html + af1a2f48edbb3afa9363c392595830846 + (node_type ntype, node *&first_nonmatch) noexcept final + + + bool + is_homogeneous + classtoml_1_1table.html + a8a0a8d4e44883a2467798dad07ddcb43 + (node_type ntype, const node *&first_nonmatch) const noexcept final + + + bool + is_table + classtoml_1_1table.html + a2cdfa1fd3e9d5c64cb5d4089a1d4344e + () const noexcept final + + + bool + is_array + classtoml_1_1table.html + a56d186a17d8e24bfa90fa6578e7b3872 + () const noexcept final + + + bool + is_array_of_tables + classtoml_1_1table.html + a52e6d4f667e464a49ac4928c8ed31fec + () const noexcept final + + + bool + is_value + classtoml_1_1table.html + aae222bf8089461dd4954311d1e403386 + () const noexcept final + + + bool + is_string + classtoml_1_1table.html + a6bf5f3666709891c5c6beba70835604a + () const noexcept final + + + bool + is_integer + classtoml_1_1table.html + a1a8b05c8de343cff20b47189d309862b + () const noexcept final + + + bool + is_floating_point + classtoml_1_1table.html + a6eafaab181b8ce2632b5c0556941fb76 + () const noexcept final + + + bool + is_number + classtoml_1_1table.html + a89392000e892868540f0513f4be45ba2 + () const noexcept final + + + bool + is_boolean + classtoml_1_1table.html + a60c4177e5d411c2f8be30f0b99b68189 + () const noexcept final + + + bool + is_date + classtoml_1_1table.html + a3052f7b2bce6add8ef50ea77c59338c4 + () const noexcept final + + + bool + is_time + classtoml_1_1table.html + a1fc645d975ce2b07348e1e9f8029d0c1 + () const noexcept final + + + bool + is_date_time + classtoml_1_1table.html + a38d82efe9d6fc89b5140e5abdde9127d + () const noexcept final + + + table * + as_table + classtoml_1_1table.html + af9cb47ecee9c13ded1308b64902f8a5c + () noexcept final + + + array * + as_array + classtoml_1_1table.html + a673bdcac9903b7da00c5893f6d7fe8e0 + () noexcept final + + + toml::value< std::string > * + as_string + classtoml_1_1table.html + aa8e3920bff569dee33fe8e34ffb6361d + () noexcept final + + + toml::value< int64_t > * + as_integer + classtoml_1_1table.html + a5b86281620ba34efabf7e3c4bef9675b + () noexcept final + + + toml::value< double > * + as_floating_point + classtoml_1_1table.html + ac3b5e969c4aaeebc3c36d514c3b54d5f + () noexcept final + + + toml::value< bool > * + as_boolean + classtoml_1_1table.html + a0cd6412f40c200939645028417d789cf + () noexcept final + + + toml::value< date > * + as_date + classtoml_1_1table.html + a1b5f7025e387eb10f16d4b3a763db501 + () noexcept final + + + toml::value< time > * + as_time + classtoml_1_1table.html + a980f61149308e193282b8f5bfaeda284 + () noexcept final + + + toml::value< date_time > * + as_date_time + classtoml_1_1table.html + a6a33617f7d6d95ef676ce0cb098d2970 + () noexcept final + + + const table * + as_table + classtoml_1_1table.html + a84fc8b87acc1f9f86384d375893f5d3c + () const noexcept final + + + const array * + as_array + classtoml_1_1table.html + af2dda58dc42b782b0c36a2367d948957 + () const noexcept final + + + const toml::value< std::string > * + as_string + classtoml_1_1table.html + aa8ab32e1b60f5b3b0bf9539076c89acc + () const noexcept final + + + const toml::value< int64_t > * + as_integer + classtoml_1_1table.html + a98c296e8a635190bab97e886c83f2648 + () const noexcept final + + + const toml::value< double > * + as_floating_point + classtoml_1_1table.html + aaf302e3edd84df4c31765ffb15aed0f2 + () const noexcept final + + + const toml::value< bool > * + as_boolean + classtoml_1_1table.html + abc2f126a04989073083065662df9e72b + () const noexcept final + + + const toml::value< date > * + as_date + classtoml_1_1table.html + a5759fb6852495964827f9982e9c8ce12 + () const noexcept final + + + const toml::value< time > * + as_time + classtoml_1_1table.html + a19e3aa65fd09b2f36d98627c432638b1 + () const noexcept final + + + const toml::value< date_time > * + as_date_time + classtoml_1_1table.html + a2fd53fcb036c335021e3ad098cf4d883 + () const noexcept final + + + bool + is_inline + classtoml_1_1table.html + a53be1b93aa90608ed378323df835a2f3 + () const noexcept + + + void + is_inline + classtoml_1_1table.html + a8e797a683ff2bacd14d7e7461ecd2780 + (bool val) noexcept + + + node * + get + classtoml_1_1table.html + ae6811ea7c692ac71880693e225c66aed + (std::string_view key) noexcept + + + const node * + get + classtoml_1_1table.html + a43afae4f760f715c69b0b8aa0a7ef071 + (std::string_view key) const noexcept + + + node * + get + classtoml_1_1table.html + a637ff9b8eb2880a1084f01b7b0725b12 + (std::wstring_view key) + + + const node * + get + classtoml_1_1table.html + add0f0c51c63d385f881022cab988744c + (std::wstring_view key) const + + + impl::wrap_node< T > * + get_as + classtoml_1_1table.html + afb960c9b2ea8066f917d22d348758513 + (std::string_view key) noexcept + + + const impl::wrap_node< T > * + get_as + classtoml_1_1table.html + aa21b91ee2ed48b24bf684b762f01c684 + (std::string_view key) const noexcept + + + impl::wrap_node< T > * + get_as + classtoml_1_1table.html + a32bfcd190cb9a8e06f381097a23d0b66 + (std::wstring_view key) + + + const impl::wrap_node< T > * + get_as + classtoml_1_1table.html + a0099ccf5df2f15ca17309c1897cb5e61 + (std::wstring_view key) const + + + node & + at + classtoml_1_1table.html + ae1e3925fca9b027958934a5c015c6c98 + (std::string_view key) + + + const node & + at + classtoml_1_1table.html + acadf9153fcdc5019add35426044f369e + (std::string_view key) const + + + node & + at + classtoml_1_1table.html + aef4d6369cf64a56322b96f1a15f761c6 + (std::wstring_view key) + + + const node & + at + classtoml_1_1table.html + ae8429bf4d0d3dd15b82344b575ec2a15 + (std::wstring_view key) const + + + bool + empty + classtoml_1_1table.html + a554f495f6f2ebc993be1bd0379447051 + () const noexcept + + + size_t + size + classtoml_1_1table.html + ad7c4105854cc817bf6e781fa7fb1b6d6 + () const noexcept + + + iterator + lower_bound + classtoml_1_1table.html + acc5180d0f3b1a78f45962f246a5d9605 + (std::string_view key) noexcept + + + const_iterator + lower_bound + classtoml_1_1table.html + a3b678ac60d00790308b96f5e51da4274 + (std::string_view key) const noexcept + + + iterator + lower_bound + classtoml_1_1table.html + aaaffca1b5d53d7b72d2f29c14f06d75e + (std::wstring_view key) + + + const_iterator + lower_bound + classtoml_1_1table.html + a2799383d484028ef5f466f8d1d34f315 + (std::wstring_view key) const + + + iterator + find + classtoml_1_1table.html + a087ecb9d9fd4562d79f83341f0c643c0 + (std::string_view key) noexcept + + + const_iterator + find + classtoml_1_1table.html + a65a894481bab5dd2bd00690931ed2692 + (std::string_view key) const noexcept + + + bool + contains + classtoml_1_1table.html + aacf6efa6e7865211f7a1283f79a88ee0 + (std::string_view key) const noexcept + + + iterator + find + classtoml_1_1table.html + ab1f12a827212d23ee0895fda92a5113c + (std::wstring_view key) + + + const_iterator + find + classtoml_1_1table.html + a25f8f4a8c4672042d75b810856bd676f + (std::wstring_view key) const + + + bool + contains + classtoml_1_1table.html + a7bec8d45353adeac918668a9fc5cb6a2 + (std::wstring_view key) const + + + iterator + erase + classtoml_1_1table.html + a1a90984876ccdd03aaa9e0f9801a839f + (iterator pos) noexcept + + + iterator + erase + classtoml_1_1table.html + a4dafb4ae116d92add973e5f27f880a9d + (const_iterator pos) noexcept + + + iterator + erase + classtoml_1_1table.html + a59f4dd9e42b73c9c1ec43134bef7e113 + (const_iterator begin, const_iterator end) noexcept + + + size_t + erase + classtoml_1_1table.html + ac6064df3f6f23b022884390a9963c1bc + (std::string_view key) noexcept + + + size_t + erase + classtoml_1_1table.html + add732807ee5e8fde81ceaa33acbaa7c6 + (std::wstring_view key) + + + table & + prune + classtoml_1_1table.html + a7f4d1d90dcea74d84f70db7e2d70c78a + (bool recursive=true) &noexcept + + + table && + prune + classtoml_1_1table.html + a14a59eed720b4d01840e290f82bb87b5 + (bool recursive=true) &&noexcept + + + void + clear + classtoml_1_1table.html + aa710f85c588a1b00c3192d1553de4eef + () noexcept + + + iterator + emplace_hint + classtoml_1_1table.html + a0d2378b5d13432bf8e325c388c650189 + (const_iterator hint, KeyType &&key, ValueArgs &&... args) + + + std::pair< iterator, bool > + insert + classtoml_1_1table.html + aed4c994aec5209b69d54d19f306b31bc + (KeyType &&key, ValueType &&val, value_flags flags=preserve_source_value_flags) + + + void + insert + classtoml_1_1table.html + a331eb6de04d95c3f76bf64e6f84d4ad6 + (Iter begin, Iter end, value_flags flags=preserve_source_value_flags) + + + std::pair< iterator, bool > + insert_or_assign + classtoml_1_1table.html + aa160b71ed6bc6fc638b19b5d9a8ef569 + (KeyType &&key, ValueType &&val, value_flags flags=preserve_source_value_flags) + + + std::pair< iterator, bool > + emplace + classtoml_1_1table.html + a485d7763c578d716b4f22abb1db3c975 + (KeyType &&key, ValueArgs &&... args) + + + node_view< node > + operator[] + classtoml_1_1table.html + a6d8386049f630c8551597a2180479c7c + (std::string_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1table.html + a9b13a19ddfcd2f76685f57587d28701c + (std::string_view key) const noexcept + + + node_view< node > + operator[] + classtoml_1_1table.html + a06fd3d9032b031b0363818939cd5cf38 + (std::wstring_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1table.html + a404ae83ed52c7b8ce294d3d4925c8a16 + (std::wstring_view key) const noexcept + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + friend std::ostream & + operator<< + classtoml_1_1table.html + a3d8aefefc9701472d2a314a43deba6d2 + (std::ostream &lhs, const table &rhs) + + + friend bool + operator== + classtoml_1_1table.html + af8ebaed8105e5de2098992764f2d534a + (const table &lhs, const table &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1table.html + abdeb5d9d9fc23c031c78e544c6196ea6 + (const table &lhs, const table &rhs) noexcept + + + toml::table_iterator + iterator + classtoml_1_1table.html + a87e055bad435d5332dc496c518733a4d + + + + toml::const_table_iterator + const_iterator + classtoml_1_1table.html + a68fea8ca9b1018f9675fd346b9f4512e + + + + iterator + begin + classtoml_1_1table.html + a334f050427eb20c8530254f4cd6dddf3 + () noexcept + + + const_iterator + begin + classtoml_1_1table.html + a3352f9954e03087b6f596ae23283bd3c + () const noexcept + + + const_iterator + cbegin + classtoml_1_1table.html + a15a5f8bd6d194fcbe925a24e5b73b1fb + () const noexcept + + + iterator + end + classtoml_1_1table.html + a96da67654c5ca131cfec2e3c07aa2730 + () noexcept + + + const_iterator + end + classtoml_1_1table.html + a40c72e81de1da66b7083cad11442cb05 + () const noexcept + + + const_iterator + cend + classtoml_1_1table.html + a311451209f990931ea25828c6091714f + () const noexcept + + + node_type + type + classtoml_1_1table.html + a03d15150652176b1714b70fb035cdeb0 + () const noexcept final + + + bool + is_homogeneous + classtoml_1_1table.html + abe1cc42533dc108b2062de2666471faa + (node_type ntype) const noexcept final + + + bool + is_homogeneous + classtoml_1_1table.html + af1a2f48edbb3afa9363c392595830846 + (node_type ntype, node *&first_nonmatch) noexcept final + + + bool + is_homogeneous + classtoml_1_1table.html + a8a0a8d4e44883a2467798dad07ddcb43 + (node_type ntype, const node *&first_nonmatch) const noexcept final + + + bool + is_table + classtoml_1_1table.html + a2cdfa1fd3e9d5c64cb5d4089a1d4344e + () const noexcept final + + + bool + is_array + classtoml_1_1table.html + a56d186a17d8e24bfa90fa6578e7b3872 + () const noexcept final + + + bool + is_array_of_tables + classtoml_1_1table.html + a52e6d4f667e464a49ac4928c8ed31fec + () const noexcept final + + + bool + is_value + classtoml_1_1table.html + aae222bf8089461dd4954311d1e403386 + () const noexcept final + + + bool + is_string + classtoml_1_1table.html + a6bf5f3666709891c5c6beba70835604a + () const noexcept final + + + bool + is_integer + classtoml_1_1table.html + a1a8b05c8de343cff20b47189d309862b + () const noexcept final + + + bool + is_floating_point + classtoml_1_1table.html + a6eafaab181b8ce2632b5c0556941fb76 + () const noexcept final + + + bool + is_number + classtoml_1_1table.html + a89392000e892868540f0513f4be45ba2 + () const noexcept final + + + bool + is_boolean + classtoml_1_1table.html + a60c4177e5d411c2f8be30f0b99b68189 + () const noexcept final + + + bool + is_date + classtoml_1_1table.html + a3052f7b2bce6add8ef50ea77c59338c4 + () const noexcept final + + + bool + is_time + classtoml_1_1table.html + a1fc645d975ce2b07348e1e9f8029d0c1 + () const noexcept final + + + bool + is_date_time + classtoml_1_1table.html + a38d82efe9d6fc89b5140e5abdde9127d + () const noexcept final + + + table * + as_table + classtoml_1_1table.html + af9cb47ecee9c13ded1308b64902f8a5c + () noexcept final + + + array * + as_array + classtoml_1_1table.html + a673bdcac9903b7da00c5893f6d7fe8e0 + () noexcept final + + + toml::value< std::string > * + as_string + classtoml_1_1table.html + aa8e3920bff569dee33fe8e34ffb6361d + () noexcept final + + + toml::value< int64_t > * + as_integer + classtoml_1_1table.html + a5b86281620ba34efabf7e3c4bef9675b + () noexcept final + + + toml::value< double > * + as_floating_point + classtoml_1_1table.html + ac3b5e969c4aaeebc3c36d514c3b54d5f + () noexcept final + + + toml::value< bool > * + as_boolean + classtoml_1_1table.html + a0cd6412f40c200939645028417d789cf + () noexcept final + + + toml::value< date > * + as_date + classtoml_1_1table.html + a1b5f7025e387eb10f16d4b3a763db501 + () noexcept final + + + toml::value< time > * + as_time + classtoml_1_1table.html + a980f61149308e193282b8f5bfaeda284 + () noexcept final + + + toml::value< date_time > * + as_date_time + classtoml_1_1table.html + a6a33617f7d6d95ef676ce0cb098d2970 + () noexcept final + + + const table * + as_table + classtoml_1_1table.html + a84fc8b87acc1f9f86384d375893f5d3c + () const noexcept final + + + const array * + as_array + classtoml_1_1table.html + af2dda58dc42b782b0c36a2367d948957 + () const noexcept final + + + const toml::value< std::string > * + as_string + classtoml_1_1table.html + aa8ab32e1b60f5b3b0bf9539076c89acc + () const noexcept final + + + const toml::value< int64_t > * + as_integer + classtoml_1_1table.html + a98c296e8a635190bab97e886c83f2648 + () const noexcept final + + + const toml::value< double > * + as_floating_point + classtoml_1_1table.html + aaf302e3edd84df4c31765ffb15aed0f2 + () const noexcept final + + + const toml::value< bool > * + as_boolean + classtoml_1_1table.html + abc2f126a04989073083065662df9e72b + () const noexcept final + + + const toml::value< date > * + as_date + classtoml_1_1table.html + a5759fb6852495964827f9982e9c8ce12 + () const noexcept final + + + const toml::value< time > * + as_time + classtoml_1_1table.html + a19e3aa65fd09b2f36d98627c432638b1 + () const noexcept final + + + const toml::value< date_time > * + as_date_time + classtoml_1_1table.html + a2fd53fcb036c335021e3ad098cf4d883 + () const noexcept final + + + bool + is_inline + classtoml_1_1table.html + a53be1b93aa90608ed378323df835a2f3 + () const noexcept + + + void + is_inline + classtoml_1_1table.html + a8e797a683ff2bacd14d7e7461ecd2780 + (bool val) noexcept + + + node * + get + classtoml_1_1table.html + ae6811ea7c692ac71880693e225c66aed + (std::string_view key) noexcept + + + const node * + get + classtoml_1_1table.html + a43afae4f760f715c69b0b8aa0a7ef071 + (std::string_view key) const noexcept + + + node * + get + classtoml_1_1table.html + a637ff9b8eb2880a1084f01b7b0725b12 + (std::wstring_view key) + + + const node * + get + classtoml_1_1table.html + add0f0c51c63d385f881022cab988744c + (std::wstring_view key) const + + + impl::wrap_node< T > * + get_as + classtoml_1_1table.html + afb960c9b2ea8066f917d22d348758513 + (std::string_view key) noexcept + + + const impl::wrap_node< T > * + get_as + classtoml_1_1table.html + aa21b91ee2ed48b24bf684b762f01c684 + (std::string_view key) const noexcept + + + impl::wrap_node< T > * + get_as + classtoml_1_1table.html + a32bfcd190cb9a8e06f381097a23d0b66 + (std::wstring_view key) + + + const impl::wrap_node< T > * + get_as + classtoml_1_1table.html + a0099ccf5df2f15ca17309c1897cb5e61 + (std::wstring_view key) const + + + node & + at + classtoml_1_1table.html + ae1e3925fca9b027958934a5c015c6c98 + (std::string_view key) + + + const node & + at + classtoml_1_1table.html + acadf9153fcdc5019add35426044f369e + (std::string_view key) const + + + node & + at + classtoml_1_1table.html + aef4d6369cf64a56322b96f1a15f761c6 + (std::wstring_view key) + + + const node & + at + classtoml_1_1table.html + ae8429bf4d0d3dd15b82344b575ec2a15 + (std::wstring_view key) const + + + bool + empty + classtoml_1_1table.html + a554f495f6f2ebc993be1bd0379447051 + () const noexcept + + + size_t + size + classtoml_1_1table.html + ad7c4105854cc817bf6e781fa7fb1b6d6 + () const noexcept + + + iterator + lower_bound + classtoml_1_1table.html + acc5180d0f3b1a78f45962f246a5d9605 + (std::string_view key) noexcept + + + const_iterator + lower_bound + classtoml_1_1table.html + a3b678ac60d00790308b96f5e51da4274 + (std::string_view key) const noexcept + + + iterator + lower_bound + classtoml_1_1table.html + aaaffca1b5d53d7b72d2f29c14f06d75e + (std::wstring_view key) + + + const_iterator + lower_bound + classtoml_1_1table.html + a2799383d484028ef5f466f8d1d34f315 + (std::wstring_view key) const + + + iterator + find + classtoml_1_1table.html + a087ecb9d9fd4562d79f83341f0c643c0 + (std::string_view key) noexcept + + + const_iterator + find + classtoml_1_1table.html + a65a894481bab5dd2bd00690931ed2692 + (std::string_view key) const noexcept + + + bool + contains + classtoml_1_1table.html + aacf6efa6e7865211f7a1283f79a88ee0 + (std::string_view key) const noexcept + + + iterator + find + classtoml_1_1table.html + ab1f12a827212d23ee0895fda92a5113c + (std::wstring_view key) + + + const_iterator + find + classtoml_1_1table.html + a25f8f4a8c4672042d75b810856bd676f + (std::wstring_view key) const + + + bool + contains + classtoml_1_1table.html + a7bec8d45353adeac918668a9fc5cb6a2 + (std::wstring_view key) const + + + iterator + erase + classtoml_1_1table.html + a1a90984876ccdd03aaa9e0f9801a839f + (iterator pos) noexcept + + + iterator + erase + classtoml_1_1table.html + a4dafb4ae116d92add973e5f27f880a9d + (const_iterator pos) noexcept + + + iterator + erase + classtoml_1_1table.html + a59f4dd9e42b73c9c1ec43134bef7e113 + (const_iterator begin, const_iterator end) noexcept + + + size_t + erase + classtoml_1_1table.html + ac6064df3f6f23b022884390a9963c1bc + (std::string_view key) noexcept + + + size_t + erase + classtoml_1_1table.html + add732807ee5e8fde81ceaa33acbaa7c6 + (std::wstring_view key) + + + table & + prune + classtoml_1_1table.html + a7f4d1d90dcea74d84f70db7e2d70c78a + (bool recursive=true) &noexcept + + + table && + prune + classtoml_1_1table.html + a14a59eed720b4d01840e290f82bb87b5 + (bool recursive=true) &&noexcept + + + void + clear + classtoml_1_1table.html + aa710f85c588a1b00c3192d1553de4eef + () noexcept + + + iterator + emplace_hint + classtoml_1_1table.html + a0d2378b5d13432bf8e325c388c650189 + (const_iterator hint, KeyType &&key, ValueArgs &&... args) + + + std::pair< iterator, bool > + insert + classtoml_1_1table.html + aed4c994aec5209b69d54d19f306b31bc + (KeyType &&key, ValueType &&val, value_flags flags=preserve_source_value_flags) + + + void + insert + classtoml_1_1table.html + a331eb6de04d95c3f76bf64e6f84d4ad6 + (Iter begin, Iter end, value_flags flags=preserve_source_value_flags) + + + std::pair< iterator, bool > + insert_or_assign + classtoml_1_1table.html + aa160b71ed6bc6fc638b19b5d9a8ef569 + (KeyType &&key, ValueType &&val, value_flags flags=preserve_source_value_flags) + + + std::pair< iterator, bool > + emplace + classtoml_1_1table.html + a485d7763c578d716b4f22abb1db3c975 + (KeyType &&key, ValueArgs &&... args) + + + node_view< node > + operator[] + classtoml_1_1table.html + a6d8386049f630c8551597a2180479c7c + (std::string_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1table.html + a9b13a19ddfcd2f76685f57587d28701c + (std::string_view key) const noexcept + + + node_view< node > + operator[] + classtoml_1_1table.html + a06fd3d9032b031b0363818939cd5cf38 + (std::wstring_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1table.html + a404ae83ed52c7b8ce294d3d4925c8a16 + (std::wstring_view key) const noexcept + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + friend bool + operator== + classtoml_1_1table.html + af8ebaed8105e5de2098992764f2d534a + (const table &lhs, const table &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1table.html + abdeb5d9d9fc23c031c78e544c6196ea6 + (const table &lhs, const table &rhs) noexcept + + + + toml::time + structtoml_1_1time.html + + + time + structtoml_1_1time.html + a460d6626a20b992f38c676bf5ee62a20 + () noexcept=default + + + constexpr + time + structtoml_1_1time.html + acaec3dc6784706c57cc712ab403123e6 + (H h, M m, S s=S{}, NS ns=NS{}) noexcept + + + uint8_t + hour + structtoml_1_1time.html + a18f32a58846d333f9e866b725b7b7ae4 + + + + uint8_t + minute + structtoml_1_1time.html + a02de4fe041dfa9535eb4df60d86f7fb4 + + + + uint8_t + second + structtoml_1_1time.html + a8ae0ab849a761543207ca86a2e1d0fdf + + + + uint32_t + nanosecond + structtoml_1_1time.html + a3e9c60650ccd21f1e47132b777547185 + + + + constexpr friend bool + operator== + structtoml_1_1time.html + aa88d156f8ea405513e00702b3c88de2f + (const time &lhs, const time &rhs) noexcept + + + constexpr friend bool + operator!= + structtoml_1_1time.html + a76766a077e105960758caa4a9cbfd25b + (const time &lhs, const time &rhs) noexcept + + + constexpr friend bool + operator< + structtoml_1_1time.html + a220d5428532dc59f1846f29159430be8 + (const time &lhs, const time &rhs) noexcept + + + constexpr friend bool + operator<= + structtoml_1_1time.html + a459d4906732bd6c6129de62f1c601a60 + (const time &lhs, const time &rhs) noexcept + + + constexpr friend bool + operator> + structtoml_1_1time.html + a8564e5d443652ec48b50acedee1ab64c + (const time &lhs, const time &rhs) noexcept + + + constexpr friend bool + operator>= + structtoml_1_1time.html + ae551c63caf265a78d5a73c797ee538f5 + (const time &lhs, const time &rhs) noexcept + + + friend std::ostream & + operator<< + structtoml_1_1time.html + aad81b91942de3b3f2d54656c8a686ee7 + (std::ostream &lhs, const time &rhs) + + + + toml::time_offset + structtoml_1_1time__offset.html + + + time_offset + structtoml_1_1time__offset.html + a49af2cb136f213443f15e108657f5f0e + () noexcept=default + + + constexpr + time_offset + structtoml_1_1time__offset.html + a9e963488f164473ee9af35ddf7d4f93e + (H h, M m) noexcept + + + int16_t + minutes + structtoml_1_1time__offset.html + a2f4cd0259300e318defc0c5efde592dd + + + + constexpr friend bool + operator== + structtoml_1_1time__offset.html + ad9423ee067d0a4c0ba39deb2679a07f6 + (time_offset lhs, time_offset rhs) noexcept + + + constexpr friend bool + operator!= + structtoml_1_1time__offset.html + a77e5bb056ffcd6a91b1740333f23b806 + (time_offset lhs, time_offset rhs) noexcept + + + constexpr friend bool + operator< + structtoml_1_1time__offset.html + afe1582662b6922546524d14c1588cf9d + (time_offset lhs, time_offset rhs) noexcept + + + constexpr friend bool + operator<= + structtoml_1_1time__offset.html + a4a0886d9ad65963a4e812576ba0c6928 + (time_offset lhs, time_offset rhs) noexcept + + + constexpr friend bool + operator> + structtoml_1_1time__offset.html + aa5270a5c11af2a9344d2c20911643429 + (time_offset lhs, time_offset rhs) noexcept + + + constexpr friend bool + operator>= + structtoml_1_1time__offset.html + a0146123daf63c677b2559aaf9bda1338 + (time_offset lhs, time_offset rhs) noexcept + + + friend std::ostream & + operator<< + structtoml_1_1time__offset.html + ac87df01b4e60bd303d75712470517451 + (std::ostream &lhs, const time_offset &rhs) + + + + toml::toml_formatter + classtoml_1_1toml__formatter.html + + + toml_formatter + classtoml_1_1toml__formatter.html + a8110aaa1057d7633428f6795ac14983a + (const toml::node &source, format_flags flags=default_flags) noexcept + + + + toml_formatter + classtoml_1_1toml__formatter.html + a3af0ca99139edbd30845a5cd7d2c0137 + (const toml::parse_result &result, format_flags flags=default_flags) noexcept + + + static constexpr format_flags + default_flags + classtoml_1_1toml__formatter.html + a0aa00006896f1b23e8bb2ec1a6842845 + + + + friend std::ostream & + operator<< + classtoml_1_1toml__formatter.html + a50815f484095776407f34b1694bbf73e + (std::ostream &lhs, toml_formatter &rhs) + + + friend std::ostream & + operator<< + classtoml_1_1toml__formatter.html + af02b5eabe1e84be843255c7cf02e8dda + (std::ostream &lhs, toml_formatter &&rhs) + + + + toml::value + classtoml_1_1value.html + + toml::node + + ValueType + value_type + classtoml_1_1value.html + ad87b8c7ec465c424b861aba2d4cd5526 + + + + POXY_IMPLEMENTATION_DETAIL_IMPL + value_arg + classtoml_1_1value.html + ac1316850f0671bab2505d126570e3660 + + + + + value + classtoml_1_1value.html + addb06e973867c52b1ea77efae1c6ad10 + (Args &&... args) noexcept(noexcept(value_type(impl::native_value_maker< value_type, std::decay_t< Args >... >::make(static_cast< Args && >(args)...)))) + + + + value + classtoml_1_1value.html + a62ace5d37c6cf09fdc589efa5e0a0905 + (const value &other) noexcept + + + + value + classtoml_1_1value.html + a65e6e8fa27455d83ad3ada020e11cf91 + (const value &other, value_flags flags) noexcept + + + + value + classtoml_1_1value.html + adfb0250a9769fea9d585609db77bc64a + (value &&other) noexcept + + + + value + classtoml_1_1value.html + a5f6f5a83b2dc3f5842f7fd5fbc0e4f59 + (value &&other, value_flags flags) noexcept + + + value & + operator= + classtoml_1_1value.html + a339731a8213b5e0993b5547067fde1f7 + (const value &rhs) noexcept + + + value & + operator= + classtoml_1_1value.html + a958da7aae3ff90094e348ebceaa4aa5d + (value &&rhs) noexcept + + + value & + operator= + classtoml_1_1value.html + a08950deffd1a5568154d58d27517c973 + (value_arg rhs) noexcept + + + node_type + type + classtoml_1_1value.html + a69ed0d45e2de5929fea3375cd68960eb + () const noexcept final + + + bool + is_homogeneous + classtoml_1_1value.html + a66f31db0fe4aa1a65fff1ce3bb8be1eb + (node_type ntype) const noexcept final + + + bool + is_homogeneous + classtoml_1_1value.html + a5097925569d4e2f581907dc692aefe02 + (node_type ntype, node *&first_nonmatch) noexcept final + + + bool + is_homogeneous + classtoml_1_1value.html + a40d4ea2ff0d393245fc31dfc6a0f27fb + (node_type ntype, const node *&first_nonmatch) const noexcept final + + + bool + is_table + classtoml_1_1value.html + a4169ed284f3a6d31e838f117dc2f3df0 + () const noexcept final + + + bool + is_array + classtoml_1_1value.html + a160b4dd33afd4d8c02b1a4c7bc48f17f + () const noexcept final + + + bool + is_array_of_tables + classtoml_1_1value.html + a6676776ebf94891825c658432252cab0 + () const noexcept final + + + bool + is_value + classtoml_1_1value.html + a5d1d988a74ab5c6e6cae9706891083f3 + () const noexcept final + + + bool + is_string + classtoml_1_1value.html + a98d477b7ee151d7fc68c49ea7c52a314 + () const noexcept final + + + bool + is_integer + classtoml_1_1value.html + ad5b1844c180a0fb2de06ed4cdbb259a4 + () const noexcept final + + + bool + is_floating_point + classtoml_1_1value.html + aa5b3aac577c60b24f31550f8b7add69f + () const noexcept final + + + bool + is_number + classtoml_1_1value.html + ad40ad64d9a8f0256e550a9226dbed121 + () const noexcept final + + + bool + is_boolean + classtoml_1_1value.html + a6816cd2fbae35e21990d3d5616da595a + () const noexcept final + + + bool + is_date + classtoml_1_1value.html + a47ebc97c4b51999c81eb053d453ac916 + () const noexcept final + + + bool + is_time + classtoml_1_1value.html + a9a1a2e0a15181c6677d14a2812e34878 + () const noexcept final + + + bool + is_date_time + classtoml_1_1value.html + a1e8fb6a37f65fff99a631ade34ab6db4 + () const noexcept final + + + table * + as_table + classtoml_1_1value.html + a684976e4e2ea671e7bd21c39a4f73575 + () noexcept final + + + array * + as_array + classtoml_1_1value.html + a5e2f5338ace567ec7bc755885b793c01 + () noexcept final + + + value< std::string > * + as_string + classtoml_1_1value.html + a9a7177395eb559e2ed2c117832dace2a + () noexcept final + + + value< int64_t > * + as_integer + classtoml_1_1value.html + a170f66cced91fc2886c22df7d45f8f73 + () noexcept final + + + value< double > * + as_floating_point + classtoml_1_1value.html + ab95947fa235b163c138d925425035059 + () noexcept final + + + value< bool > * + as_boolean + classtoml_1_1value.html + ab06706bf668f496a6d24d6891b34b464 + () noexcept final + + + value< date > * + as_date + classtoml_1_1value.html + afd03f397e42e97c8c3e045c4b19b609e + () noexcept final + + + value< time > * + as_time + classtoml_1_1value.html + a4314057128266b74095454cca743a27d + () noexcept final + + + value< date_time > * + as_date_time + classtoml_1_1value.html + a49cf272fa0f71b73938df7ddffcc8b1c + () noexcept final + + + const table * + as_table + classtoml_1_1value.html + a8b5c3b02c365287e9b563dbe11c7172c + () const noexcept final + + + const array * + as_array + classtoml_1_1value.html + a5d7017fd9eec74756496960956a92d6a + () const noexcept final + + + const value< std::string > * + as_string + classtoml_1_1value.html + a316fa5b1b2764447c8d51c38071f79c1 + () const noexcept final + + + const value< int64_t > * + as_integer + classtoml_1_1value.html + aac0acf026dfb903349ce49321153f55d + () const noexcept final + + + const value< double > * + as_floating_point + classtoml_1_1value.html + af2a3d05b2ef1ff57291d3d4c660b86d6 + () const noexcept final + + + const value< bool > * + as_boolean + classtoml_1_1value.html + a3a81671d39b75363ba7c2b3fd6b7644a + () const noexcept final + + + const value< date > * + as_date + classtoml_1_1value.html + a40247e128f2ffdb5386ee41b2a84b52d + () const noexcept final + + + const value< time > * + as_time + classtoml_1_1value.html + a725874485bb19ade041deb8869bff6d5 + () const noexcept final + + + const value< date_time > * + as_date_time + classtoml_1_1value.html + ad297cd1ba10960e125e5a0c75ea51ff4 + () const noexcept final + + + value_type & + get + classtoml_1_1value.html + af607a8347e5918b35fcfb11e8f7d4398 + () &noexcept + + + value_type && + get + classtoml_1_1value.html + a0b4ea781b83a3c164df24129d0e73341 + () &&noexcept + + + const value_type & + get + classtoml_1_1value.html + a3a0ec9ea9604d68ba9a9a4692868f8d8 + () const &noexcept + + + const value_type && + get + classtoml_1_1value.html + ae3bb95e7af4622ded16328b827a6089d + () const &&noexcept + + + value_type & + operator* + classtoml_1_1value.html + a054c1fb796a4e560d4afb27019bb1aef + () &noexcept + + + value_type && + operator* + classtoml_1_1value.html + a64ad94a1086eedde1a94f12f020498d2 + () &&noexcept + + + const value_type & + operator* + classtoml_1_1value.html + a15e56286d17f11a4d567eaddb36368f8 + () const &noexcept + + + const value_type && + operator* + classtoml_1_1value.html + a752f50ec7dac91b579e48db6a15f388e + () const &&noexcept + + + + operator value_type & + classtoml_1_1value.html + adaf04b51fea2bdc3da39fbf63c240b3b + () &noexcept + + + + operator value_type && + classtoml_1_1value.html + ad5d4a1c818d7004bc4c42219edf84dd9 + () &&noexcept + + + + operator const value_type & + classtoml_1_1value.html + aeaa7f385c753bc7f11f0758d8ae325b6 + () const &noexcept + + + + operator const value_type && + classtoml_1_1value.html + aef9bb783e7c8ba475838742b7cfc3178 + () &&noexcept + + + value_type * + operator-> + classtoml_1_1value.html + a79983137e697848cb82a95b265b03d4d + () noexcept + + + const value_type * + operator-> + classtoml_1_1value.html + a23ab1c59bf4ec4bc19b6fa3fcf399171 + () const noexcept + + + value_flags + flags + classtoml_1_1value.html + a1a213908a7297491a07e647967897fcb + () const noexcept + + + value & + flags + classtoml_1_1value.html + a4311828058d75bfaa2c01c3395d09385 + (value_flags new_flags) noexcept + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + friend std::ostream & + operator<< + classtoml_1_1value.html + ae160ab8204a4ed57dac2ad6c5aebb683 + (std::ostream &lhs, const value &rhs) + + + friend bool + operator== + classtoml_1_1value.html + a0b90e4f85ecaf2c81e4ba8b42aa5ce34 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a1771aa33bd2d425b542d0b9d0e90866d + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a6bbe09942bd6046fa94addb911940491 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + a7d02565c608c663afc8f3d2102639740 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + a2f37f69d3e477c0c2e2ba16f6919815e + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + ace8c00e345c69ee93e5d2bd2df694340 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + af200f2be4273ed0923743f4b918f86e6 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a80417b5055072f20d3a6985d1b78af21 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a727e2acd21edf04a144918d174706ba6 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator== + classtoml_1_1value.html + a2fa446100047d052d0cca2c1f3f60085 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1value.html + a872e565adfbcd201f2ab1e3103699758 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a7fdc4f87f9ec3efb896cc3e09694328b + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + ac6af15f59d537d95d1afe887b12b697e + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + ab95d07a7f48e44baefbacbf5f6072837 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a0ebdea821d98546de4b686f450506637 + (const value &lhs, const value< T > &rhs) noexcept + + + node_type + type + classtoml_1_1value.html + a69ed0d45e2de5929fea3375cd68960eb + () const noexcept final + + + bool + is_homogeneous + classtoml_1_1value.html + a66f31db0fe4aa1a65fff1ce3bb8be1eb + (node_type ntype) const noexcept final + + + bool + is_homogeneous + classtoml_1_1value.html + a5097925569d4e2f581907dc692aefe02 + (node_type ntype, node *&first_nonmatch) noexcept final + + + bool + is_homogeneous + classtoml_1_1value.html + a40d4ea2ff0d393245fc31dfc6a0f27fb + (node_type ntype, const node *&first_nonmatch) const noexcept final + + + bool + is_table + classtoml_1_1value.html + a4169ed284f3a6d31e838f117dc2f3df0 + () const noexcept final + + + bool + is_array + classtoml_1_1value.html + a160b4dd33afd4d8c02b1a4c7bc48f17f + () const noexcept final + + + bool + is_array_of_tables + classtoml_1_1value.html + a6676776ebf94891825c658432252cab0 + () const noexcept final + + + bool + is_value + classtoml_1_1value.html + a5d1d988a74ab5c6e6cae9706891083f3 + () const noexcept final + + + bool + is_string + classtoml_1_1value.html + a98d477b7ee151d7fc68c49ea7c52a314 + () const noexcept final + + + bool + is_integer + classtoml_1_1value.html + ad5b1844c180a0fb2de06ed4cdbb259a4 + () const noexcept final + + + bool + is_floating_point + classtoml_1_1value.html + aa5b3aac577c60b24f31550f8b7add69f + () const noexcept final + + + bool + is_number + classtoml_1_1value.html + ad40ad64d9a8f0256e550a9226dbed121 + () const noexcept final + + + bool + is_boolean + classtoml_1_1value.html + a6816cd2fbae35e21990d3d5616da595a + () const noexcept final + + + bool + is_date + classtoml_1_1value.html + a47ebc97c4b51999c81eb053d453ac916 + () const noexcept final + + + bool + is_time + classtoml_1_1value.html + a9a1a2e0a15181c6677d14a2812e34878 + () const noexcept final + + + bool + is_date_time + classtoml_1_1value.html + a1e8fb6a37f65fff99a631ade34ab6db4 + () const noexcept final + + + table * + as_table + classtoml_1_1value.html + a684976e4e2ea671e7bd21c39a4f73575 + () noexcept final + + + array * + as_array + classtoml_1_1value.html + a5e2f5338ace567ec7bc755885b793c01 + () noexcept final + + + value< std::string > * + as_string + classtoml_1_1value.html + a9a7177395eb559e2ed2c117832dace2a + () noexcept final + + + value< int64_t > * + as_integer + classtoml_1_1value.html + a170f66cced91fc2886c22df7d45f8f73 + () noexcept final + + + value< double > * + as_floating_point + classtoml_1_1value.html + ab95947fa235b163c138d925425035059 + () noexcept final + + + value< bool > * + as_boolean + classtoml_1_1value.html + ab06706bf668f496a6d24d6891b34b464 + () noexcept final + + + value< date > * + as_date + classtoml_1_1value.html + afd03f397e42e97c8c3e045c4b19b609e + () noexcept final + + + value< time > * + as_time + classtoml_1_1value.html + a4314057128266b74095454cca743a27d + () noexcept final + + + value< date_time > * + as_date_time + classtoml_1_1value.html + a49cf272fa0f71b73938df7ddffcc8b1c + () noexcept final + + + const table * + as_table + classtoml_1_1value.html + a8b5c3b02c365287e9b563dbe11c7172c + () const noexcept final + + + const array * + as_array + classtoml_1_1value.html + a5d7017fd9eec74756496960956a92d6a + () const noexcept final + + + const value< std::string > * + as_string + classtoml_1_1value.html + a316fa5b1b2764447c8d51c38071f79c1 + () const noexcept final + + + const value< int64_t > * + as_integer + classtoml_1_1value.html + aac0acf026dfb903349ce49321153f55d + () const noexcept final + + + const value< double > * + as_floating_point + classtoml_1_1value.html + af2a3d05b2ef1ff57291d3d4c660b86d6 + () const noexcept final + + + const value< bool > * + as_boolean + classtoml_1_1value.html + a3a81671d39b75363ba7c2b3fd6b7644a + () const noexcept final + + + const value< date > * + as_date + classtoml_1_1value.html + a40247e128f2ffdb5386ee41b2a84b52d + () const noexcept final + + + const value< time > * + as_time + classtoml_1_1value.html + a725874485bb19ade041deb8869bff6d5 + () const noexcept final + + + const value< date_time > * + as_date_time + classtoml_1_1value.html + ad297cd1ba10960e125e5a0c75ea51ff4 + () const noexcept final + + + value_type & + get + classtoml_1_1value.html + af607a8347e5918b35fcfb11e8f7d4398 + () &noexcept + + + value_type && + get + classtoml_1_1value.html + a0b4ea781b83a3c164df24129d0e73341 + () &&noexcept + + + const value_type & + get + classtoml_1_1value.html + a3a0ec9ea9604d68ba9a9a4692868f8d8 + () const &noexcept + + + const value_type && + get + classtoml_1_1value.html + ae3bb95e7af4622ded16328b827a6089d + () const &&noexcept + + + value_type & + operator* + classtoml_1_1value.html + a054c1fb796a4e560d4afb27019bb1aef + () &noexcept + + + value_type && + operator* + classtoml_1_1value.html + a64ad94a1086eedde1a94f12f020498d2 + () &&noexcept + + + const value_type & + operator* + classtoml_1_1value.html + a15e56286d17f11a4d567eaddb36368f8 + () const &noexcept + + + const value_type && + operator* + classtoml_1_1value.html + a752f50ec7dac91b579e48db6a15f388e + () const &&noexcept + + + + operator value_type & + classtoml_1_1value.html + adaf04b51fea2bdc3da39fbf63c240b3b + () &noexcept + + + + operator value_type && + classtoml_1_1value.html + ad5d4a1c818d7004bc4c42219edf84dd9 + () &&noexcept + + + + operator const value_type & + classtoml_1_1value.html + aeaa7f385c753bc7f11f0758d8ae325b6 + () const &noexcept + + + + operator const value_type && + classtoml_1_1value.html + aef9bb783e7c8ba475838742b7cfc3178 + () &&noexcept + + + value_type * + operator-> + classtoml_1_1value.html + a79983137e697848cb82a95b265b03d4d + () noexcept + + + const value_type * + operator-> + classtoml_1_1value.html + a23ab1c59bf4ec4bc19b6fa3fcf399171 + () const noexcept + + + value_flags + flags + classtoml_1_1value.html + a1a213908a7297491a07e647967897fcb + () const noexcept + + + value & + flags + classtoml_1_1value.html + a4311828058d75bfaa2c01c3395d09385 + (value_flags new_flags) noexcept + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + friend bool + operator== + classtoml_1_1value.html + a0b90e4f85ecaf2c81e4ba8b42aa5ce34 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a1771aa33bd2d425b542d0b9d0e90866d + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a6bbe09942bd6046fa94addb911940491 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + a7d02565c608c663afc8f3d2102639740 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + a2f37f69d3e477c0c2e2ba16f6919815e + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + ace8c00e345c69ee93e5d2bd2df694340 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + af200f2be4273ed0923743f4b918f86e6 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a80417b5055072f20d3a6985d1b78af21 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a727e2acd21edf04a144918d174706ba6 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator== + classtoml_1_1value.html + a2fa446100047d052d0cca2c1f3f60085 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1value.html + a872e565adfbcd201f2ab1e3103699758 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a7fdc4f87f9ec3efb896cc3e09694328b + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + ac6af15f59d537d95d1afe887b12b697e + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + ab95d07a7f48e44baefbacbf5f6072837 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a0ebdea821d98546de4b686f450506637 + (const value &lhs, const value< T > &rhs) noexcept + + + + toml::yaml_formatter + classtoml_1_1yaml__formatter.html + + + yaml_formatter + classtoml_1_1yaml__formatter.html + a0089cdd517d9f6641ed10c8ddb5b1c11 + (const toml::node &source, format_flags flags=default_flags) noexcept + + + + yaml_formatter + classtoml_1_1yaml__formatter.html + a2eb50c4983f7ec26a417befeface23bf + (const toml::parse_result &result, format_flags flags=default_flags) noexcept + + + static constexpr format_flags + default_flags + classtoml_1_1yaml__formatter.html + af161f0a6c794945e85b210ee85cb78e9 + + + + friend std::ostream & + operator<< + classtoml_1_1yaml__formatter.html + a10b0c89256eb2ab4ea2b4e23f8ad8eff + (std::ostream &lhs, yaml_formatter &rhs) + + + friend std::ostream & + operator<< + classtoml_1_1yaml__formatter.html + a50d463617bccb66a9cdf01390321bd47 + (std::ostream &lhs, yaml_formatter &&rhs) + + + + toml + namespacetoml.html + toml::literals + toml::array + toml::date + toml::time + toml::time_offset + toml::date_time + toml::inserter + toml::json_formatter + toml::key + toml::node + toml::node_view + toml::parse_error + toml::parse_result + toml::source_position + toml::source_region + toml::table + toml::toml_formatter + toml::value + toml::yaml_formatter + + POXY_IMPLEMENTATION_DETAIL_IMPL + array_iterator + namespacetoml.html + ac7e383cde1b8d61dba45292b2b0fcb69 + + + + POXY_IMPLEMENTATION_DETAIL_IMPL + const_array_iterator + namespacetoml.html + aeba9fe3a193c8b641a1fb3a2096d7c13 + + + + toml_formatter + default_formatter + namespacetoml.html + a2b87b5d257f54773683328031f453e76 + + + + POXY_IMPLEMENTATION_DETAIL_IMPL + inserted_type_of + namespacetoml.html + aef1f0bbcdd3686e268f4b81d9da701be + + + + uint32_t + source_index + namespacetoml.html + afb852fa22a8b3ea9d200d645b9d5c308 + + + + std::shared_ptr< const std::string > + source_path_ptr + namespacetoml.html + ac6cf446b480546ae1f71f5b86442368d + + + + std::optional< T > + optional + namespacetoml.html + af34a9fb3305e419784104609e6bbb7ac + + + + POXY_IMPLEMENTATION_DETAIL_IMPL + table_iterator + namespacetoml.html + a19243ec6febf1bb834ea9e366405e317 + + + + POXY_IMPLEMENTATION_DETAIL_IMPL + const_table_iterator + namespacetoml.html + a4bccd753f54404e0097457514177fcbb + + + + + node_type + namespacetoml.html + abac3e84bbf1f2c90717fca107055f48d + + none + table + array + string + integer + floating_point + boolean + date + time + date_time + + + + value_flags + namespacetoml.html + a73eba6a34e7c7c4a4d311100800e1bb5 + + none + format_as_binary + format_as_octal + format_as_hexadecimal + + + + format_flags + namespacetoml.html + a2102aa80bc57783d96180f36e1f64f6a + + none + quote_dates_and_times + quote_infinities_and_nans + allow_literal_strings + allow_multi_line_strings + allow_real_tabs_in_strings + allow_unicode_strings + allow_binary_integers + allow_octal_integers + allow_hexadecimal_integers + indent_sub_tables + indent_array_elements + indentation + relaxed_float_precision + + + node_view< node > + at_path + namespacetoml.html + a034ab5f50d46f89dcaf871a788d56be9 + (node &root, std::string_view path) noexcept + + + node_view< const node > + at_path + namespacetoml.html + acecea9874ff621405e1c3f38433ba56d + (const node &root, std::string_view path) noexcept + + + node_view< node > + at_path + namespacetoml.html + a6355193bb51dc19b1f1509c6dac46b23 + (node &root, std::wstring_view path) + + + node_view< const node > + at_path + namespacetoml.html + aef2c5186913edbd8daf4a3d525fa5333 + (const node &root, std::wstring_view path) + + + std::basic_ostream< Char > & + operator<< + namespacetoml.html + aba6195d5e83ab18f30c9a211384e2c1a + (std::basic_ostream< Char > &lhs, node_type rhs) + + + parse_result + parse + namespacetoml.html + ada8654fb4ceef15c20fc1d5e0cc734dd + (std::string_view doc, std::string_view source_path={}) + + + parse_result + parse + namespacetoml.html + a20fa3e08d72759083fb17c772a357043 + (std::string_view doc, std::string &&source_path) + + + parse_result + parse_file + namespacetoml.html + a8dbc58dad43c3b66f4476a7131f5741a + (std::string_view file_path) + + + parse_result + parse + namespacetoml.html + ae9ee4300ddfbd72b7237283ab8d97618 + (std::u8string_view doc, std::string_view source_path={}) + + + parse_result + parse + namespacetoml.html + a02a2724564149ad8439c0457357308b8 + (std::u8string_view doc, std::string &&source_path) + + + parse_result + parse_file + namespacetoml.html + acdbabd4b771d221fe98b0053d848d69d + (std::u8string_view file_path) + + + parse_result + parse + namespacetoml.html + a01565f26a7982d162949bac3b554a334 + (std::string_view doc, std::wstring_view source_path) + + + parse_result + parse + namespacetoml.html + ac7767943620762c22b6341dc6682cc2d + (std::istream &doc, std::wstring_view source_path) + + + parse_result + parse_file + namespacetoml.html + ad425af491341206589ca6acc37c3b19e + (std::wstring_view file_path) + + + parse_result + parse + namespacetoml.html + a38852451309f406db281f17334ea8dfe + (std::u8string_view doc, std::wstring_view source_path) + + + parse_result + parse + namespacetoml.html + a2ee84ffccded737ab40afcb8122d8277 + (std::istream &doc, std::string_view source_path={}) + + + parse_result + parse + namespacetoml.html + a8079e71bd86722701ca91828c6709305 + (std::istream &doc, std::string &&source_path) + + + constexpr value_flags + preserve_source_value_flags + namespacetoml.html + a32f700b152e15c357801e905d626a4fb + + + + constexpr bool + is_table + namespacetoml.html + ad11c8c8a8286d6931e40658679aa7ddb + + + + constexpr bool + is_array + namespacetoml.html + a2251b703f3ec4d1a3036c82ead3d69cc + + + + constexpr bool + is_container + namespacetoml.html + ad6c6e1677e1cc564d40efa89af2514a2 + + + + constexpr bool + is_string + namespacetoml.html + aea14621807afe92a840d82c7139cde07 + + + + constexpr bool + is_integer + namespacetoml.html + a513bdc4a19071f0be70e92bb6cb1a1a3 + + + + constexpr bool + is_floating_point + namespacetoml.html + a1aaaa0e264cdd4f43518571f2f61ac36 + + + + constexpr bool + is_number + namespacetoml.html + a64ce7ed6974d2b17823565bc67c40873 + + + + constexpr bool + is_boolean + namespacetoml.html + a8e79820651cc9a835082cf9abd47d885 + + + + constexpr bool + is_date + namespacetoml.html + a3c5daa4563e3aff2b5e6460aa97d28df + + + + constexpr bool + is_time + namespacetoml.html + a87aee32768a32bb838150421e4e3cf97 + + + + constexpr bool + is_date_time + namespacetoml.html + a3285caf012789a607851026f9827a33d + + + + constexpr bool + is_chronological + namespacetoml.html + a7f8764060ca7dccb7e829f67d82c0485 + + + + constexpr bool + is_value + namespacetoml.html + a0d9cd265e448130b95305ccd68d2f508 + + + + constexpr bool + is_node + namespacetoml.html + a4e4126f63ba560963de095cd9bee0704 + + + + constexpr bool + is_node_view + namespacetoml.html + ab5b06dac8c1e0de9e06411917e10b618 + + + + constexpr bool + is_key + namespacetoml.html + a7b8ef907d9629d139a30d874b345b195 + + + + constexpr bool + is_key_or_convertible + namespacetoml.html + a052fafde71907ef3a8590ef7ec2455d8 + + + + + toml::literals + namespacetoml_1_1literals.html + + parse_result + operator""_toml + namespacetoml_1_1literals.html + a401530e560c2dc540729af01e10b2a74 + (const char *str, size_t len) + + + parse_result + operator""_toml + namespacetoml_1_1literals.html + abb2307d66538d0d43dd074040f83224c + (const char8_t *str, size_t len) + + + + configuration + Library Configuration + group__configuration.html + + #define + TOML_HEADER_ONLY + group__configuration.html + ga8219bfd7e75587516385b6022b28abc2 + + + + #define + TOML_HEADER_ONLY + group__configuration.html + ga8219bfd7e75587516385b6022b28abc2 + + + + #define + TOML_API + group__configuration.html + gad443ebc67d9e196f296f2038b2ad5e46 + + + + #define + TOML_ASSERT + group__configuration.html + ga8c407a8f6fe52a795db35be3f00393f8 + (expr) + + + #define + TOML_CONFIG_HEADER + group__configuration.html + ga09204feb4a3ff5534623c2bd052dcec0 + + + + #define + TOML_EXCEPTIONS + group__configuration.html + ga93097ecd88ca4bca393f60a78bda643b + + + + #define + TOML_IMPLEMENTATION + group__configuration.html + ga27ee69835a1ddff9dbaf3015b4b08a11 + + + + #define + TOML_OPTIONAL_TYPE + group__configuration.html + ga9c2c03f867eb6d76a5f65b06eeb1186e + + + + #define + TOML_ENABLE_PARSER + group__configuration.html + ga121912d75d4624de6ab6854e41d8a852 + + + + #define + TOML_ENABLE_FORMATTERS + group__configuration.html + ga9fc77582d9de77f59d2ddc9ae1f748ca + + + + #define + TOML_SMALL_FLOAT_TYPE + group__configuration.html + ga11a3368da40938a6b5cfd898320706f7 + + + + #define + TOML_SMALL_INT_TYPE + group__configuration.html + ga0722fa2c57da6360c7f2ba08c60e1a81 + + + + #define + TOML_ENABLE_UNRELEASED_FEATURES + group__configuration.html + ga1110ff7d189a7738b9109d120f568b6b + + + + #define + TOML_ENABLE_WINDOWS_COMPAT + group__configuration.html + ga94867db67c98e0e9d4fbb70690951fbf + + + + + index + toml++ + index.html + mainpage-features + mainpage-api-documentation + mainpage-example + mainpage-example-parsing-files + mainpage-example-parsing-strings + mainpage-example-parsing-without-exceptions + mainpage-example-custom-error-formatting + mainpage-example-manipulations + mainpage-example-serialization + mainpage-example-speed-up-compilation + mainpage-adding-lib + mainpage-adding-lib-old-school + mainpage-adding-lib-conan + mainpage-adding-lib-dds + mainpage-adding-lib-meson + mainpage-adding-lib-vcpkg + mainpage-adding-lib-cmake-fetch-content + mainpage-adding-lib-other + mainpage-adding-lib-python + mainpage-configuration + mainpage-contributing + mainpage-license + mainpage-contact + + diff --git a/v3.0.1/annotated.html b/v3.0.1/annotated.html new file mode 100644 index 00000000..20fe7986 --- /dev/null +++ b/v3.0.1/annotated.html @@ -0,0 +1,160 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Classes

                                                                                                                              +
                                                                                                                                +
                                                                                                                              • + namespace toml The root namespace for all toml++ functions and types. +
                                                                                                                                  +
                                                                                                                                • class array A TOML array.
                                                                                                                                • +
                                                                                                                                • struct date A local date.
                                                                                                                                • +
                                                                                                                                • struct date_time A date-time.
                                                                                                                                • +
                                                                                                                                • struct inserter Helper class for suppressing move-construction in single-argument array constructors.
                                                                                                                                • +
                                                                                                                                • class json_formatter A wrapper for printing TOML objects out to a stream as formatted JSON.
                                                                                                                                • +
                                                                                                                                • class key A key parsed from a TOML document.
                                                                                                                                • +
                                                                                                                                • class node A TOML node.
                                                                                                                                • +
                                                                                                                                • class node_view A view of a node.
                                                                                                                                • +
                                                                                                                                • class parse_error An error generated when parsing fails.
                                                                                                                                • +
                                                                                                                                • class parse_result The result of a parsing operation.
                                                                                                                                • +
                                                                                                                                • struct source_position A source document line-and-column pair.
                                                                                                                                • +
                                                                                                                                • struct source_region A source document region.
                                                                                                                                • +
                                                                                                                                • class table A TOML table.
                                                                                                                                • +
                                                                                                                                • struct time A local time-of-day.
                                                                                                                                • +
                                                                                                                                • struct time_offset A timezone offset.
                                                                                                                                • +
                                                                                                                                • class toml_formatter A wrapper for printing TOML objects out to a stream as formatted TOML.
                                                                                                                                • +
                                                                                                                                • class value A TOML value.
                                                                                                                                • +
                                                                                                                                • class yaml_formatter A wrapper for printing TOML objects out to a stream as formatted YAML.
                                                                                                                                • +
                                                                                                                                +
                                                                                                                              • +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.1/badge-C++20.svg b/v3.0.1/badge-C++20.svg new file mode 100644 index 00000000..92e9684c --- /dev/null +++ b/v3.0.1/badge-C++20.svg @@ -0,0 +1 @@ + standardC++20 \ No newline at end of file diff --git a/v3.0.1/badge-TOML.svg b/v3.0.1/badge-TOML.svg new file mode 100644 index 00000000..01db3c41 --- /dev/null +++ b/v3.0.1/badge-TOML.svg @@ -0,0 +1 @@ +TOML: v1.0.0TOMLv1.0.0 \ No newline at end of file diff --git a/v3.0.1/badge-awesome.svg b/v3.0.1/badge-awesome.svg new file mode 100644 index 00000000..5d9da969 --- /dev/null +++ b/v3.0.1/badge-awesome.svg @@ -0,0 +1 @@ +Mentioned in an Awesome list diff --git a/v3.0.1/banner_small.png b/v3.0.1/banner_small.png new file mode 100644 index 00000000..c9ee9963 Binary files /dev/null and b/v3.0.1/banner_small.png differ diff --git a/v3.0.1/classtoml_1_1array.html b/v3.0.1/classtoml_1_1array.html new file mode 100644 index 00000000..8a9b6cd1 --- /dev/null +++ b/v3.0.1/classtoml_1_1array.html @@ -0,0 +1,1671 @@ + + + + toml::array class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::array class +

                                                                                                                              +

                                                                                                                              A TOML array.

                                                                                                                              + +

                                                                                                                              The interface of this type is modeled after std::vector, with some additional considerations made for the heterogeneous nature of a TOML array.

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              toml::table tbl = toml::parse(R"( + arr = [1, 2, 3, 4, 'five'] +)"sv); + +// get the element as an array +toml::array& arr = *tbl.get_as<toml::array>("arr"); +std::cout << arr << "\n"; + +// increment each element with visit() +for (auto&& elem : arr) +{ + elem.visit([](auto&& el) noexcept + { + if constexpr (toml::is_number<decltype(el)>) + (*el)++; + else if constexpr (toml::is_string<decltype(el)>) + el = "six"sv; + }); +} +std::cout << arr << "\n"; + +// add and remove elements +arr.push_back(7); +arr.push_back(8.0f); +arr.push_back("nine"sv); +arr.erase(arr.cbegin()); +std::cout << arr << "\n"; + +// emplace elements +arr.emplace_back<std::string>("ten"); +arr.emplace_back<toml::array>(11, 12.0); +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3, 4, 'five' ]
                                                                                                                              +[ 2, 3, 4, 5, 'six' ]
                                                                                                                              +[ 3, 4, 5, 'six', 7, 8.0, 'nine' ]
                                                                                                                              +[ 3, 4, 5, 'six', 7, 8.0, 'nine', 'ten', [ 11, 12.0 ] ]
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Base classes

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + class node +
                                                                                                                              +
                                                                                                                              A TOML node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + array() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Default constructor.
                                                                                                                              +
                                                                                                                              + array(const array&) +
                                                                                                                              +
                                                                                                                              Copy constructor.
                                                                                                                              +
                                                                                                                              + array(array&& other) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType, typename... ElemTypes>
                                                                                                                              + array(ElemType&& val, + ElemTypes && ... vals) explicit +
                                                                                                                              +
                                                                                                                              Constructs an array with one or more initial elements.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator=(const array&) -> array& +
                                                                                                                              +
                                                                                                                              Copy-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(array&& rhs) -> array& noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const array& lhs, + const array& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const array& lhs, + const array& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const array& lhs, + const std::initializer_list<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Initializer list equality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const array& lhs, + const std::vector<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Vector equality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Erasure

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + void clear() noexcept +
                                                                                                                              +
                                                                                                                              Removes all elements from the array.
                                                                                                                              +
                                                                                                                              + auto erase(const_iterator pos) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Removes the specified element from the array.
                                                                                                                              +
                                                                                                                              + auto erase(const_iterator first, + const_iterator last) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Removes the elements in the range [first, last) from the array.
                                                                                                                              +
                                                                                                                              + auto flatten() & -> array& +
                                                                                                                              +
                                                                                                                              Flattens this array, recursively hoisting the contents of child arrays up into itself.
                                                                                                                              +
                                                                                                                              + auto flatten() && -> array&& +
                                                                                                                              +
                                                                                                                              Flattens this array, recursively hoisting the contents of child arrays up into itself (rvalue overload).
                                                                                                                              +
                                                                                                                              + void pop_back() noexcept +
                                                                                                                              +
                                                                                                                              Removes the last element from the array.
                                                                                                                              +
                                                                                                                              + auto prune(bool recursive = true) & -> array& noexcept +
                                                                                                                              +
                                                                                                                              Removes empty child arrays and tables.
                                                                                                                              +
                                                                                                                              + auto prune(bool recursive = true) && -> array&& noexcept +
                                                                                                                              +
                                                                                                                              Removes empty child arrays and tables (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Insertion and Emplacement

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType, typename... Args>
                                                                                                                              + auto emplace(const_iterator pos, + Args && ... args) -> iterator +
                                                                                                                              +
                                                                                                                              Emplaces a new element at a specific position in the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType, typename... ElemArgs>
                                                                                                                              + auto emplace_back(ElemArgs && ... args) -> decltype(auto) +
                                                                                                                              +
                                                                                                                              Emplaces a new element at the end of the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto insert(const_iterator pos, + ElemType&& val, + value_flags flags = preserve_source_value_flags) -> iterator +
                                                                                                                              +
                                                                                                                              Inserts a new element at a specific position in the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto insert(const_iterator pos, + size_t count, + ElemType&& val, + value_flags flags = preserve_source_value_flags) -> iterator +
                                                                                                                              +
                                                                                                                              Repeatedly inserts a new element starting at a specific position in the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Iter>
                                                                                                                              + auto insert(const_iterator pos, + Iter first, + Iter last, + value_flags flags = preserve_source_value_flags) -> iterator +
                                                                                                                              +
                                                                                                                              Inserts a range of elements into the array at a specific position.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto insert(const_iterator pos, + std::initializer_list<ElemType> ilist, + value_flags flags = preserve_source_value_flags) -> iterator +
                                                                                                                              +
                                                                                                                              Inserts a range of elements into the array at a specific position.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + void push_back(ElemType&& val, + value_flags flags = preserve_source_value_flags) +
                                                                                                                              +
                                                                                                                              Appends a new element to the end of the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto replace(const_iterator pos, + ElemType&& val, + value_flags flags = preserve_source_value_flags) -> iterator +
                                                                                                                              +
                                                                                                                              Replaces the element at a specific position in the array with a different value.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Iterators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using const_iterator = const_array_iterator +
                                                                                                                              +
                                                                                                                              A RandomAccessIterator for iterating over const elements in a toml::array.
                                                                                                                              +
                                                                                                                              + using iterator = array_iterator +
                                                                                                                              +
                                                                                                                              A RandomAccessIterator for iterating over elements in a toml::array.
                                                                                                                              +
                                                                                                                              + auto begin() -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first element.
                                                                                                                              +
                                                                                                                              + auto begin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first element.
                                                                                                                              +
                                                                                                                              + auto cbegin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first element.
                                                                                                                              +
                                                                                                                              + auto cend() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last element.
                                                                                                                              +
                                                                                                                              + auto end() -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last element.
                                                                                                                              +
                                                                                                                              + auto end() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last element.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Metadata

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the source region responsible for generating this node during parsing.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Node views

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) -> node_view<node> +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) const -> node_view<const node> +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + operator node_view<const node>() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node (const overload).
                                                                                                                              +
                                                                                                                              + operator node_view<node>() explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Size and Capacity

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto capacity() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the current max number of elements that may be held in the array's internal storage.
                                                                                                                              +
                                                                                                                              + auto empty() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the array is empty.
                                                                                                                              +
                                                                                                                              + auto max_size() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the maximum number of elements that can be stored in an array on the current platform.
                                                                                                                              +
                                                                                                                              + void reserve(size_t new_capacity) +
                                                                                                                              +
                                                                                                                              Reserves internal storage capacity up to a pre-determined number of elements.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + void resize(size_t new_size, + ElemType&& default_init_val, + value_flags default_init_flags = preserve_source_value_flags) +
                                                                                                                              +
                                                                                                                              Resizes the array.
                                                                                                                              +
                                                                                                                              + void shrink_to_fit() +
                                                                                                                              +
                                                                                                                              Requests the removal of any unused internal storage capacity.
                                                                                                                              +
                                                                                                                              + auto size() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the number of elements in the array.
                                                                                                                              +
                                                                                                                              + void truncate(size_t new_size) +
                                                                                                                              +
                                                                                                                              Shrinks the array to the given size.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type casts

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() -> impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() const -> const impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type (const overload).
                                                                                                                              +
                                                                                                                              + auto as_array() -> array* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the array.
                                                                                                                              +
                                                                                                                              + auto as_array() const -> const array* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the array.
                                                                                                                              +
                                                                                                                              + auto as_boolean() -> toml::value<bool>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_boolean() const -> const toml::value<bool>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date() -> toml::value<date>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date() const -> const toml::value<date>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date_time() -> toml::value<date_time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date_time() const -> const toml::value<date_time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() -> toml::value<double>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() const -> const toml::value<double>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_integer() -> toml::value<int64_t>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_integer() const -> const toml::value<int64_t>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_string() -> toml::value<std::string>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_string() const -> const toml::value<std::string>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_table() -> table* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_table() const -> const table* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_time() -> toml::value<time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_time() const -> const toml::value<time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type checks

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto is() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node is a specific type.
                                                                                                                              +
                                                                                                                              + auto is_array() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true.
                                                                                                                              +
                                                                                                                              + auto is_array_of_tables() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the array contains only tables.
                                                                                                                              +
                                                                                                                              + auto is_boolean() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_date() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_date_time() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_floating_point() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype) const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + node*& first_nonmatch) -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + const node*& first_nonmatch) const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType = void>
                                                                                                                              + auto is_homogeneous() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_integer() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_number() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_string() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_table() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_time() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_value() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto type() const -> node_type final noexcept +
                                                                                                                              +
                                                                                                                              Returns toml::node_type::array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Value retrieval

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at(size_t index) -> node& +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific index, throwing std::out_of_range if none existed.
                                                                                                                              +
                                                                                                                              + auto at(size_t index) const -> const node& +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific index, throwing std::out_of_range if none existed.
                                                                                                                              +
                                                                                                                              + auto back() -> node& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the last element in the array.
                                                                                                                              +
                                                                                                                              + auto back() const -> const node& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the last element in the array.
                                                                                                                              +
                                                                                                                              + auto front() -> node& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the first element in the array.
                                                                                                                              +
                                                                                                                              + auto front() const -> const node& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the first element in the array.
                                                                                                                              +
                                                                                                                              + auto get(size_t index) -> node* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the element at a specific index.
                                                                                                                              +
                                                                                                                              + auto get(size_t index) const -> const node* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the element at a specific index (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto get_as(size_t index) -> impl::wrap_node<ElemType>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the element at a specific index if it is a particular type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto get_as(size_t index) const -> const impl::wrap_node<ElemType>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the element at a specific index if it is a particular type (const overload).
                                                                                                                              +
                                                                                                                              + auto operator[](size_t index) -> node& noexcept +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific index.
                                                                                                                              +
                                                                                                                              + auto operator[](size_t index) const -> const node& noexcept +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific index.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_exact() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_or(T&& default_value) const -> auto noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the raw value contained by this node, or a default.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Visitation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const array& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the array out to a stream as formatted TOML.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType, typename... ElemTypes> +
                                                                                                                              + toml::array::array(ElemType&& val, + ElemTypes && ... vals) explicit +

                                                                                                                              +

                                                                                                                              Constructs an array with one or more initial elements.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypeOne of the TOML node or value types (or a type promotable to one).
                                                                                                                              ElemTypesOne of the TOML node or value types (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              valThe node or value used to initialize element 0.
                                                                                                                              valsThe nodes or values used to initialize elements 1...N.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2.0, "three"sv, toml::array{ 4, 5 } };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2.0, 'three', [ 4, 5 ] ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::array::operator!=(const array& lhs, + const array& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Inequality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS array.
                                                                                                                              rhsThe RHS array.
                                                                                                                              ReturnsTrue if the arrays did not contain the same elements.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::array::operator==(const array& lhs, + const array& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Equality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS array.
                                                                                                                              rhsThe RHS array.
                                                                                                                              ReturnsTrue if the arrays contained the same elements.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::array::erase(const_iterator pos) noexcept +

                                                                                                                              +

                                                                                                                              Removes the specified element from the array.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              posIterator to the element being erased.
                                                                                                                              ReturnsIterator to the first element immediately following the removed element.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +
                                                                                                                              +arr.erase(arr.cbegin() + 1);
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3 ]
                                                                                                                              +[ 1, 3 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::array::erase(const_iterator first, + const_iterator last) noexcept +

                                                                                                                              +

                                                                                                                              Removes the elements in the range [first, last) from the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              firstIterator to the first element being erased.
                                                                                                                              lastIterator to the one-past-the-last element being erased.
                                                                                                                              ReturnsIterator to the first element immediately following the last removed element.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, "bad", "karma" 2 };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +
                                                                                                                              +arr.erase(arr.cbegin() + 1, arr.cbegin() + 3);
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 'bad', 'karma', 3 ]
                                                                                                                              +[ 1, 3 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + array& toml::array::flatten() & +

                                                                                                                              +

                                                                                                                              Flattens this array, recursively hoisting the contents of child arrays up into itself.

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsA reference to the array.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, toml::array{ 3, 4, toml::array{ 5 } }, 6, toml::array{} };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +
                                                                                                                              +arr.flatten();
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, [ 3, 4, [ 5 ] ], 6, [] ]
                                                                                                                              +[ 1, 2, 3, 4, 5, 6 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + array&& toml::array::flatten() && +

                                                                                                                              +

                                                                                                                              Flattens this array, recursively hoisting the contents of child arrays up into itself (rvalue overload).

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsAn rvalue reference to the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + array& toml::array::prune(bool recursive = true) & noexcept +

                                                                                                                              +

                                                                                                                              Removes empty child arrays and tables.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              recursiveShould child arrays and tables themselves be pruned?
                                                                                                                              ReturnsA reference to the array.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, toml::array{ }, toml::array{ 3, toml::array{ } }, 4 };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +
                                                                                                                              +arr.prune(true);
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, [], [ 3, [] ], 4 ]
                                                                                                                              +[ 1, 2, [ 3 ], 4 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + array&& toml::array::prune(bool recursive = true) && noexcept +

                                                                                                                              +

                                                                                                                              Removes empty child arrays and tables (rvalue overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              recursiveShould child arrays and tables themselves be pruned?
                                                                                                                              ReturnsAn rvalue reference to the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType, typename... Args> +
                                                                                                                              + iterator toml::array::emplace(const_iterator pos, + Args && ... args) +

                                                                                                                              +

                                                                                                                              Emplaces a new element at a specific position in the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::table, toml::array, or any native TOML value type.
                                                                                                                              ArgsValue constructor argument types.
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              argsArguments to forward to the value's constructor.
                                                                                                                              ReturnsAn iterator to the inserted element.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2 };
                                                                                                                              +
                                                                                                                              +//add a string using std::string's substring constructor
                                                                                                                              +arr.emplace<std::string>(arr.cbegin() + 1, "this is not a drill"sv, 14, 5);
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 'drill', 2 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType, typename... ElemArgs> +
                                                                                                                              + decltype(auto) toml::array::emplace_back(ElemArgs && ... args) +

                                                                                                                              +

                                                                                                                              Emplaces a new element at the end of the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::table, toml::array, or a native TOML value type
                                                                                                                              ElemArgsElement constructor argument types.
                                                                                                                              Parameters
                                                                                                                              argsArguments to forward to the elements's constructor.
                                                                                                                              ReturnsA reference to the newly-constructed element.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2 };
                                                                                                                              +arr.emplace_back<toml::array>(3, "four"sv);
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, [ 3, 'four' ] ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + iterator toml::array::insert(const_iterator pos, + ElemType&& val, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Inserts a new element at a specific position in the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              valThe node or value being inserted.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              ReturnsValid input: An iterator to the newly-inserted element. Input is a null toml::node_view: + end()
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 3 };
                                                                                                                              +arr.insert(arr.cbegin() + 1, "two");
                                                                                                                              +arr.insert(arr.cend(), toml::array{ 4, 5 });
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 'two', 3, [ 4, 5 ] ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + iterator toml::array::insert(const_iterator pos, + size_t count, + ElemType&& val, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Repeatedly inserts a new element starting at a specific position in the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              countThe number of times the node or value should be inserted.
                                                                                                                              valThe node or value being inserted.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              ReturnsValid input: An iterator to the newly-inserted element. count == 0: A copy of pos Input is a null toml::node_view: + end()
                                                                                                                              +
                                                                                                                              auto arr = toml::array{
                                                                                                                              +    "with an evil twinkle in its eye the goose said",
                                                                                                                              +    "and immediately we knew peace was never an option."
                                                                                                                              +};
                                                                                                                              +arr.insert(arr.cbegin() + 1, 3, "honk");
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [
                                                                                                                              +    'with an evil twinkle in its eye the goose said',
                                                                                                                              +    'honk',
                                                                                                                              +    'honk',
                                                                                                                              +    'honk',
                                                                                                                              +    'and immediately we knew peace was never an option.'
                                                                                                                              +]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Iter> +
                                                                                                                              + iterator toml::array::insert(const_iterator pos, + Iter first, + Iter last, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Inserts a range of elements into the array at a specific position.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              IterAn iterator type. Must satisfy ForwardIterator.
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              firstIterator to the first node or value being inserted.
                                                                                                                              lastIterator to the one-past-the-last node or value being inserted.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              ReturnsValid input: An iterator to the first newly-inserted element. first >= last: A copy of pos All objects in the range were null toml::node_views: A copy of pos
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + iterator toml::array::insert(const_iterator pos, + std::initializer_list<ElemType> ilist, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Inserts a range of elements into the array at a specific position.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              ilistAn initializer list containing the values to be inserted.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              ReturnsValid input: An iterator to the first newly-inserted element. Input list is empty: A copy of pos All objects in the list were null toml::node_views: A copy of pos
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + void toml::array::push_back(ElemType&& val, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Appends a new element to the end of the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type
                                                                                                                              Parameters
                                                                                                                              valThe node or value being added.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2 };
                                                                                                                              +arr.push_back(3);
                                                                                                                              +arr.push_back(4.0);
                                                                                                                              +arr.push_back(toml::array{ 5, "six"sv });
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3, 4.0, [ 5, 'six' ] ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + iterator toml::array::replace(const_iterator pos, + ElemType&& val, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Replaces the element at a specific position in the array with a different value.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              valThe node or value being inserted.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              ReturnsValid input: An iterator to the replaced element. Input is a null toml::node_view: + end()
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +arr.replace(arr.cbegin() + 1, "two");
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3 ]
                                                                                                                              +[ 1, 'two', 3 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + void toml::array::resize(size_t new_size, + ElemType&& default_init_val, + value_flags default_init_flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Resizes the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              new_sizeThe number of elements the array will have after resizing.
                                                                                                                              default_init_valThe node or value used to initialize new elements if the array needs to grow.
                                                                                                                              default_init_flagsValue flags to apply to new values created if new elements are created by growing.
                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto arr = toml::array{ 1, 2, 3 }; +std::cout << arr << "\n"; + +arr.resize(6, 42); +std::cout << arr << "\n"; + +arr.resize(2, 0); +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3 ]
                                                                                                                              +[ 1, 2, 3, 42, 42, 42 ]
                                                                                                                              +[ 1, 2 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + void toml::array::truncate(size_t new_size) +

                                                                                                                              +

                                                                                                                              Shrinks the array to the given size.

                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto arr = toml::array{ 1, 2, 3 }; +std::cout << arr << "\n"; + +arr.truncate(5); // no-op +std::cout << arr << "\n"; + +arr.truncate(1); +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3 ]
                                                                                                                              +[ 1, 2, 3 ]
                                                                                                                              +[ 1]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::array::is_homogeneous(node_type ntype) const final noexcept +

                                                                                                                              +

                                                                                                                              Checks if the node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << "homogenous: "sv << arr.is_homogeneous(toml::node_type::none) << "\n";
                                                                                                                              +std::cout << "all floats: "sv << arr.is_homogeneous(toml::node_type::floating_point) << "\n";
                                                                                                                              +std::cout << "all arrays: "sv << arr.is_homogeneous(toml::node_type::array) << "\n";
                                                                                                                              +std::cout << "all ints:   "sv << arr.is_homogeneous(toml::node_type::integer) << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::array::is_homogeneous(node_type ntype, + node*& first_nonmatch) final noexcept +

                                                                                                                              +

                                                                                                                              Checks if a node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              first_nonmatchReference to a pointer in which the address of the first non-matching element will be stored if the return value is false.
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]");
                                                                                                                              +toml::array& arr = *cfg["arr"].as_array();
                                                                                                                              +
                                                                                                                              +toml::node* nonmatch{};
                                                                                                                              +if (arr.is_homogeneous(toml::node_type::integer, nonmatch))
                                                                                                                              +    std::cout << "array was homogeneous"sv << "\n";
                                                                                                                              +else
                                                                                                                              +    std::cout << "array was not homogeneous!\n"
                                                                                                                              +    << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
                                                                                                                              array was not homogeneous!
                                                                                                                              +first non-match was a floating-point at line 1, column 18
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node* toml::array::get(size_t index) noexcept +

                                                                                                                              +

                                                                                                                              Gets a pointer to the element at a specific index.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              indexThe element's index.
                                                                                                                              ReturnsA pointer to the element at the specified index if one existed, or nullptr.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 99, "bottles of beer on the wall" };
                                                                                                                              +std::cout << "element [0] exists: "sv << !!arr.get(0) << "\n";
                                                                                                                              +std::cout << "element [1] exists: "sv << !!arr.get(1) << "\n";
                                                                                                                              +std::cout << "element [2] exists: "sv << !!arr.get(2) << "\n";
                                                                                                                              +if (toml::node* val = arr.get(0))
                                                                                                                              +    std::cout << "element [0] is an "sv << val->type() << "\n";
                                                                                                                              element [0] exists: true
                                                                                                                              +element [1] exists: true
                                                                                                                              +element [2] exists: false
                                                                                                                              +element [0] is an integer
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const node* toml::array::get(size_t index) const noexcept +

                                                                                                                              +

                                                                                                                              Gets a pointer to the element at a specific index (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              indexThe element's index.
                                                                                                                              ReturnsA pointer to the element at the specified index if one existed, or nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + impl::wrap_node<ElemType>* toml::array::get_as(size_t index) noexcept +

                                                                                                                              +

                                                                                                                              Gets a pointer to the element at a specific index if it is a particular type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::table, toml::array, or a native TOML value type
                                                                                                                              Parameters
                                                                                                                              indexThe element's index.
                                                                                                                              ReturnsA pointer to the selected element if it existed and was of the specified type, or nullptr.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 42, "is the meaning of life, apparently."sv };
                                                                                                                              +if (toml::value<int64_t>* val = arr.get_as<int64_t>(0))
                                                                                                                              +    std::cout << "element [0] is an integer with value "sv << *val << "\n";
                                                                                                                              element [0] is an integer with value 42
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + const impl::wrap_node<ElemType>* toml::array::get_as(size_t index) const noexcept +

                                                                                                                              +

                                                                                                                              Gets a pointer to the element at a specific index if it is a particular type (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::table, toml::array, or a native TOML value type
                                                                                                                              Parameters
                                                                                                                              indexThe element's index.
                                                                                                                              ReturnsA pointer to the selected element if it existed and was of the specified type, or nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const array& rhs) +

                                                                                                                              +

                                                                                                                              Prints the array out to a stream as formatted TOML.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.1/classtoml_1_1json__formatter.html b/v3.0.1/classtoml_1_1json__formatter.html new file mode 100644 index 00000000..eca51fc8 --- /dev/null +++ b/v3.0.1/classtoml_1_1json__formatter.html @@ -0,0 +1,251 @@ + + + + toml::json_formatter class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::json_formatter class +

                                                                                                                              +

                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted JSON.

                                                                                                                              + +
                                                                                                                              auto some_toml = toml::parse(R"(
                                                                                                                              +    [fruit]
                                                                                                                              +    apple.color = "red"
                                                                                                                              +    apple.taste.sweet = true
                                                                                                                              +
                                                                                                                              +    [fruit.apple.texture]
                                                                                                                              +    smooth = true
                                                                                                                              +)"sv);
                                                                                                                              +std::cout << toml::json_formatter{ some_toml } << "\n";
                                                                                                                              {
                                                                                                                              +    "fruit" : {
                                                                                                                              +        "apple" : {
                                                                                                                              +            "color" : "red",
                                                                                                                              +            "taste" : {
                                                                                                                              +                "sweet" : true
                                                                                                                              +            },
                                                                                                                              +            "texture" : {
                                                                                                                              +                "smooth" : true
                                                                                                                              +            }
                                                                                                                              +        }
                                                                                                                              +    }
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public static variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + static format_flags default_flags constexpr +
                                                                                                                              +
                                                                                                                              The default flags for a json_formatter.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + json_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a JSON formatter and binds it to a TOML object.
                                                                                                                              +
                                                                                                                              + json_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a JSON formatter and binds it to a toml::parse_result.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + json_formatter& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as JSON.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + json_formatter&& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as JSON (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::json_formatter::json_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a JSON formatter and binds it to a TOML object.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              sourceThe source TOML object.
                                                                                                                              flagsFormat option flags.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::json_formatter::json_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a JSON formatter and binds it to a toml::parse_result.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              resultThe parse result.
                                                                                                                              flagsFormat option flags.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.1/classtoml_1_1key.html b/v3.0.1/classtoml_1_1key.html new file mode 100644 index 00000000..1a4472e6 --- /dev/null +++ b/v3.0.1/classtoml_1_1key.html @@ -0,0 +1,377 @@ + + + + toml::key class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::key class +

                                                                                                                              +

                                                                                                                              A key parsed from a TOML document.

                                                                                                                              + +

                                                                                                                              These are used as the internal keys for a toml::table:

                                                                                                                              const toml::table tbl = R"(
                                                                                                                              +    a = 1
                                                                                                                              +      b = 2
                                                                                                                              +        c = 3
                                                                                                                              +)"_toml;
                                                                                                                              +
                                                                                                                              +for (auto&& [k, v] : tbl)
                                                                                                                              +    std::cout << "key '"sv << k << "' defined at "sv << k.source() << "\n";
                                                                                                                              key 'a' defined at line 2, column 5
                                                                                                                              +key 'b' defined at line 3, column 7
                                                                                                                              +key 'c' defined at line 4, column 9
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + key() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Default constructor.
                                                                                                                              +
                                                                                                                              + key(std::string_view k, + source_region&& src = {}) explicit +
                                                                                                                              +
                                                                                                                              Constructs a key from a string view and source region.
                                                                                                                              +
                                                                                                                              + key(std::string_view k, + const source_region& src) explicit +
                                                                                                                              +
                                                                                                                              Constructs a key from a string view and source region.
                                                                                                                              +
                                                                                                                              + key(std::string&& k, + source_region&& src = {}) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a key from a string and source region.
                                                                                                                              +
                                                                                                                              + key(std::string&& k, + const source_region& src) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a key from a string and source region.
                                                                                                                              +
                                                                                                                              + key(const char* k, + source_region&& src = {}) explicit +
                                                                                                                              +
                                                                                                                              Constructs a key from a c-string and source region.
                                                                                                                              +
                                                                                                                              + key(const char* k, + const source_region& src) explicit +
                                                                                                                              +
                                                                                                                              Constructs a key from a c-string view and source region.
                                                                                                                              +
                                                                                                                              + key(std::wstring_view k, + source_region&& src = {}) explicit +
                                                                                                                              +
                                                                                                                              Constructs a key from a wide string view and source region.
                                                                                                                              +
                                                                                                                              + key(std::wstring_view k, + const source_region& src) explicit +
                                                                                                                              +
                                                                                                                              Constructs a key from a wide string and source region.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality and Comparison

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              + auto operator!=(const key& lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() != rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator!=(const key& lhs, + std::string_view rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() != rhs.
                                                                                                                              +
                                                                                                                              + auto operator!=(std::string_view lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs != rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator<(const key& lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() < rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator<(const key& lhs, + std::string_view rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() < rhs.
                                                                                                                              +
                                                                                                                              + auto operator<(std::string_view lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs < rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator<=(const key& lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() <= rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator<=(const key& lhs, + std::string_view rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() <= rhs.
                                                                                                                              +
                                                                                                                              + auto operator<=(std::string_view lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs <= rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator==(const key& lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() == rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator==(const key& lhs, + std::string_view rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() == rhs.
                                                                                                                              +
                                                                                                                              + auto operator==(std::string_view lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs == rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator>(const key& lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() > rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator>(const key& lhs, + std::string_view rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() > rhs.
                                                                                                                              +
                                                                                                                              + auto operator>(std::string_view lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs > rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator>=(const key& lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() >= rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator>=(const key& lhs, + std::string_view rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() >= rhs.
                                                                                                                              +
                                                                                                                              + auto operator>=(std::string_view lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs >= rhs.str().
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Iterators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using const_iterator = const char* +
                                                                                                                              +
                                                                                                                              A const iterator for iterating over the characters in the key.
                                                                                                                              +
                                                                                                                              + using iterator = const_iterator +
                                                                                                                              +
                                                                                                                              A const iterator for iterating over the characters in the key.
                                                                                                                              +
                                                                                                                              + auto begin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first character in the key's backing string.
                                                                                                                              +
                                                                                                                              + auto end() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last character in the key's backing string.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Metadata

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the source region responsible for specifying this key during parsing.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              String operations

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto data() const -> const char* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the start of the key's underlying string.
                                                                                                                              +
                                                                                                                              + auto empty() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the key's underlying string is empty.
                                                                                                                              +
                                                                                                                              + auto length() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the length of the key's underlying string.
                                                                                                                              +
                                                                                                                              + operator std::string_view() const noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the key's underlying string.
                                                                                                                              +
                                                                                                                              + auto str() const -> std::string_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the key's underlying string.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const key& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the key's underlying string out to the stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::key::key(std::wstring_view k, + source_region&& src = {}) explicit +

                                                                                                                              +

                                                                                                                              Constructs a key from a wide string view and source region.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::key::key(std::wstring_view k, + const source_region& src) explicit +

                                                                                                                              +

                                                                                                                              Constructs a key from a wide string and source region.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.1/classtoml_1_1node.html b/v3.0.1/classtoml_1_1node.html new file mode 100644 index 00000000..1e8bacc1 --- /dev/null +++ b/v3.0.1/classtoml_1_1node.html @@ -0,0 +1,917 @@ + + + + toml::node class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::node class +

                                                                                                                              +

                                                                                                                              A TOML node.

                                                                                                                              + +

                                                                                                                              A parsed TOML document forms a tree made up of tables, arrays and values. This type is the base of each of those, providing a lot of the polymorphic plumbing.

                                                                                                                              +
                                                                                                                              +

                                                                                                                              Derived classes

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + class array +
                                                                                                                              +
                                                                                                                              A TOML array.
                                                                                                                              +
                                                                                                                              + class table +
                                                                                                                              +
                                                                                                                              A TOML table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ValueType>
                                                                                                                              + class value +
                                                                                                                              +
                                                                                                                              A TOML value.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Metadata

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the source region responsible for generating this node during parsing.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Node views

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) -> node_view<node> +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) const -> node_view<const node> +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + operator node_view<const node>() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node (const overload).
                                                                                                                              +
                                                                                                                              + operator node_view<node>() explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type casts

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() -> impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() const -> const impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type (const overload).
                                                                                                                              +
                                                                                                                              + auto as_array() -> array* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::array, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_array() const -> const array* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::array, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_boolean() -> toml::value<bool>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<bool>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_boolean() const -> const toml::value<bool>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<bool>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date() -> toml::value<date>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<toml::date>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date() const -> const toml::value<date>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<toml::date>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date_time() -> toml::value<date_time>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<toml::date_time>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date_time() const -> const toml::value<date_time>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<toml::date_time>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() -> toml::value<double>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<double>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() const -> const toml::value<double>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<double>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_integer() -> toml::value<int64_t>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<int64_t>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_integer() const -> const toml::value<int64_t>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<int64_t>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_string() -> toml::value<std::string>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<std::string>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_string() const -> const toml::value<std::string>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<std::string>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_table() -> table* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::table, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_table() const -> const table* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::table, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_time() -> toml::value<time>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<toml::time>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_time() const -> const toml::value<time>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<toml::time>, if it is one.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type checks

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto is() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node is a specific type.
                                                                                                                              +
                                                                                                                              + auto is_array() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an array.
                                                                                                                              +
                                                                                                                              + auto is_array_of_tables() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an array containing only tables.
                                                                                                                              +
                                                                                                                              + auto is_boolean() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a boolean value.
                                                                                                                              +
                                                                                                                              + auto is_date() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a local date value.
                                                                                                                              +
                                                                                                                              + auto is_date_time() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a date-time value.
                                                                                                                              +
                                                                                                                              + auto is_floating_point() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an floating-point value.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + node*& first_nonmatch) -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + const node*& first_nonmatch) const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type (const overload).
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype) const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType = void>
                                                                                                                              + auto is_homogeneous() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_integer() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an integer value.
                                                                                                                              +
                                                                                                                              + auto is_number() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an integer or floating-point value.
                                                                                                                              +
                                                                                                                              + auto is_string() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a string value.
                                                                                                                              +
                                                                                                                              + auto is_table() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a table.
                                                                                                                              +
                                                                                                                              + auto is_time() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a local time value.
                                                                                                                              +
                                                                                                                              + auto is_value() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a value.
                                                                                                                              +
                                                                                                                              + auto type() const -> node_type pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns the node's type identifier.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Value retrieval

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_exact() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_or(T&& default_value) const -> auto noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the raw value contained by this node, or a default.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Visitation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::node::at_path(std::string_view path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              pathThe "TOML path" to traverse.
                                                                                                                              +
                                                                                                                              auto config = toml::parse(R"(
                                                                                                                              +
                                                                                                                              +[foo]
                                                                                                                              +bar = [ 0, 1, 2, [ 3 ], { kek = 4 } ]
                                                                                                                              +
                                                                                                                              +)"sv);
                                                                                                                              +
                                                                                                                              +std::cout << config.at_path("foo.bar[2]") << "\n";
                                                                                                                              +std::cout << config.at_path("foo.bar[3][0]") << "\n";
                                                                                                                              +std::cout << config.at_path("foo.bar[4].kek") << "\n";
                                                                                                                              2
                                                                                                                              +3
                                                                                                                              +4
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::node::at_path(std::string_view path) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::node::at_path(std::wstring_view path) +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::node::at_path(std::wstring_view path) const +

                                                                                                                              +

                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + impl::wrap_node<T>* toml::node::as() noexcept +

                                                                                                                              +

                                                                                                                              Gets a pointer to the node as a more specific node type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TThe node type or TOML value type to cast to.
                                                                                                                              ReturnsA pointer to the node as the given type, or nullptr if it was a different type.
                                                                                                                              +
                                                                                                                              toml::value<int64_t>* int_value = node->as<int64_t>();
                                                                                                                              +toml::table* tbl = node->as<toml::table>();
                                                                                                                              +if (int_value)
                                                                                                                              +    std::cout << "Node is a value<int64_t>\n";
                                                                                                                              +else if (tbl)
                                                                                                                              +    std::cout << "Node is a table\n";
                                                                                                                              +
                                                                                                                              +// fully-qualified value node types also work (useful for template code):
                                                                                                                              +toml::value<int64_t>* int_value2 = node->as<toml::value<int64_t>>();
                                                                                                                              +if (int_value2)
                                                                                                                              +    std::cout << "Node is a value<int64_t>\n";
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::node::is() const noexcept +

                                                                                                                              +

                                                                                                                              Checks if a node is a specific type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TA TOML node or value type.
                                                                                                                              ReturnsReturns true if this node is an instance of the specified type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::node::is_homogeneous(node_type ntype, + node*& first_nonmatch) pure virtual noexcept +

                                                                                                                              +

                                                                                                                              Checks if a node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              first_nonmatchReference to a pointer in which the address of the first non-matching element will be stored if the return value is false.
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]");
                                                                                                                              +toml::array& arr = *cfg["arr"].as_array();
                                                                                                                              +
                                                                                                                              +toml::node* nonmatch{};
                                                                                                                              +if (arr.is_homogeneous(toml::node_type::integer, nonmatch))
                                                                                                                              +    std::cout << "array was homogeneous"sv << "\n";
                                                                                                                              +else
                                                                                                                              +    std::cout << "array was not homogeneous!\n"
                                                                                                                              +    << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
                                                                                                                              array was not homogeneous!
                                                                                                                              +first non-match was a floating-point at line 1, column 18
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::node::is_homogeneous(node_type ntype) const pure virtual noexcept +

                                                                                                                              +

                                                                                                                              Checks if the node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << "homogenous: "sv << arr.is_homogeneous(toml::node_type::none) << "\n";
                                                                                                                              +std::cout << "all floats: "sv << arr.is_homogeneous(toml::node_type::floating_point) << "\n";
                                                                                                                              +std::cout << "all arrays: "sv << arr.is_homogeneous(toml::node_type::array) << "\n";
                                                                                                                              +std::cout << "all ints:   "sv << arr.is_homogeneous(toml::node_type::integer) << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType = void> +
                                                                                                                              + bool toml::node::is_homogeneous() const noexcept +

                                                                                                                              +

                                                                                                                              Checks if the node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypeA TOML node or value type.
                                                                                                                              Left as void: "is every element the same type?"
                                                                                                                              Explicitly specified: "is every element a T?"
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << "homogenous:   "sv << arr.is_homogeneous() << "\n";
                                                                                                                              +std::cout << "all doubles:  "sv << arr.is_homogeneous<double>() << "\n";
                                                                                                                              +std::cout << "all arrays:   "sv << arr.is_homogeneous<toml::array>() << "\n";
                                                                                                                              +std::cout << "all integers: "sv << arr.is_homogeneous<int64_t>() << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + decltype(auto) toml::node::ref() & noexcept +

                                                                                                                              +

                                                                                                                              Gets a raw reference to a node's underlying data.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              Ttoml::table, toml::array, or one of the TOML value types.
                                                                                                                              ReturnsA reference to the underlying data.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + optional<T> toml::node::value() const noexcept(…) +

                                                                                                                              +

                                                                                                                              Gets the value contained by this node.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the native TOML value types, or a type capable of converting to one.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or convertible to it) and within the range of the output type, or an empty optional.
                                                                                                                              +

                                                                                                                              This function has 'permissive' retrieval semantics; some value types are allowed to convert to others (e.g. retrieving a boolean as an integer), and the specified return value type can be any type where a reasonable conversion from a native TOML value exists (e.g. std::wstring on Windows). If the source value cannot be represented by the destination type, an empty optional is returned.

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto tbl = toml::parse(R"( + int = -10 + flt = 25.0 + pi = 3.14159 + bool = false + huge = 9223372036854775807 + str = "foo" +)"sv); + +const auto print_value_with_typename = + [&](std::string_view key, std::string_view type_name, auto* dummy) + { + std::cout << "- " << std::setw(18) << std::left << type_name; + using type = std::remove_pointer_t<decltype(dummy)>; + if (std::optional<type> val = tbl.get(key)->value<type>()) + std::cout << *val << "\n"; + else + std::cout << "n/a\n"; + }; + +#define print_value(key, T) print_value_with_typename(key, #T, (T*)nullptr) + +for (auto key : { "int", "flt", "pi", "bool", "huge", "str" }) +{ + std::cout << tbl[key].type() << " value '" << key << "' as:\n"; + print_value(key, bool); + print_value(key, int); + print_value(key, unsigned int); + print_value(key, long long); + print_value(key, float); + print_value(key, double); + print_value(key, std::string); + print_value(key, std::string_view); + print_value(key, const char*); + std::cout << "\n"; +}
                                                                                                                              integer value 'int' as:
                                                                                                                              +- bool              true
                                                                                                                              +- int               -10
                                                                                                                              +- unsigned int      n/a
                                                                                                                              +- long long         -10
                                                                                                                              +- float             -10
                                                                                                                              +- double            -10
                                                                                                                              +- std::string       n/a
                                                                                                                              +- std::string_view  n/a
                                                                                                                              +- const char*       n/a
                                                                                                                              +
                                                                                                                              +floating-point value 'flt' as:
                                                                                                                              +- bool              n/a
                                                                                                                              +- int               25
                                                                                                                              +- unsigned int      25
                                                                                                                              +- long long         25
                                                                                                                              +- float             25
                                                                                                                              +- double            25
                                                                                                                              +- std::string       n/a
                                                                                                                              +- std::string_view  n/a
                                                                                                                              +- const char*       n/a
                                                                                                                              +
                                                                                                                              +floating-point value 'pi' as:
                                                                                                                              +- bool              n/a
                                                                                                                              +- int               n/a
                                                                                                                              +- unsigned int      n/a
                                                                                                                              +- long long         n/a
                                                                                                                              +- float             3.14159
                                                                                                                              +- double            3.14159
                                                                                                                              +- std::string       n/a
                                                                                                                              +- std::string_view  n/a
                                                                                                                              +- const char*       n/a
                                                                                                                              +
                                                                                                                              +boolean value 'bool' as:
                                                                                                                              +- bool              false
                                                                                                                              +- int               0
                                                                                                                              +- unsigned int      0
                                                                                                                              +- long long         0
                                                                                                                              +- float             n/a
                                                                                                                              +- double            n/a
                                                                                                                              +- std::string       n/a
                                                                                                                              +- std::string_view  n/a
                                                                                                                              +- const char*       n/a
                                                                                                                              +
                                                                                                                              +integer value 'huge' as:
                                                                                                                              +- bool              true
                                                                                                                              +- int               n/a
                                                                                                                              +- unsigned int      n/a
                                                                                                                              +- long long         9223372036854775807
                                                                                                                              +- float             n/a
                                                                                                                              +- double            n/a
                                                                                                                              +- std::string       n/a
                                                                                                                              +- std::string_view  n/a
                                                                                                                              +- const char*       n/a
                                                                                                                              +
                                                                                                                              +string value 'str' as:
                                                                                                                              +- bool              n/a
                                                                                                                              +- int               n/a
                                                                                                                              +- unsigned int      n/a
                                                                                                                              +- long long         n/a
                                                                                                                              +- float             n/a
                                                                                                                              +- double            n/a
                                                                                                                              +- std::string       foo
                                                                                                                              +- std::string_view  foo
                                                                                                                              +- const char*       foo
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + optional<T> toml::node::value_exact() const noexcept(…) +

                                                                                                                              +

                                                                                                                              Gets the value contained by this node.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the native TOML value types, or a type capable of losslessly representing one.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or losslessly convertible to it), or an empty optional.
                                                                                                                              +

                                                                                                                              This function has 'exact' retrieval semantics; the only return value types allowed are the TOML native value types, or types that can losslessly represent a native value type (e.g. std::wstring on Windows).

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + auto toml::node::value_or(T&& default_value) const noexcept(…) +

                                                                                                                              +

                                                                                                                              Gets the raw value contained by this node, or a default.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TDefault value type. Must be one of the native TOML value types, or convertible to it.
                                                                                                                              Parameters
                                                                                                                              default_valueThe default value to return if the node wasn't a value, wasn't the correct type, or no conversion was possible.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or convertible to it) and within the range of the output type, or the provided default.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Func> +
                                                                                                                              + decltype(auto) toml::node::visit(Func&& visitor) & noexcept(…) +

                                                                                                                              +

                                                                                                                              Invokes a visitor on the node based on the node's concrete type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              FuncA callable type invocable with one or more of the toml++ node types.
                                                                                                                              Parameters
                                                                                                                              visitorThe visitor object.
                                                                                                                              ReturnsThe return value of the visitor. Can be void. Non-exhaustive visitors must return a default-constructible type.
                                                                                                                              +

                                                                                                                              Visitation is useful when you expect a node to be one of a set number of types and need to handle these types differently. Using visit() allows you to eliminate some of the casting/conversion boilerplate:

                                                                                                                              node.visit([](auto&& n)
                                                                                                                              +{
                                                                                                                              +    if constexpr (toml::is_string<decltype(n)>)
                                                                                                                              +        do_something_with_a_string(*n)); //n is a toml::value<std::string>
                                                                                                                              +    else if constexpr (toml::is_integer<decltype(n)>)
                                                                                                                              +        do_something_with_an_int(*n); //n is a toml::value<int64_t>
                                                                                                                              +    else
                                                                                                                              +        throw std::exception{ "Expected string or integer" };
                                                                                                                              +});
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.1/classtoml_1_1node__view.html b/v3.0.1/classtoml_1_1node__view.html new file mode 100644 index 00000000..04c836ea --- /dev/null +++ b/v3.0.1/classtoml_1_1node__view.html @@ -0,0 +1,897 @@ + + + + toml::node_view class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              template <typename ViewedType>
                                                                                                                              + toml::node_view class +

                                                                                                                              +

                                                                                                                              A view of a node.

                                                                                                                              + +

                                                                                                                              A node_view is like a std::optional<toml::node&> (if such a construct were legal), with lots of toml-specific stuff built-in. It may represent a node, and allows you to do many of the same operations that you'd do on nodes directly, as well as easily traversing the node tree by creating subviews (via node_view::operator[]).

                                                                                                                              auto tbl = toml::parse(R"(
                                                                                                                              +
                                                                                                                              +    title = "my hardware store"
                                                                                                                              +
                                                                                                                              +    [[products]]
                                                                                                                              +    name = "Hammer"
                                                                                                                              +    sku = 738594937
                                                                                                                              +    keywords = [ "hammer", "construction", "build" ]
                                                                                                                              +
                                                                                                                              +    [[products]]
                                                                                                                              +    name = "Nail"
                                                                                                                              +    sku = 284758393
                                                                                                                              +    color = "gray"
                                                                                                                              +
                                                                                                                              +)"sv);
                                                                                                                              +
                                                                                                                              +std::cout << tbl["title"] << "\n";
                                                                                                                              +std::cout << tbl["products"][0]["name"] << "\n";
                                                                                                                              +std::cout << tbl["products"][0]["keywords"] << "\n";
                                                                                                                              +std::cout << tbl["products"][0]["keywords"][2] << "\n";
                                                                                                                              +
                                                                                                                              +tbl["products"][0]["keywords"].as_array()->push_back("heavy");
                                                                                                                              +std::cout << tbl["products"][0]["keywords"] << "\n";
                                                                                                                              +std::cout << "has product[2]: "sv << !!tbl["products"][2] << "\n";
                                                                                                                              +std::cout << "product[2]: "sv << tbl["products"][2] << "\n";
                                                                                                                              "my hardware store"
                                                                                                                              +"Hammer"
                                                                                                                              +[ "hammer", "construction", "build" ]
                                                                                                                              +"build"
                                                                                                                              +[ "hammer", "construction", "build", "heavy" ]
                                                                                                                              +has product[2]: false
                                                                                                                              +product[2]:
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public types

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using viewed_type = ViewedType +
                                                                                                                              +
                                                                                                                              The node type being viewed - either node or const node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + node_view() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Constructs an empty node view.
                                                                                                                              +
                                                                                                                              + node_view(viewed_type* node) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs node_view of a specific node.
                                                                                                                              +
                                                                                                                              + node_view(viewed_type& node) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs node_view of a specific node.
                                                                                                                              +
                                                                                                                              + node_view(const node_view&) defaulted noexcept +
                                                                                                                              +
                                                                                                                              Copy constructor.
                                                                                                                              +
                                                                                                                              + node_view(node_view&&) defaulted noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              + operator bool() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the view references a node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto node() const -> viewed_type* noexcept +
                                                                                                                              +
                                                                                                                              Returns the node that's being referenced by the view.
                                                                                                                              +
                                                                                                                              + auto operator=(const node_view&) & -> node_view& defaulted noexcept +
                                                                                                                              +
                                                                                                                              Copy-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(node_view&&) & -> node_view& defaulted noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator!=(const node_view& lhs, + const node_view<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the two views do not refer to nodes of the same type and value.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const node_view& lhs, + const node_view<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the two views refer to nodes of the same type and value.
                                                                                                                              +
                                                                                                                              + auto operator==(const node_view& lhs, + const table& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a table with the same contents as RHS.
                                                                                                                              +
                                                                                                                              + auto operator==(const node_view& lhs, + const array& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is an array with the same contents as RHS.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const node_view& lhs, + const toml::value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a value with the same value as RHS.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const node_view& lhs, + const T& rhs) -> bool noexcept(…) +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a value with the same value as RHS.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const node_view& lhs, + const std::initializer_list<T>& rhs) -> bool noexcept(…) +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is an array with the same contents as the RHS initializer list.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const node_view& lhs, + const std::vector<T>& rhs) -> bool noexcept(…) +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is an array with the same contents as the RHS vector.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Subviews

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) const -> node_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) const -> node_view +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto operator[](std::string_view key) const -> node_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the selected subnode.
                                                                                                                              +
                                                                                                                              + auto operator[](std::wstring_view key) const -> node_view +
                                                                                                                              +
                                                                                                                              Returns a view of the selected subnode.
                                                                                                                              +
                                                                                                                              + auto operator[](size_t index) const -> node_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the selected subnode.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type casts

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the viewed node as a more specific node type.
                                                                                                                              +
                                                                                                                              + auto as_array() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::array, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_boolean() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<bool>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<date>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date_time() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<date_time>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<double>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_integer() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<int64_t>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_string() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<string>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_table() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::table, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_time() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<time>, if it is one.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type checks

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto is() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if this view references a node of a specific type.
                                                                                                                              +
                                                                                                                              + auto is_array() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::array.
                                                                                                                              +
                                                                                                                              + auto is_array_of_tables() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::array that contains only tables.
                                                                                                                              +
                                                                                                                              + auto is_boolean() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<bool>.
                                                                                                                              +
                                                                                                                              + auto is_date() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<date>.
                                                                                                                              +
                                                                                                                              + auto is_date_time() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<date_time>.
                                                                                                                              +
                                                                                                                              + auto is_floating_point() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<double>.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + viewed_type*& first_nonmatch) const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the viewed node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype) const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the viewed node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType = void>
                                                                                                                              + auto is_homogeneous() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the viewed node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_integer() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<int64_t>.
                                                                                                                              +
                                                                                                                              + auto is_number() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<int64_t> or toml::value<double>.
                                                                                                                              +
                                                                                                                              + auto is_string() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<string>.
                                                                                                                              +
                                                                                                                              + auto is_table() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::table.
                                                                                                                              +
                                                                                                                              + auto is_time() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<time>.
                                                                                                                              +
                                                                                                                              + auto is_value() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<>.
                                                                                                                              +
                                                                                                                              + auto type() const -> node_type noexcept +
                                                                                                                              +
                                                                                                                              Returns the type identifier for the viewed node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Value retrieval

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to the viewed node's underlying data.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by the referenced node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_exact() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by the referenced node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_or(T&& default_value) const -> auto noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the raw value contained by the referenced node, or a default.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Visitation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the viewed node based on its concrete type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& os, + const node_view& nv) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the viewed node out to a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::at_path(std::string_view path) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::at_path(std::wstring_view path) const +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::operator[](std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the selected subnode.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key of the node to retrieve
                                                                                                                              ReturnsA view of the selected node if this node represented a table and it contained a value at the given key, or an empty view.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::operator[](std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Returns a view of the selected subnode.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key of the node to retrieve
                                                                                                                              ReturnsA view of the selected node if this node represented a table and it contained a value at the given key, or an empty view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::operator[](size_t index) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the selected subnode.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              indexThe index of the node to retrieve
                                                                                                                              ReturnsA view of the selected node if this node represented an array and it contained a value at the given index, or an empty view.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + auto* toml::node_view::as() const noexcept +

                                                                                                                              +

                                                                                                                              Gets a pointer to the viewed node as a more specific node type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TThe node type or TOML value type to cast to.
                                                                                                                              ReturnsA pointer to the node as the given type, or nullptr if it was a different type.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::node_view::is() const noexcept +

                                                                                                                              +

                                                                                                                              Checks if this view references a node of a specific type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TA TOML node or value type.
                                                                                                                              ReturnsReturns true if the viewed node is an instance of the specified type.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + bool toml::node_view::is_homogeneous(node_type ntype, + viewed_type*& first_nonmatch) const noexcept +

                                                                                                                              +

                                                                                                                              Checks if the viewed node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              first_nonmatchReference to a pointer in which the address of the first non-matching element will be stored if the return value is false.
                                                                                                                              ReturnsTrue if the viewed node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]");
                                                                                                                              +
                                                                                                                              +toml::node* nonmatch{};
                                                                                                                              +if (cfg["arr"].is_homogeneous(toml::node_type::integer, nonmatch))
                                                                                                                              +    std::cout << "array was homogeneous"sv << "\n";
                                                                                                                              +else
                                                                                                                              +    std::cout << "array was not homogeneous!\n"
                                                                                                                              +    << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
                                                                                                                              array was not homogeneous!
                                                                                                                              +first non-match was a floating-point at line 1, column 18
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + bool toml::node_view::is_homogeneous(node_type ntype) const noexcept +

                                                                                                                              +

                                                                                                                              Checks if the viewed node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              ReturnsTrue if the viewed node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3 ]");
                                                                                                                              +std::cout << "homogenous: "sv << cfg["arr"].is_homogeneous(toml::node_type::none) << "\n";
                                                                                                                              +std::cout << "all floats: "sv << cfg["arr"].is_homogeneous(toml::node_type::floating_point) << "\n";
                                                                                                                              +std::cout << "all arrays: "sv << cfg["arr"].is_homogeneous(toml::node_type::array) << "\n";
                                                                                                                              +std::cout << "all ints:   "sv << cfg["arr"].is_homogeneous(toml::node_type::integer) << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename ElemType = void> +
                                                                                                                              + bool toml::node_view::is_homogeneous() const noexcept +

                                                                                                                              +

                                                                                                                              Checks if the viewed node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypeA TOML node or value type.
                                                                                                                              Left as void: "is every element the same type?"
                                                                                                                              Explicitly specified: "is every element a T?"
                                                                                                                              ReturnsTrue if the viewed node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3 ]");
                                                                                                                              +std::cout << "homogenous:   "sv << cfg["arr"].is_homogeneous() << "\n";
                                                                                                                              +std::cout << "all doubles:  "sv << cfg["arr"].is_homogeneous<double>() << "\n";
                                                                                                                              +std::cout << "all arrays:   "sv << cfg["arr"].is_homogeneous<toml::array>() << "\n";
                                                                                                                              +std::cout << "all integers: "sv << cfg["arr"].is_homogeneous<int64_t>() << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + decltype(auto) toml::node_view::ref() const noexcept +

                                                                                                                              +

                                                                                                                              Gets a raw reference to the viewed node's underlying data.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the TOML value types.
                                                                                                                              ReturnsA reference to the underlying data.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + optional<T> toml::node_view::value() const noexcept(…) +

                                                                                                                              +

                                                                                                                              Gets the value contained by the referenced node.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the native TOML value types, or a type capable of convertible to one.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or convertible to it) and within the range of the output type, or an empty optional.
                                                                                                                              +

                                                                                                                              This function has 'permissive' retrieval semantics; some value types are allowed to convert to others (e.g. retrieving a boolean as an integer), and the specified return value type can be any type where a reasonable conversion from a native TOML value exists (e.g. std::wstring on Windows). If the source value cannot be represented by the destination type, an empty optional is returned. See node::value() for examples.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + optional<T> toml::node_view::value_exact() const noexcept(…) +

                                                                                                                              +

                                                                                                                              Gets the value contained by the referenced node.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the native TOML value types, or a type capable of losslessly representing one.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or losslessly convertible to it), or an empty optional.
                                                                                                                              +

                                                                                                                              This function has 'exact' retrieval semantics; the only return value types allowed are the TOML native value types, or types that can losslessly represent a native value type (e.g. std::wstring on Windows).

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + auto toml::node_view::value_or(T&& default_value) const noexcept(…) +

                                                                                                                              +

                                                                                                                              Gets the raw value contained by the referenced node, or a default.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TDefault value type. Must be one of the native TOML value types, or convertible to it.
                                                                                                                              Parameters
                                                                                                                              default_valueThe default value to return if the node wasn't a value, wasn't the correct type, or no conversion was possible.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or convertible to it) and within the range of the output type, or the provided default.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename Func> +
                                                                                                                              + decltype(auto) toml::node_view::visit(Func&& visitor) const noexcept(…) +

                                                                                                                              +

                                                                                                                              Invokes a visitor on the viewed node based on its concrete type.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + std::ostream& operator<<(std::ostream& os, + const node_view& nv) +

                                                                                                                              +

                                                                                                                              Prints the viewed node out to a stream.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.1/classtoml_1_1parse__error.html b/v3.0.1/classtoml_1_1parse__error.html new file mode 100644 index 00000000..fd036cf4 --- /dev/null +++ b/v3.0.1/classtoml_1_1parse__error.html @@ -0,0 +1,206 @@ + + + + toml::parse_error class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::parse_error class +

                                                                                                                              +

                                                                                                                              An error generated when parsing fails.

                                                                                                                              + + +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto description() const -> std::string_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a textual description of the error.
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the region of the source document responsible for the error.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const parse_error& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a parse_error to a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::string_view toml::parse_error::description() const noexcept +

                                                                                                                              +

                                                                                                                              Returns a textual description of the error.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const parse_error& rhs) +

                                                                                                                              +

                                                                                                                              Prints a parse_error to a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe stream.
                                                                                                                              rhsThe parse_error.
                                                                                                                              ReturnsThe input stream.
                                                                                                                              +
                                                                                                                              try
                                                                                                                              +{
                                                                                                                              +    auto tbl = toml::parse("enabled = trUe"sv);
                                                                                                                              +}
                                                                                                                              +catch (const toml::parse_error & err)
                                                                                                                              +{
                                                                                                                              +    std::cerr << "Parsing failed:\n"sv << err << "\n";
                                                                                                                              +}
                                                                                                                              Parsing failed:
                                                                                                                              +Encountered unexpected character while parsing boolean; expected 'true', saw 'trU'
                                                                                                                              +    (error occurred at line 1, column 13)
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.1/classtoml_1_1parse__result.html b/v3.0.1/classtoml_1_1parse__result.html new file mode 100644 index 00000000..998b6671 --- /dev/null +++ b/v3.0.1/classtoml_1_1parse__result.html @@ -0,0 +1,494 @@ + + + + toml::parse_result class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::parse_result class +

                                                                                                                              +

                                                                                                                              The result of a parsing operation.

                                                                                                                              + +

                                                                                                                              A parse_result is effectively a discriminated union containing either a toml::table or a toml::parse_error. Most member functions assume a particular one of these two states, and calling them when in the wrong state will cause errors (e.g. attempting to access the error object when parsing was successful).

                                                                                                                              toml::parse_result result = toml::parse_file("config.toml");
                                                                                                                              +if (result)
                                                                                                                              +    do_stuff_with_a_table(result); //implicitly converts to table&
                                                                                                                              +else
                                                                                                                              +    std::cerr << "Parse failed:\n"sv << result.error() << "\n";
                                                                                                                              example output:
                                                                                                                              +
                                                                                                                              +Parse failed:
                                                                                                                              +Encountered unexpected character while parsing boolean; expected 'true', saw 'trU'
                                                                                                                              +    (error occurred at line 1, column 13 of 'config.toml')

                                                                                                                              Getting node_views (operator[], at_path()) and using the iterator accessor functions (begin(), end() etc.) are unconditionally safe; when parsing fails these just return 'empty' values. A ranged-for loop on a failed parse_result is also safe since begin() and end() return the same iterator and will not lead to any dereferences and iterations.

                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + parse_result() noexcept +
                                                                                                                              +
                                                                                                                              Default constructs an 'error' result.
                                                                                                                              +
                                                                                                                              + parse_result(parse_result&& res) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              + ~parse_result() noexcept +
                                                                                                                              +
                                                                                                                              Destructor.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator=(parse_result&& rhs) -> parse_result& noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Failed parses

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto error() & -> parse_error& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error.
                                                                                                                              +
                                                                                                                              + auto error() && -> parse_error&& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto error() const & -> const parse_error& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error (const lvalue overload).
                                                                                                                              +
                                                                                                                              + operator const parse_error&() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error (const lvalue overload).
                                                                                                                              +
                                                                                                                              + operator parse_error&() explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error.
                                                                                                                              +
                                                                                                                              + operator parse_error&&() explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Iterators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using const_iterator = const_table_iterator +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over const key-value pairs in a wrapped toml::table.
                                                                                                                              +
                                                                                                                              + using iterator = table_iterator +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over key-value pairs in a wrapped toml::table.
                                                                                                                              +
                                                                                                                              + auto begin() -> table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto begin() const -> const_table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto cbegin() const -> const_table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto cend() const -> const_table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto end() -> table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto end() const -> const_table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Node views

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto operator[](std::string_view key) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto operator[](std::string_view key) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table (const overload).
                                                                                                                              +
                                                                                                                              + auto operator[](std::wstring_view key) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto operator[](std::wstring_view key) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Result state

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto failed() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if parsing failed.
                                                                                                                              +
                                                                                                                              + operator bool() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns true if parsing succeeded.
                                                                                                                              +
                                                                                                                              + auto succeeded() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if parsing succeeeded.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Successful parses

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + operator const toml::table&() const noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table (const lvalue overload).
                                                                                                                              +
                                                                                                                              + operator toml::table&() noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table.
                                                                                                                              +
                                                                                                                              + operator toml::table&&() noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto table() & -> toml::table& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table.
                                                                                                                              +
                                                                                                                              + auto table() && -> toml::table&& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto table() const & -> const toml::table& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& os, + const parse_result& result) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the held error or table object out to a text stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + table_iterator toml::parse_result::begin() noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_table_iterator toml::parse_result::begin() const noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_table_iterator toml::parse_result::cbegin() const noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::parse_result::at_path(std::string_view path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::parse_result::at_path(std::string_view path) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::parse_result::at_path(std::wstring_view path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::parse_result::at_path(std::wstring_view path) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::parse_result::operator[](std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if parsing was successful and a matching key existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::parse_result::operator[](std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if parsing was successful and a matching key existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::parse_result::operator[](std::wstring_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if parsing was successful and a matching key existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::parse_result::operator[](std::wstring_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if parsing was successful and a matching key existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& os, + const parse_result& result) +

                                                                                                                              +

                                                                                                                              Prints the held error or table object out to a text stream.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.1/classtoml_1_1table.html b/v3.0.1/classtoml_1_1table.html new file mode 100644 index 00000000..ea9b3244 --- /dev/null +++ b/v3.0.1/classtoml_1_1table.html @@ -0,0 +1,2024 @@ + + + + toml::table class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::table class +

                                                                                                                              +

                                                                                                                              A TOML table.

                                                                                                                              + +

                                                                                                                              The interface of this type is modeled after std::map, with some additional considerations made for the heterogeneous nature of a TOML table.

                                                                                                                              toml::table tbl = toml::parse(R"(
                                                                                                                              +
                                                                                                                              +    [animals]
                                                                                                                              +    cats = [ "tiger", "lion", "puma" ]
                                                                                                                              +    birds = [ "macaw", "pigeon", "canary" ]
                                                                                                                              +    fish = [ "salmon", "trout", "carp" ]
                                                                                                                              +
                                                                                                                              +)"sv);
                                                                                                                              +
                                                                                                                              +// operator[] retrieves node-views
                                                                                                                              +std::cout << "cats: " << tbl["animals"]["cats"] << "\n";
                                                                                                                              +std::cout << "fish[1]: " << tbl["animals"]["fish"][1] << "\n";
                                                                                                                              +
                                                                                                                              +// at_path() does fully-qualified "toml path" lookups
                                                                                                                              +std::cout << "cats: " << tbl.at_path("animals.cats") << "\n";
                                                                                                                              +std::cout << "fish[1]: " << tbl.at_path("animals.fish[1]") << "\n";
                                                                                                                              cats: ['tiger', 'lion', 'puma']
                                                                                                                              +fish[1] : 'trout'
                                                                                                                              +cats : ['tiger', 'lion', 'puma']
                                                                                                                              +fish[1] : 'trout'
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Base classes

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + class node +
                                                                                                                              +
                                                                                                                              A TOML node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + table() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Default constructor.
                                                                                                                              +
                                                                                                                              + table(const table&) +
                                                                                                                              +
                                                                                                                              Copy constructor.
                                                                                                                              +
                                                                                                                              + table(table&& other) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              + table(std::initializer_list<impl::table_init_pair> kvps) explicit +
                                                                                                                              +
                                                                                                                              Constructs a table with one or more initial key-value pairs.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator=(const table&) -> table& +
                                                                                                                              +
                                                                                                                              Copy-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(table&& rhs) -> table& noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const table& lhs, + const table& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const table& lhs, + const table& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Erasure

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + void clear() noexcept +
                                                                                                                              +
                                                                                                                              Removes all key-value pairs from the table.
                                                                                                                              +
                                                                                                                              + auto erase(iterator pos) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Removes the specified key-value pair from the table.
                                                                                                                              +
                                                                                                                              + auto erase(const_iterator pos) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Removes the specified key-value pair from the table (const iterator overload).
                                                                                                                              +
                                                                                                                              + auto erase(const_iterator begin, + const_iterator end) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Removes the key-value pairs in the range [first, last) from the table.
                                                                                                                              +
                                                                                                                              + auto erase(std::string_view key) -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Removes the value with the given key from the table.
                                                                                                                              +
                                                                                                                              + auto erase(std::wstring_view key) -> size_t +
                                                                                                                              +
                                                                                                                              Removes the value with the given key from the table.
                                                                                                                              +
                                                                                                                              + auto prune(bool recursive = true) & -> table& noexcept +
                                                                                                                              +
                                                                                                                              Removes empty child arrays and tables.
                                                                                                                              +
                                                                                                                              + auto prune(bool recursive = true) && -> table&& noexcept +
                                                                                                                              +
                                                                                                                              Removes empty child arrays and tables (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Insertion and Emplacement

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ValueType, typename KeyType, typename... ValueArgs>
                                                                                                                              + auto emplace(KeyType&& key, + ValueArgs && ... args) -> std::pair<iterator, bool> +
                                                                                                                              +
                                                                                                                              Emplaces a new value at a specific key if one did not already exist.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ValueType, typename KeyType, typename... ValueArgs>
                                                                                                                              + auto emplace_hint(const_iterator hint, + KeyType&& key, + ValueArgs && ... args) -> iterator +
                                                                                                                              +
                                                                                                                              Emplaces a new value at a specific key if one did not already exist.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename KeyType, typename ValueType>
                                                                                                                              + auto insert(KeyType&& key, + ValueType&& val, + value_flags flags = preserve_source_value_flags) -> std::pair<iterator, bool> +
                                                                                                                              +
                                                                                                                              Inserts a new value at a specific key if one did not already exist.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Iter>
                                                                                                                              + void insert(Iter begin, + Iter end, + value_flags flags = preserve_source_value_flags) +
                                                                                                                              +
                                                                                                                              Inserts a series of key-value pairs into the table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename KeyType, typename ValueType>
                                                                                                                              + auto insert_or_assign(KeyType&& key, + ValueType&& val, + value_flags flags = preserve_source_value_flags) -> std::pair<iterator, bool> +
                                                                                                                              +
                                                                                                                              Inserts or assigns a value at a specific key.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Iterators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using const_iterator = toml::const_table_iterator +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over const key-value pairs in a toml::table.
                                                                                                                              +
                                                                                                                              + using iterator = toml::table_iterator +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over key-value pairs in a toml::table.
                                                                                                                              +
                                                                                                                              + auto begin() -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair.
                                                                                                                              +
                                                                                                                              + auto begin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair.
                                                                                                                              +
                                                                                                                              + auto cbegin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair.
                                                                                                                              +
                                                                                                                              + auto cend() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair.
                                                                                                                              +
                                                                                                                              + auto end() -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair.
                                                                                                                              +
                                                                                                                              + auto end() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Metadata

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto is_inline() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this table is an inline table.
                                                                                                                              +
                                                                                                                              + void is_inline(bool val) noexcept +
                                                                                                                              +
                                                                                                                              Sets whether this table is a TOML inline table.
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the source region responsible for generating this node during parsing.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Node views

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) -> node_view<node> +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) const -> node_view<const node> +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + operator node_view<const node>() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node (const overload).
                                                                                                                              +
                                                                                                                              + operator node_view<node>() explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node.
                                                                                                                              +
                                                                                                                              + auto operator[](std::string_view key) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected value.
                                                                                                                              +
                                                                                                                              + auto operator[](std::string_view key) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected value (const overload).
                                                                                                                              +
                                                                                                                              + auto operator[](std::wstring_view key) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected value.
                                                                                                                              +
                                                                                                                              + auto operator[](std::wstring_view key) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected value (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Searching

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto contains(std::string_view key) const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the table contains a node at the given key.
                                                                                                                              +
                                                                                                                              + auto contains(std::wstring_view key) const -> bool +
                                                                                                                              +
                                                                                                                              Returns true if the table contains a node at the given key.
                                                                                                                              +
                                                                                                                              + auto find(std::string_view key) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Gets an iterator to the node at a specific key.
                                                                                                                              +
                                                                                                                              + auto find(std::string_view key) const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Gets an iterator to the node at a specific key (const overload)
                                                                                                                              +
                                                                                                                              + auto find(std::wstring_view key) -> iterator +
                                                                                                                              +
                                                                                                                              Gets an iterator to the node at a specific key.
                                                                                                                              +
                                                                                                                              + auto find(std::wstring_view key) const -> const_iterator +
                                                                                                                              +
                                                                                                                              Gets an iterator to the node at a specific key (const overload).
                                                                                                                              +
                                                                                                                              + auto lower_bound(std::string_view key) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair with key that is not less than the given key.
                                                                                                                              +
                                                                                                                              + auto lower_bound(std::string_view key) const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns a const iterator to the first key-value pair with key that is not less than the given key.
                                                                                                                              +
                                                                                                                              + auto lower_bound(std::wstring_view key) -> iterator +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair with key that is not less than the given key.
                                                                                                                              +
                                                                                                                              + auto lower_bound(std::wstring_view key) const -> const_iterator +
                                                                                                                              +
                                                                                                                              Returns a const iterator to the first key-value pair with key that is not less than the given key.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Size and Capacity

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto empty() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the table is empty.
                                                                                                                              +
                                                                                                                              + auto size() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the number of key-value pairs in the table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type casts

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() -> impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() const -> const impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type (const overload).
                                                                                                                              +
                                                                                                                              + auto as_array() -> array* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_array() const -> const array* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_boolean() -> toml::value<bool>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_boolean() const -> const toml::value<bool>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date() -> toml::value<date>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date() const -> const toml::value<date>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date_time() -> toml::value<date_time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date_time() const -> const toml::value<date_time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() -> toml::value<double>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() const -> const toml::value<double>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_integer() -> toml::value<int64_t>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_integer() const -> const toml::value<int64_t>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_string() -> toml::value<std::string>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_string() const -> const toml::value<std::string>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_table() -> table* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the table.
                                                                                                                              +
                                                                                                                              + auto as_table() const -> const table* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the table.
                                                                                                                              +
                                                                                                                              + auto as_time() -> toml::value<time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_time() const -> const toml::value<time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type checks

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto is() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node is a specific type.
                                                                                                                              +
                                                                                                                              + auto is_array() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_array_of_tables() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_boolean() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_date() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_date_time() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_floating_point() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype) const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + node*& first_nonmatch) -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + const node*& first_nonmatch) const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType = void>
                                                                                                                              + auto is_homogeneous() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_integer() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_number() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_string() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_table() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true.
                                                                                                                              +
                                                                                                                              + auto is_time() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_value() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto type() const -> node_type final noexcept +
                                                                                                                              +
                                                                                                                              Returns toml::node_type::table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Value retrieval

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at(std::string_view key) -> node& +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific key, throwing std::out_of_range if none existed.
                                                                                                                              +
                                                                                                                              + auto at(std::string_view key) const -> const node& +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific key, throwing std::out_of_range if none existed.
                                                                                                                              +
                                                                                                                              + auto at(std::wstring_view key) -> node& +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific key, throwing std::out_of_range if none existed.
                                                                                                                              +
                                                                                                                              + auto at(std::wstring_view key) const -> const node& +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific key, throwing std::out_of_range if none existed.
                                                                                                                              +
                                                                                                                              + auto get(std::string_view key) -> node* noexcept +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key.
                                                                                                                              +
                                                                                                                              + auto get(std::string_view key) const -> const node* noexcept +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key (const overload).
                                                                                                                              +
                                                                                                                              + auto get(std::wstring_view key) -> node* +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key.
                                                                                                                              +
                                                                                                                              + auto get(std::wstring_view key) const -> const node* +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto get_as(std::string_view key) -> impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key if it is a particular type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto get_as(std::string_view key) const -> const impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key if it is a particular type (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto get_as(std::wstring_view key) -> impl::wrap_node<T>* +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key if it is a particular type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto get_as(std::wstring_view key) const -> const impl::wrap_node<T>* +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key if it is a particular type (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_exact() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_or(T&& default_value) const -> auto noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the raw value contained by this node, or a default.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Visitation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const table& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the table out to a stream as formatted TOML.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::table::table(std::initializer_list<impl::table_init_pair> kvps) explicit +

                                                                                                                              +

                                                                                                                              Constructs a table with one or more initial key-value pairs.

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              kvpsA list of key-value pairs used to initialize the table.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "foo", 1 },
                                                                                                                              +    { "bar", 2.0 },
                                                                                                                              +    { "kek", "three" }
                                                                                                                              +};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { foo = 1, bar = 2.0, kek = "three" }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::operator!=(const table& lhs, + const table& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Inequality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS table.
                                                                                                                              rhsThe RHS table.
                                                                                                                              ReturnsTrue if the tables did not contain the same keys and map.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::operator==(const table& lhs, + const table& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Equality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS table.
                                                                                                                              rhsThe RHS table.
                                                                                                                              ReturnsTrue if the tables contained the same keys and map.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::erase(iterator pos) noexcept +

                                                                                                                              +

                                                                                                                              Removes the specified key-value pair from the table.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              posIterator to the key-value pair being erased.
                                                                                                                              ReturnsIterator to the first key-value pair immediately following the removed key-value pair.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 1 },
                                                                                                                              +    { "b", 2 },
                                                                                                                              +    { "c", 3 }
                                                                                                                              +};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +
                                                                                                                              +tbl.erase(tbl.begin() + 1);
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { a = 1, b = 2, c = 3 }
                                                                                                                              +{ a = 1, c = 3 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::erase(const_iterator pos) noexcept +

                                                                                                                              +

                                                                                                                              Removes the specified key-value pair from the table (const iterator overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              posIterator to the key-value pair being erased.
                                                                                                                              ReturnsIterator to the first key-value pair immediately following the removed key-value pair.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 1 },
                                                                                                                              +    { "b", 2 },
                                                                                                                              +    { "c", 3 }
                                                                                                                              +};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +
                                                                                                                              +tbl.erase(tbl.cbegin() + 1);
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { a = 1, b = 2, c = 3 }
                                                                                                                              +{ a = 1, c = 3 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::erase(const_iterator begin, + const_iterator end) noexcept +

                                                                                                                              +

                                                                                                                              Removes the key-value pairs in the range [first, last) from the table.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              beginIterator to the first key-value pair being erased.
                                                                                                                              endIterator to the one-past-the-last key-value pair being erased.
                                                                                                                              ReturnsIterator to the first key-value pair immediately following the last removed key-value pair.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 1 },
                                                                                                                              +    { "b", "bad" },
                                                                                                                              +    { "c", "karma" },
                                                                                                                              +    { "d", 2 }
                                                                                                                              +};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +
                                                                                                                              +tbl.erase(tbl.cbegin() + 1, tbl.cbegin() + 3);
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { a = 1, b = "bad", c = "karma", d = 2 }
                                                                                                                              +{ a = 1, d = 2 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + size_t toml::table::erase(std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Removes the value with the given key from the table.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyKey to erase.
                                                                                                                              ReturnsNumber of elements removed (0 or 1).
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 1 },
                                                                                                                              +    { "b", 2 },
                                                                                                                              +    { "c", 3 }
                                                                                                                              +};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +
                                                                                                                              +std::cout << tbl.erase("b") << "\n";
                                                                                                                              +std::cout << tbl.erase("not an existing key") << "\n";
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { a = 1, b = 2, c = 3 }
                                                                                                                              +true
                                                                                                                              +false
                                                                                                                              +{ a = 1, c = 3 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + size_t toml::table::erase(std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Removes the value with the given key from the table.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyKey to erase.
                                                                                                                              ReturnsNumber of elements removed (0 or 1).
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + table& toml::table::prune(bool recursive = true) & noexcept +

                                                                                                                              +

                                                                                                                              Removes empty child arrays and tables.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              recursiveShould child arrays and tables themselves be pruned?
                                                                                                                              ReturnsA reference to the table.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{ { "a", 1 }, { "b", toml::array{ } }, { "c", toml::array{ toml::table{}, toml::array{} } } };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +
                                                                                                                              +arr.prune();
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              { a = 1, b = [], c = [ {}, [] ] }
                                                                                                                              +{ a = 1 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + table&& toml::table::prune(bool recursive = true) && noexcept +

                                                                                                                              +

                                                                                                                              Removes empty child arrays and tables (rvalue overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              recursiveShould child arrays and tables themselves be pruned?
                                                                                                                              ReturnsAn rvalue reference to the table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType, typename KeyType, typename... ValueArgs> +
                                                                                                                              + std::pair<iterator, bool> toml::table::emplace(KeyType&& key, + ValueArgs && ... args) +

                                                                                                                              +

                                                                                                                              Emplaces a new value at a specific key if one did not already exist.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ValueTypetoml::table, toml::array, or any native TOML value type.
                                                                                                                              KeyTypeA toml::key or any compatible string type.
                                                                                                                              ValueArgsValue constructor argument types.
                                                                                                                              Parameters
                                                                                                                              keyThe key at which to emplace the new value.
                                                                                                                              argsArguments to forward to the value's constructor.
                                                                                                                              Returns

                                                                                                                              A std::pair containing:

                                                                                                                              • An iterator to the emplacement position (or the position of the value that prevented emplacement)
                                                                                                                              • A boolean indicating if the emplacement was successful.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 1 },
                                                                                                                              +    { "b", 2 },
                                                                                                                              +    { "c", 3 }
                                                                                                                              +};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +
                                                                                                                              +for (auto k : { "a", "d" })
                                                                                                                              +{
                                                                                                                              +    // add a string using std::string's substring constructor
                                                                                                                              +    auto result = tbl.emplace<std::string>(k, "this is not a drill"sv, 14, 5);
                                                                                                                              +    std::cout << "emplaced with key '"sv << k << "': "sv << result.second << "\n";
                                                                                                                              +}
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { a = 1, b = 2, c = 3 }
                                                                                                                              +emplaced with key 'a': false
                                                                                                                              +emplaced with key 'd': true
                                                                                                                              +{ a = 1, b = 2, c = 3, d = "drill" }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType, typename KeyType, typename... ValueArgs> +
                                                                                                                              + iterator toml::table::emplace_hint(const_iterator hint, + KeyType&& key, + ValueArgs && ... args) +

                                                                                                                              +

                                                                                                                              Emplaces a new value at a specific key if one did not already exist.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ValueTypetoml::table, toml::array, or any native TOML value type.
                                                                                                                              KeyTypeA toml::key or any compatible string type.
                                                                                                                              ValueArgsValue constructor argument types.
                                                                                                                              Parameters
                                                                                                                              hintIterator to the position before which the new element will be emplaced.
                                                                                                                              keyThe key at which to emplace the new value.
                                                                                                                              argsArguments to forward to the value's constructor.
                                                                                                                              ReturnsAn iterator to the emplacement position (or the position of the value that prevented emplacement)
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename KeyType, typename ValueType> +
                                                                                                                              + std::pair<iterator, bool> toml::table::insert(KeyType&& key, + ValueType&& val, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Inserts a new value at a specific key if one did not already exist.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              KeyTypeA toml::key or any compatible string type.
                                                                                                                              ValueTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              keyThe key at which to insert the new value.
                                                                                                                              valThe new value to insert.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              Returns

                                                                                                                              Valid input:

                                                                                                                              • An iterator to the insertion position (or the position of the value that prevented insertion)
                                                                                                                              • A boolean indicating if the insertion was successful.
                                                                                                                              +

                                                                                                                              Input is a null toml::node_view: + { end(), false }

                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto tbl = toml::table{ + { "a", 1 }, + { "b", 2 }, + { "c", 3 } +}; +std::cout << tbl << "\n"; + +for (auto k : { "a", "d" }) +{ + auto result = tbl.insert(k, 42); + std::cout << "inserted with key '"sv << k << "': "sv << result.second << "\n"; +} +std::cout << tbl << "\n";
                                                                                                                              a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +
                                                                                                                              +inserted with key 'a': false
                                                                                                                              +inserted with key 'd': true
                                                                                                                              +a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +d = 42
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Iter> +
                                                                                                                              + void toml::table::insert(Iter begin, + Iter end, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Inserts a series of key-value pairs into the table.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              IterAn InputIterator to a collection of key-value pairs.
                                                                                                                              Parameters
                                                                                                                              beginAn iterator to the first value in the input collection.
                                                                                                                              endAn iterator to one-past-the-last value in the input collection.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto tbl = toml::table{ + { "a", 1 }, + { "b", 2 }, + { "c", 3 } +}; +std::cout << tbl << "\n"; + +auto kvps = std::array<std::pair<std::string, int>, 2>{{ + { "d", 42 }, + { "a", 43 } // won't be inserted, 'a' already exists +}}; +tbl.insert(kvps.begin(), kvps.end()); +std::cout << tbl << "\n";
                                                                                                                              a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +
                                                                                                                              +a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +d = 42
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename KeyType, typename ValueType> +
                                                                                                                              + std::pair<iterator, bool> toml::table::insert_or_assign(KeyType&& key, + ValueType&& val, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Inserts or assigns a value at a specific key.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              KeyTypeA toml::key or any compatible string type.
                                                                                                                              ValueTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              keyThe key at which to insert or assign the value.
                                                                                                                              valThe value to insert/assign.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              Returns

                                                                                                                              Valid input:

                                                                                                                              • An iterator to the value's position
                                                                                                                              • true if the value was inserted, false if it was assigned.
                                                                                                                              +

                                                                                                                              Input is a null toml::node_view: + { end(), false }

                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto tbl = toml::table{ + { "a", 1 }, + { "b", 2 }, + { "c", 3 } +}; +std::cout << tbl << "\n"; + +for (auto k : { "a", "d" }) +{ + auto result = tbl.insert_or_assign(k, 42); + std::cout << "value at key '"sv << k + << "' was "sv << (result.second ? "inserted"sv : "assigned"sv) << "\n"; +} +std::cout << tbl << "\n";
                                                                                                                              a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +
                                                                                                                              +value at key 'a' was assigned
                                                                                                                              +value at key 'd' was inserted
                                                                                                                              +a = 42
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +d = 42
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::is_inline() const noexcept +

                                                                                                                              +

                                                                                                                              Returns true if this table is an inline table.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + void toml::table::is_inline(bool val) noexcept +

                                                                                                                              +

                                                                                                                              Sets whether this table is a TOML inline table.

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              valThe new value for 'inline'.
                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto tbl = toml::table{ + { "a", 1 }, + { "b", 2 }, + { "c", 3 }, + { "d", toml::table{ { "e", 4 } } } +}; +std::cout << "is inline? "sv << tbl.is_inline() << "\n"; +std::cout << tbl << "\n\n"; + +tbl.is_inline(!tbl.is_inline()); +std::cout << "is inline? "sv << tbl.is_inline() << "\n"; +std::cout << tbl << "\n";
                                                                                                                              is inline? false
                                                                                                                              +a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +
                                                                                                                              +[d]
                                                                                                                              +e = 4
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +is inline? true
                                                                                                                              +{ a = 1, b = 2, c = 3, d = { e = 4 } }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::table::operator[](std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected value.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if one existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::table::operator[](std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected value (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if one existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::table::operator[](std::wstring_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected value.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if one existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::table::operator[](std::wstring_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected value (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if one existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::contains(std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Returns true if the table contains a node at the given key.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::find(std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets an iterator to the node at a specific key.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsAn iterator to the node at the specified key, or end().
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_iterator toml::table::find(std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets an iterator to the node at a specific key (const overload)

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA const iterator to the node at the specified key, or cend().
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::find(std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Gets an iterator to the node at a specific key.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsAn iterator to the node at the specified key, or end().
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_iterator toml::table::find(std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Gets an iterator to the node at a specific key (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA const iterator to the node at the specified key, or cend().
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::lower_bound(std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to the first key-value pair with key that is not less than the given key.

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsAn iterator to the first matching key-value pair, or end().
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_iterator toml::table::lower_bound(std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const iterator to the first key-value pair with key that is not less than the given key.

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsAn iterator to the first matching key-value pair, or end().
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::lower_bound(std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Returns an iterator to the first key-value pair with key that is not less than the given key.

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsAn iterator to the first matching key-value pair, or end().
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_iterator toml::table::lower_bound(std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Returns a const iterator to the first key-value pair with key that is not less than the given key.

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsAn iterator to the first matching key-value pair, or end().
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::is_homogeneous(node_type ntype) const final noexcept +

                                                                                                                              +

                                                                                                                              Checks if the node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << "homogenous: "sv << arr.is_homogeneous(toml::node_type::none) << "\n";
                                                                                                                              +std::cout << "all floats: "sv << arr.is_homogeneous(toml::node_type::floating_point) << "\n";
                                                                                                                              +std::cout << "all arrays: "sv << arr.is_homogeneous(toml::node_type::array) << "\n";
                                                                                                                              +std::cout << "all ints:   "sv << arr.is_homogeneous(toml::node_type::integer) << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::is_homogeneous(node_type ntype, + node*& first_nonmatch) final noexcept +

                                                                                                                              +

                                                                                                                              Checks if a node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              first_nonmatchReference to a pointer in which the address of the first non-matching element will be stored if the return value is false.
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]");
                                                                                                                              +toml::array& arr = *cfg["arr"].as_array();
                                                                                                                              +
                                                                                                                              +toml::node* nonmatch{};
                                                                                                                              +if (arr.is_homogeneous(toml::node_type::integer, nonmatch))
                                                                                                                              +    std::cout << "array was homogeneous"sv << "\n";
                                                                                                                              +else
                                                                                                                              +    std::cout << "array was not homogeneous!\n"
                                                                                                                              +    << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
                                                                                                                              array was not homogeneous!
                                                                                                                              +first non-match was a floating-point at line 1, column 18
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node& toml::table::at(std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Gets a reference to the element at a specific key, throwing std::out_of_range if none existed.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const node& toml::table::at(std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Gets a reference to the element at a specific key, throwing std::out_of_range if none existed.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node* toml::table::get(std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key, or nullptr.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 42, },
                                                                                                                              +    { "b", "is the meaning of life, apparently." }
                                                                                                                              +};
                                                                                                                              +std::cout << R"(node ["a"] exists: )"sv << !!arr.get("a") << "\n";
                                                                                                                              +std::cout << R"(node ["b"] exists: )"sv << !!arr.get("b") << "\n";
                                                                                                                              +std::cout << R"(node ["c"] exists: )"sv << !!arr.get("c") << "\n";
                                                                                                                              +if (auto val = arr.get("a"))
                                                                                                                              +    std::cout << R"(node ["a"] was an )"sv << val->type() << "\n";
                                                                                                                              node ["a"] exists: true
                                                                                                                              +node ["b"] exists: true
                                                                                                                              +node ["c"] exists: false
                                                                                                                              +node ["a"] was an integer
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const node* toml::table::get(std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key, or nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node* toml::table::get(std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key, or nullptr.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const node* toml::table::get(std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key, or nullptr.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + impl::wrap_node<T>* toml::table::get_as(std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key if it is a particular type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the TOML node or value types.
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key if it was of the given type, or nullptr.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 42, },
                                                                                                                              +    { "b", "is the meaning of life, apparently." }
                                                                                                                              +};
                                                                                                                              +if (auto val = arr.get_as<int64_t>("a"))
                                                                                                                              +    std::cout << R"(node ["a"] was an integer with value )"sv << **val << "\n";
                                                                                                                              node ["a"] was an integer with value 42
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + const impl::wrap_node<T>* toml::table::get_as(std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key if it is a particular type (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the TOML node or value types.
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key if it was of the given type, or nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + impl::wrap_node<T>* toml::table::get_as(std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key if it is a particular type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the TOML node or value types.
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key if it was of the given type, or nullptr.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + const impl::wrap_node<T>* toml::table::get_as(std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key if it is a particular type (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the TOML node or value types.
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key if it was of the given type, or nullptr.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const table& rhs) +

                                                                                                                              +

                                                                                                                              Prints the table out to a stream as formatted TOML.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.1/classtoml_1_1toml__formatter.html b/v3.0.1/classtoml_1_1toml__formatter.html new file mode 100644 index 00000000..e441b0ee --- /dev/null +++ b/v3.0.1/classtoml_1_1toml__formatter.html @@ -0,0 +1,243 @@ + + + + toml::toml_formatter class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::toml_formatter class +

                                                                                                                              +

                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted TOML.

                                                                                                                              + +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "description", "This is some TOML, yo." },
                                                                                                                              +    { "fruit", toml::array{ "apple", "orange", "pear" } },
                                                                                                                              +    { "numbers", toml::array{ 1, 2, 3, 4, 5 } },
                                                                                                                              +    { "table", toml::table{ { "foo", "bar" } } }
                                                                                                                              +};
                                                                                                                              +
                                                                                                                              +// these two lines are equivalent:
                                                                                                                              +std::cout << toml::toml_formatter{ tbl } << "\n";
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              description = "This is some TOML, yo."
                                                                                                                              +fruit = ["apple", "orange", "pear"]
                                                                                                                              +numbers = [1, 2, 3, 4, 5]
                                                                                                                              +
                                                                                                                              +[table]
                                                                                                                              +foo = "bar"
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public static variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + static format_flags default_flags constexpr +
                                                                                                                              +
                                                                                                                              The default flags for a toml_formatter.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + toml_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a TOML formatter and binds it to a TOML object.
                                                                                                                              +
                                                                                                                              + toml_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a TOML formatter and binds it to a toml::parse_result.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + toml_formatter& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as formatted TOML.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + toml_formatter&& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as formatted TOML (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::toml_formatter::toml_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a TOML formatter and binds it to a TOML object.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              sourceThe source TOML object.
                                                                                                                              flagsFormat option flags.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::toml_formatter::toml_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a TOML formatter and binds it to a toml::parse_result.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              resultThe parse result.
                                                                                                                              flagsFormat option flags.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.1/classtoml_1_1value.html b/v3.0.1/classtoml_1_1value.html new file mode 100644 index 00000000..fc65bb75 --- /dev/null +++ b/v3.0.1/classtoml_1_1value.html @@ -0,0 +1,1047 @@ + + + + toml::value class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              template <typename ValueType>
                                                                                                                              + toml::value class +

                                                                                                                              +

                                                                                                                              A TOML value.

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ValueType

                                                                                                                              The value's native TOML data type. Can be one of:

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Base classes

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + class node +
                                                                                                                              +
                                                                                                                              A TOML node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public types

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using value_arg = /* ... */ +
                                                                                                                              +
                                                                                                                              A type alias for 'value arguments'.
                                                                                                                              +
                                                                                                                              + using value_type = ValueType +
                                                                                                                              +
                                                                                                                              The value's underlying data type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename... Args>
                                                                                                                              + value(Args && ... args) explicit noexcept(…) +
                                                                                                                              +
                                                                                                                              Constructs a toml value.
                                                                                                                              +
                                                                                                                              + value(const value& other) noexcept +
                                                                                                                              +
                                                                                                                              Copy constructor.
                                                                                                                              +
                                                                                                                              + value(const value& other, + value_flags flags) noexcept +
                                                                                                                              +
                                                                                                                              Copy constructor with flags override.
                                                                                                                              +
                                                                                                                              + value(value&& other) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              + value(value&& other, + value_flags flags) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor with flags override.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator=(const value& rhs) -> value& noexcept +
                                                                                                                              +
                                                                                                                              Copy-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(value&& rhs) -> value& noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(value_arg rhs) -> value& noexcept +
                                                                                                                              +
                                                                                                                              Value-assignment operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality and Comparison

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator!=(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(const value& lhs, + value_arg rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<(value_arg lhs, + const value& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value less-than operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator<(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<=(const value& lhs, + value_arg rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator<=(value_arg lhs, + const value& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator<=(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const value& lhs, + value_arg rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value equality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(const value& lhs, + value_arg rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>(value_arg lhs, + const value& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value greater-than operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator>(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(const value& lhs, + value_arg rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(value_arg lhs, + const value& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator>=(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Metadata

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto flags() const -> value_flags noexcept +
                                                                                                                              +
                                                                                                                              Returns the metadata flags associated with this value.
                                                                                                                              +
                                                                                                                              + auto flags(value_flags new_flags) -> value& noexcept +
                                                                                                                              +
                                                                                                                              Sets the metadata flags associated with this value.
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the source region responsible for generating this node during parsing.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Node views

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) -> node_view<node> +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) const -> node_view<const node> +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + operator node_view<const node>() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node (const overload).
                                                                                                                              +
                                                                                                                              + operator node_view<node>() explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type casts

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() -> impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() const -> const impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type (const overload).
                                                                                                                              +
                                                                                                                              + auto as_array() -> array* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_array() const -> const array* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_boolean() -> value<bool>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<bool>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_boolean() const -> const value<bool>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<bool>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date() -> value<date>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<date>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date() const -> const value<date>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<date>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date_time() -> value<date_time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<date_time>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date_time() const -> const value<date_time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<date_time>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() -> value<double>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<double>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() const -> const value<double>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<double>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_integer() -> value<int64_t>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<int64_t>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_integer() const -> const value<int64_t>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<int64_t>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_string() -> value<std::string>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<std::string>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_string() const -> const value<std::string>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<std::string>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_table() -> table* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_table() const -> const table* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_time() -> value<time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<time>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_time() const -> const value<time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<time>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type checks

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto is() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node is a specific type.
                                                                                                                              +
                                                                                                                              + auto is_array() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_array_of_tables() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_boolean() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is bool.
                                                                                                                              +
                                                                                                                              + auto is_date() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is toml::date.
                                                                                                                              +
                                                                                                                              + auto is_date_time() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is toml_date_time.
                                                                                                                              +
                                                                                                                              + auto is_floating_point() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is double.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype) const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + node*& first_nonmatch) -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + const node*& first_nonmatch) const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType = void>
                                                                                                                              + auto is_homogeneous() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_integer() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is int64_t.
                                                                                                                              +
                                                                                                                              + auto is_number() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is int64_t or double.
                                                                                                                              +
                                                                                                                              + auto is_string() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is std::string.
                                                                                                                              +
                                                                                                                              + auto is_table() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_time() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is toml::time.
                                                                                                                              +
                                                                                                                              + auto is_value() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true.
                                                                                                                              +
                                                                                                                              + auto type() const -> node_type final noexcept +
                                                                                                                              +
                                                                                                                              Returns the value's node type identifier.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Value retrieval

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto get() & -> value_type& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value.
                                                                                                                              +
                                                                                                                              + auto get() && -> value_type&& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto get() const & -> const value_type& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const overload).
                                                                                                                              +
                                                                                                                              + auto get() const && -> const value_type&& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const rvalue overload).
                                                                                                                              +
                                                                                                                              + operator const value_type&() const & explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const overload).
                                                                                                                              +
                                                                                                                              + operator const value_type&&() && explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const rvalue overload).
                                                                                                                              +
                                                                                                                              + operator value_type&() & explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value.
                                                                                                                              +
                                                                                                                              + operator value_type&&() && explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto operator*() & -> value_type& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value.
                                                                                                                              +
                                                                                                                              + auto operator*() && -> value_type&& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto operator*() const & -> const value_type& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const overload).
                                                                                                                              +
                                                                                                                              + auto operator*() const && -> const value_type&& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const rvalue overload).
                                                                                                                              +
                                                                                                                              + auto operator->() -> value_type* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the underlying value.
                                                                                                                              +
                                                                                                                              + auto operator->() const -> const value_type* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the underlying value (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_exact() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_or(T&& default_value) const -> auto noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the raw value contained by this node, or a default.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Visitation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const value& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the value out to a stream as formatted TOML.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Typedef documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + using toml::value::value_arg = /* ... */ +

                                                                                                                              +

                                                                                                                              A type alias for 'value arguments'.

                                                                                                                              +

                                                                                                                              This differs according to the value's type argument:

                                                                                                                              • ints, floats, booleans: value_type
                                                                                                                              • strings: string_view
                                                                                                                              • everything else: const value_type&
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename... Args> +
                                                                                                                              + toml::value::value(Args && ... args) explicit noexcept(…) +

                                                                                                                              +

                                                                                                                              Constructs a toml value.

                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ArgsConstructor argument types.
                                                                                                                              Parameters
                                                                                                                              argsArguments to forward to the internal value's constructor.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator!=(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Inequality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS value.
                                                                                                                              rhsThe RHS value.
                                                                                                                              ReturnsTrue if the values were not of the same type, or did not contain the same value.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator<(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Less-than operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS toml::value.
                                                                                                                              rhsThe RHS toml::value.
                                                                                                                              ReturnsSame value types: + lhs.get() < rhs.get()Different value types: + lhs.type() < rhs.type()
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator<=(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Less-than-or-equal-to operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS toml::value.
                                                                                                                              rhsThe RHS toml::value.
                                                                                                                              ReturnsSame value types: + lhs.get() <= rhs.get()Different value types: + lhs.type() <= rhs.type()
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator==(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Equality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS value.
                                                                                                                              rhsThe RHS value.
                                                                                                                              ReturnsTrue if the values were of the same type and contained the same value.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator>(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Greater-than operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS toml::value.
                                                                                                                              rhsThe RHS toml::value.
                                                                                                                              ReturnsSame value types: + lhs.get() > rhs.get()Different value types: + lhs.type() > rhs.type()
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator>=(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Greater-than-or-equal-to operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS toml::value.
                                                                                                                              rhsThe RHS toml::value.
                                                                                                                              ReturnsSame value types: + lhs.get() >= rhs.get()Different value types: + lhs.type() >= rhs.type()
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + value& toml::value::flags(value_flags new_flags) noexcept +

                                                                                                                              +

                                                                                                                              Sets the metadata flags associated with this value.

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsA reference to the value object.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + bool toml::value::is_homogeneous(node_type ntype) const final noexcept +

                                                                                                                              +

                                                                                                                              Checks if the node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << "homogenous: "sv << arr.is_homogeneous(toml::node_type::none) << "\n";
                                                                                                                              +std::cout << "all floats: "sv << arr.is_homogeneous(toml::node_type::floating_point) << "\n";
                                                                                                                              +std::cout << "all arrays: "sv << arr.is_homogeneous(toml::node_type::array) << "\n";
                                                                                                                              +std::cout << "all ints:   "sv << arr.is_homogeneous(toml::node_type::integer) << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + bool toml::value::is_homogeneous(node_type ntype, + node*& first_nonmatch) final noexcept +

                                                                                                                              +

                                                                                                                              Checks if a node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              first_nonmatchReference to a pointer in which the address of the first non-matching element will be stored if the return value is false.
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]");
                                                                                                                              +toml::array& arr = *cfg["arr"].as_array();
                                                                                                                              +
                                                                                                                              +toml::node* nonmatch{};
                                                                                                                              +if (arr.is_homogeneous(toml::node_type::integer, nonmatch))
                                                                                                                              +    std::cout << "array was homogeneous"sv << "\n";
                                                                                                                              +else
                                                                                                                              +    std::cout << "array was not homogeneous!\n"
                                                                                                                              +    << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
                                                                                                                              array was not homogeneous!
                                                                                                                              +first non-match was a floating-point at line 1, column 18
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + node_type toml::value::type() const final noexcept +

                                                                                                                              +

                                                                                                                              Returns the value's node type identifier.

                                                                                                                              + + + + + + + +
                                                                                                                              Returns

                                                                                                                              One of:

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + value_type* toml::value::operator->() noexcept +

                                                                                                                              +

                                                                                                                              Returns a pointer to the underlying value.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + const value_type* toml::value::operator->() const noexcept +

                                                                                                                              +

                                                                                                                              Returns a pointer to the underlying value (const overload).

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const value& rhs) +

                                                                                                                              +

                                                                                                                              Prints the value out to a stream as formatted TOML.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.1/classtoml_1_1yaml__formatter.html b/v3.0.1/classtoml_1_1yaml__formatter.html new file mode 100644 index 00000000..4e8f9583 --- /dev/null +++ b/v3.0.1/classtoml_1_1yaml__formatter.html @@ -0,0 +1,243 @@ + + + + toml::yaml_formatter class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::yaml_formatter class +

                                                                                                                              +

                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted YAML.

                                                                                                                              + +
                                                                                                                              auto some_toml = toml::parse(R"(
                                                                                                                              +    [fruit]
                                                                                                                              +    apple.color = "red"
                                                                                                                              +    apple.taste.sweet = true
                                                                                                                              +
                                                                                                                              +    [fruit.apple.texture]
                                                                                                                              +    smooth = true
                                                                                                                              +)"sv);
                                                                                                                              +std::cout << toml::yaml_formatter{ some_toml } << "\n";
                                                                                                                              fruit:
                                                                                                                              +  apple:
                                                                                                                              +    color: red
                                                                                                                              +    taste:
                                                                                                                              +      sweet: true
                                                                                                                              +    texture:
                                                                                                                              +      smooth: true
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public static variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + static format_flags default_flags constexpr +
                                                                                                                              +
                                                                                                                              The default flags for a yaml_formatter.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + yaml_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a YAML formatter and binds it to a TOML object.
                                                                                                                              +
                                                                                                                              + yaml_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a YAML formatter and binds it to a toml::parse_result.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + yaml_formatter& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as YAML.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + yaml_formatter&& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as YAML (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::yaml_formatter::yaml_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a YAML formatter and binds it to a TOML object.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              sourceThe source TOML object.
                                                                                                                              flagsFormat option flags.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::yaml_formatter::yaml_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a YAML formatter and binds it to a toml::parse_result.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              resultThe parse result.
                                                                                                                              flagsFormat option flags.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.1/concepts.html b/v3.0.1/concepts.html new file mode 100644 index 00000000..14f9e178 --- /dev/null +++ b/v3.0.1/concepts.html @@ -0,0 +1,137 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Concepts

                                                                                                                              +
                                                                                                                                +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.1/favicon.ico b/v3.0.1/favicon.ico new file mode 100644 index 00000000..518213d1 Binary files /dev/null and b/v3.0.1/favicon.ico differ diff --git a/v3.0.1/files.html b/v3.0.1/files.html new file mode 100644 index 00000000..6219c463 --- /dev/null +++ b/v3.0.1/files.html @@ -0,0 +1,137 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Files

                                                                                                                              +
                                                                                                                                +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.1/group__configuration.html b/v3.0.1/group__configuration.html new file mode 100644 index 00000000..f69658cf --- /dev/null +++ b/v3.0.1/group__configuration.html @@ -0,0 +1,290 @@ + + + + Library Configuration module | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + Library Configuration module

                                                                                                                              +

                                                                                                                              Preprocessor macros for configuring library functionality.

                                                                                                                              + +

                                                                                                                              Define these before including toml++ to alter the way it functions.

                                                                                                                              +
                                                                                                                              +

                                                                                                                              Defines

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + #define TOML_API +
                                                                                                                              +
                                                                                                                              An annotation to add to public symbols.
                                                                                                                              +
                                                                                                                              + #define TOML_ASSERT(expr) +
                                                                                                                              +
                                                                                                                              Sets the assert function used by the library.
                                                                                                                              +
                                                                                                                              + #define TOML_CONFIG_HEADER +
                                                                                                                              +
                                                                                                                              An additional header to include before any other toml++ header files.
                                                                                                                              +
                                                                                                                              + #define TOML_ENABLE_FORMATTERS +
                                                                                                                              +
                                                                                                                              Sets whether the various formatter classes are enabled.
                                                                                                                              +
                                                                                                                              + #define TOML_ENABLE_PARSER +
                                                                                                                              +
                                                                                                                              Sets whether the parser-related parts of the library are included.
                                                                                                                              +
                                                                                                                              + #define TOML_ENABLE_UNRELEASED_FEATURES +
                                                                                                                              +
                                                                                                                              Enables support for unreleased TOML language features not yet part of a numbered version.
                                                                                                                              +
                                                                                                                              + #define TOML_ENABLE_WINDOWS_COMPAT +
                                                                                                                              +
                                                                                                                              Enables the use of wide strings (wchar_t, std::wstring) in various places throughout the library when building for Windows.
                                                                                                                              +
                                                                                                                              + #define TOML_EXCEPTIONS +
                                                                                                                              +
                                                                                                                              Sets whether the library uses exceptions to report parsing failures.
                                                                                                                              +
                                                                                                                              + #define TOML_HEADER_ONLY +
                                                                                                                              +
                                                                                                                              Sets whether the library is entirely inline.
                                                                                                                              +
                                                                                                                              + #define TOML_IMPLEMENTATION +
                                                                                                                              +
                                                                                                                              Enables the library's implementation when TOML_HEADER_ONLY is disabled.
                                                                                                                              +
                                                                                                                              + #define TOML_OPTIONAL_TYPE +
                                                                                                                              +
                                                                                                                              Overrides the optional<T> type used by the library.
                                                                                                                              +
                                                                                                                              + #define TOML_SMALL_FLOAT_TYPE +
                                                                                                                              +
                                                                                                                              If your codebase has an additional 'small' float type (e.g. half-precision), this tells toml++ about it.
                                                                                                                              +
                                                                                                                              + #define TOML_SMALL_INT_TYPE +
                                                                                                                              +
                                                                                                                              If your codebase has an additional 'small' integer type (e.g. 24-bits), this tells toml++ about it.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Define documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_API +

                                                                                                                              +

                                                                                                                              An annotation to add to public symbols.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_ASSERT(expr) +

                                                                                                                              +

                                                                                                                              Sets the assert function used by the library.

                                                                                                                              +

                                                                                                                              Defaults to the standard C assert().

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_CONFIG_HEADER +

                                                                                                                              +

                                                                                                                              An additional header to include before any other toml++ header files.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_ENABLE_FORMATTERS +

                                                                                                                              +

                                                                                                                              Sets whether the various formatter classes are enabled.

                                                                                                                              +

                                                                                                                              Defaults to 1.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_ENABLE_PARSER +

                                                                                                                              +

                                                                                                                              Sets whether the parser-related parts of the library are included.

                                                                                                                              +

                                                                                                                              Defaults to 1.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_ENABLE_UNRELEASED_FEATURES +

                                                                                                                              +

                                                                                                                              Enables support for unreleased TOML language features not yet part of a numbered version.

                                                                                                                              +

                                                                                                                              Defaults to 0.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_ENABLE_WINDOWS_COMPAT +

                                                                                                                              +

                                                                                                                              Enables the use of wide strings (wchar_t, std::wstring) in various places throughout the library when building for Windows.

                                                                                                                              +

                                                                                                                              Defaults to 1 when building for Windows, 0 otherwise. Has no effect when building for anything other than Windows.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_EXCEPTIONS +

                                                                                                                              +

                                                                                                                              Sets whether the library uses exceptions to report parsing failures.

                                                                                                                              +

                                                                                                                              Defaults to 1 or 0 according to your compiler's exception mode.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_HEADER_ONLY +

                                                                                                                              +

                                                                                                                              Sets whether the library is entirely inline.

                                                                                                                              +

                                                                                                                              Defaults to 1.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_IMPLEMENTATION +

                                                                                                                              +

                                                                                                                              Enables the library's implementation when TOML_HEADER_ONLY is disabled.

                                                                                                                              +

                                                                                                                              Not defined by default. Meaningless when TOML_HEADER_ONLY is enabled.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_OPTIONAL_TYPE +

                                                                                                                              +

                                                                                                                              Overrides the optional<T> type used by the library.

                                                                                                                              +

                                                                                                                              Not defined by default (use std::optional).

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_SMALL_FLOAT_TYPE +

                                                                                                                              +

                                                                                                                              If your codebase has an additional 'small' float type (e.g. half-precision), this tells toml++ about it.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_SMALL_INT_TYPE +

                                                                                                                              +

                                                                                                                              If your codebase has an additional 'small' integer type (e.g. 24-bits), this tells toml++ about it.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.1/index.html b/v3.0.1/index.html new file mode 100644 index 00000000..d0c0bc61 --- /dev/null +++ b/v3.0.1/index.html @@ -0,0 +1,428 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + Image + +

                                                                                                                              Features

                                                                                                                              • Supports the latest TOML release (v1.0.0), plus optional support for some unreleased TOML features
                                                                                                                              • Supports serializing to JSON and YAML
                                                                                                                              • Proper UTF-8 handling (incl. BOM)
                                                                                                                              • C++17 (plus some C++20 features where available, e.g. experimental support for char8_t strings)
                                                                                                                              • Header-only (optional!)
                                                                                                                              • Doesn't require RTTI
                                                                                                                              • Works with or without exceptions
                                                                                                                              • Tested on Clang (6+), GCC (7+) and MSVC (VS2019)
                                                                                                                              • Tested on x64, x86 and ARM

                                                                                                                              API documentation

                                                                                                                              You're looking at it! Browse the docs using the links at the top of the page. You can search from anywhere by pressing the TAB key.

                                                                                                                              Basic examples

                                                                                                                              Parsing files

                                                                                                                              Call toml::parse_file() and work with the toml::table you get back, or handle any toml::parse_error that gets thrown:

                                                                                                                              #include <iostream>
                                                                                                                              +#include <toml++/toml.h>
                                                                                                                              +
                                                                                                                              +int main(int argc, char** argv)
                                                                                                                              +{
                                                                                                                              +   toml::table tbl;
                                                                                                                              +   try
                                                                                                                              +   {
                                                                                                                              +       tbl = toml::parse_file(argv[1]);
                                                                                                                              +           std::cout << tbl << "\n";
                                                                                                                              +   }
                                                                                                                              +   catch (const toml::parse_error& err)
                                                                                                                              +   {
                                                                                                                              +       std::cerr << "Parsing failed:\n" << err << "\n";
                                                                                                                              +       return 1;
                                                                                                                              +   }
                                                                                                                              +
                                                                                                                              +   return 0;
                                                                                                                              +}

                                                                                                                              Parsing strings and iostreams

                                                                                                                              Call toml::parse() and work with the toml::table you get back, or handle any toml::parse_error that gets thrown:

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              #include <iostream> +#include <sstream> +#include <toml++/toml.h> +using namespace std::string_view_literals; + +int main() +{ + static constexpr std::string_view some_toml = R"( + [library] + name = "toml++" + authors = ["Mark Gillard <mark.gillard@outlook.com.au>"] + cpp = 17 + )"sv; + + try + { + // parse directly from a string view: + { + toml::table tbl = toml::parse(some_toml); + std::cout << tbl << "\n"; + } + + // parse from a string stream: + { + std::stringstream ss{ std::string{ some_toml } }; + toml::table tbl = toml::parse(ss); + std::cout << tbl << "\n"; + } + } + catch (const toml::parse_error& err) + { + std::cerr << "Parsing failed:\n" << err << "\n"; + return 1; + } + + return 0; +}
                                                                                                                              [library]
                                                                                                                              +authors = [ 'Mark Gillard <mark.gillard@outlook.com.au>' ]
                                                                                                                              +cpp = 17
                                                                                                                              +name = 'toml++'
                                                                                                                              +
                                                                                                                              +[library]
                                                                                                                              +authors = [ 'Mark Gillard <mark.gillard@outlook.com.au>' ]
                                                                                                                              +cpp = 17
                                                                                                                              +name = 'toml++'

                                                                                                                              Handling errors without exceptions

                                                                                                                              Can't (or won't) use exceptions? That's fine too. You can disable exceptions in your compiler flags and/or explicitly disable the library's use of them by setting the option TOML_EXCEPTIONS to 0. In either case, the parsing functions return a toml::parse_result instead of a toml::table:

                                                                                                                              #include <iostream>
                                                                                                                              +
                                                                                                                              +#define TOML_EXCEPTIONS 0 // only necessary if you've left them enabled in your compiler
                                                                                                                              +#include <toml++/toml.h>
                                                                                                                              +
                                                                                                                              +int main()
                                                                                                                              +{
                                                                                                                              +   toml::parse_result result = toml::parse_file("configuration.toml");
                                                                                                                              +   if (!result)
                                                                                                                              +   {
                                                                                                                              +       std::cerr << "Parsing failed:\n" << result.error() << "\n";
                                                                                                                              +       return 1;
                                                                                                                              +   }
                                                                                                                              +
                                                                                                                              +   do_stuff_with_your_config(std::move(result).table()); // 'steal' the table from the result
                                                                                                                              +   return 0;
                                                                                                                              +}

                                                                                                                              Custom error formatting

                                                                                                                              The examples above use an overloaded operator<< with ostreams to print basic error messages, and look like this:

                                                                                                                              Error while parsing key: expected bare key starting character or string delimiter, saw '?'
                                                                                                                              +    (error occurred at line 2, column 5)

                                                                                                                              In order to keep the library as small as possible I haven't bent over backwards to support things like custom colouring of the text in TTY environments, et cetera. That being said, the library provides the requisite information for you to build these yourself if necessary via toml::parse_error's source() and description() members:

                                                                                                                              toml::table tbl;
                                                                                                                              +try
                                                                                                                              +{
                                                                                                                              +   tbl = toml::parse_file("configuration.toml");
                                                                                                                              +}
                                                                                                                              +catch (const toml::parse_error& err)
                                                                                                                              +{
                                                                                                                              +   std::cerr
                                                                                                                              +       << "Error parsing file '" << *err.source().path
                                                                                                                              +       << "':\n" << err.description()
                                                                                                                              +       << "\n  (" << err.source().begin << ")\n";
                                                                                                                              +   return 1;
                                                                                                                              +}

                                                                                                                              Working with TOML data

                                                                                                                              A TOML document is a tree of values, arrays and tables, represented as the toml::value, toml::array and toml::table, respectively. All three inherit from toml::node, and can be easily accessed via the toml::node_view:

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              #include <iostream> +#include <toml++/toml.h> +using namespace std::string_view_literals; + +int main() +{ + static constexpr auto source = R"( + str = "hello world" + + numbers = [ 1, 2, 3, "four", 5.0 ] + vegetables = [ "tomato", "onion", "mushroom", "lettuce" ] + minerals = [ "quartz", "iron", "copper", "diamond" ] + + [animals] + cats = [ "tiger", "lion", "puma" ] + birds = [ "macaw", "pigeon", "canary" ] + fish = [ "salmon", "trout", "carp" ] + + )"sv; + toml::table tbl = toml::parse(source); + + // different ways of directly querying data + std::optional<std::string_view> str1 = tbl["str"].value<std::string_view>(); + std::optional<std::string> str2 = tbl["str"].value<std::string>(); + std::string_view str3 = tbl["str"].value_or(""sv); + std::string& str4 = tbl["str"].ref<std::string>(); // ~~dangerous~~ + + std::cout << *str1 << "\n"; + std::cout << *str2 << "\n"; + std::cout << str3 << "\n"; + std::cout << str4 << "\n"; + + // get a toml::node_view of the element 'numbers' using operator[] + auto numbers = tbl["numbers"]; + std::cout << "table has 'numbers': " << !!numbers << "\n"; + std::cout << "numbers is an: " << numbers.type() << "\n"; + std::cout << "numbers: " << numbers << "\n"; + + // get the underlying array object to do some more advanced stuff + if (toml::array* arr = numbers.as_array()) + { + for (toml::node& elem : *arr) + { + // visitation helps deal with the polymorphic nature of TOML data + elem.visit([](auto&& el) noexcept + { + if constexpr (toml::is_number<decltype(el)>) + (*el)++; + else if constexpr (toml::is_string<decltype(el)>) + el = "five"sv; + }); + } + + // arrays are very similar to std::vector + arr->push_back(7); + arr->emplace_back<toml::array>(8, 9); + std::cout << "numbers: " << numbers << "\n"; + } + + // node-views can be chained to quickly query deeper + std::cout << "cats: " << tbl["animals"]["cats"] << "\n"; + std::cout << "fish[1]: " << tbl["animals"]["fish"][1] << "\n"; + + // can also be retrieved via absolute path + std::cout << "cats: " << tbl.at_path("animals.cats") << "\n"; + std::cout << "fish[1]: " << tbl.at_path("animals.fish[1]") << "\n"; + + // ...even if the element doesn't exist + std::cout << "dinosaurs: " << tbl["animals"]["dinosaurs"] << "\n"; //no dinosaurs :( + + return 0; +}
                                                                                                                              hello world
                                                                                                                              +hello world
                                                                                                                              +hello world
                                                                                                                              +hello world
                                                                                                                              +table has 'numbers': 1
                                                                                                                              +numbers is an: array
                                                                                                                              +numbers: [ 1, 2, 3, 'four', 5.0 ]
                                                                                                                              +numbers: [ 2, 3, 4, 'five', 6.0, 7, [ 8, 9 ] ]
                                                                                                                              +cats: [ 'tiger', 'lion', 'puma' ]
                                                                                                                              +fish[1]: 'trout'
                                                                                                                              +cats: [ 'tiger', 'lion', 'puma' ]
                                                                                                                              +fish[1]: 'trout'
                                                                                                                              +dinosaurs:

                                                                                                                              Serializing as TOML, JSON and YAML

                                                                                                                              All toml++ data types have overloaded operator<< for ostreams, so 'serializing' a set of TOML data to actual TOML is done just by printing it to an ostream. Converting it to JSON and YAML is done in much the same way, but via a toml::json_formatter and toml::yaml_formatter.

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              #include <iostream> +#include <toml++/toml.h> + +int main() +{ + auto tbl = toml::table{ + { "lib", "toml++" }, + { "cpp", toml::array{ 17, 20, "and beyond" } }, + { "toml", toml::array{ "1.0.0", "and beyond" } }, + { "repo", "https://github.com/marzer/tomlplusplus/" }, + { "author", toml::table{ + { "name", "Mark Gillard" }, + { "github", "https://github.com/marzer" }, + { "twitter", "https://twitter.com/marzer8789" } + } + }, + }; + + // serializing as TOML + std::cout << "###### TOML ######" << "\n\n"; + std::cout << tbl << "\n\n"; + + // serializing as JSON using toml::json_formatter: + std::cout << "###### JSON ######" << "\n\n"; + std::cout << toml::json_formatter{ tbl } << "\n\n"; + + // serializing as YAML using toml::yaml_formatter: + std::cout << "###### YAML ######" << "\n\n"; + std::cout << toml::yaml_formatter{ tbl } << "\n\n"; + + return 0; +}
                                                                                                                              ###### TOML ######
                                                                                                                              +
                                                                                                                              +cpp = [ 17, 20, 'and beyond' ]
                                                                                                                              +lib = 'toml++'
                                                                                                                              +repo = 'https://github.com/marzer/tomlplusplus/'
                                                                                                                              +toml = [ '1.0.0', 'and beyond' ]
                                                                                                                              +
                                                                                                                              +[author]
                                                                                                                              +github = 'https://github.com/marzer'
                                                                                                                              +name = 'Mark Gillard'
                                                                                                                              +twitter = 'https://twitter.com/marzer8789'
                                                                                                                              +
                                                                                                                              +###### JSON ######
                                                                                                                              +
                                                                                                                              +{
                                                                                                                              +    "author" : {
                                                                                                                              +        "github" : "https://github.com/marzer",
                                                                                                                              +        "name" : "Mark Gillard",
                                                                                                                              +        "twitter" : "https://twitter.com/marzer8789"
                                                                                                                              +    },
                                                                                                                              +    "cpp" : [
                                                                                                                              +        17,
                                                                                                                              +        20,
                                                                                                                              +        "and beyond"
                                                                                                                              +    ],
                                                                                                                              +    "lib" : "toml++",
                                                                                                                              +    "repo" : "https://github.com/marzer/tomlplusplus/",
                                                                                                                              +    "toml" : [
                                                                                                                              +        "1.0.0",
                                                                                                                              +        "and beyond"
                                                                                                                              +    ]
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +###### YAML ######
                                                                                                                              +
                                                                                                                              +author:
                                                                                                                              +  github: 'https://github.com/marzer'
                                                                                                                              +  name: 'Mark Gillard'
                                                                                                                              +  twitter: 'https://twitter.com/marzer8789'
                                                                                                                              +cpp:
                                                                                                                              +  - 17
                                                                                                                              +  - 20
                                                                                                                              +  - 'and beyond'
                                                                                                                              +lib: toml++
                                                                                                                              +repo: 'https://github.com/marzer/tomlplusplus/'
                                                                                                                              +toml:
                                                                                                                              +  - '1.0.0'
                                                                                                                              +  - 'and beyond'

                                                                                                                              Speeding up compilation

                                                                                                                              Because toml++ is a header-only library of nontrivial size you might find that compilation times noticeably increase after you add it to your project, especially if you add the library's header somewhere that's visible from a large number of translation units. You can counter this by disabling header-only mode and explicitly controlling where the library's implementation is compiled.

                                                                                                                              Step 1: Set TOML_HEADER_ONLY to 0 before including toml++

                                                                                                                              This must be the same everywhere, so either set it as a global #define in your build system, or do it manually before including toml++ in some global header that's used everywhere in your project:

                                                                                                                              // global_header_that_includes_toml++.h
                                                                                                                              +
                                                                                                                              +#define TOML_HEADER_ONLY 0
                                                                                                                              +#include <toml.hpp>

                                                                                                                              Step 2: Define TOML_IMPLEMENTATION before including toml++ in one specific translation unit

                                                                                                                              // some_code_file.cpp
                                                                                                                              +
                                                                                                                              +#define TOML_IMPLEMENTATION
                                                                                                                              +#include "global_header_that_includes_toml++.h"

                                                                                                                              Bonus Step: Disable any library features you don't need

                                                                                                                              Some library features can be disabled wholesale so you can avoid paying their the compilation cost if you don't need them. For example, if all you need to do is serialize some code-generated TOML and don't actually need the parser at all you, can set TOML_ENABLE_PARSER to 0 to disable the parser altogether. This can yield fairly significant compilation speedups since the parser accounts for a good chunk of the library's code.

                                                                                                                              Adding toml++ to your project

                                                                                                                              The library comes in two flavours, 🍦️ Single-header and 🍨️ Regular. The API is the same for both.

                                                                                                                              "The old fashioned way"

                                                                                                                              Clone the repository from GitHub, and then:

                                                                                                                              🍦️ Single-header flavour

                                                                                                                              1. Drop toml.hpp wherever you like in your source tree
                                                                                                                              2. There is no step two

                                                                                                                              🍨️ Regular flavour

                                                                                                                              1. Add tomlplusplus/include to your include paths
                                                                                                                              2. #include <toml++/toml.h>

                                                                                                                              Conan

                                                                                                                              Add tomlplusplus/3.0.1 to your conanfile.

                                                                                                                              DDS

                                                                                                                              Add tomlpp to your package.json5, e.g.:

                                                                                                                              depends: [
                                                                                                                              +       'tomlpp^3.0.1',
                                                                                                                              +]

                                                                                                                              Meson

                                                                                                                              meson wrap install tomlplusplus

                                                                                                                              You can install the wrap with: After that, you can use it like a regular dependency: ‘tomlplusplus_dep = dependency('tomlplusplus’)`. You can also add it as a subproject directly.

                                                                                                                              Vcpkg

                                                                                                                              vcpkg install tomlplusplus

                                                                                                                              CMake FetchContent

                                                                                                                              include(FetchContent)
                                                                                                                              +FetchContent_Declare(
                                                                                                                              +    tomlplusplus
                                                                                                                              +    GIT_REPOSITORY https://github.com/marzer/tomlplusplus.git
                                                                                                                              +    GIT_TAG        v3.0.1
                                                                                                                              +)
                                                                                                                              +FetchContent_MakeAvailable(tomlplusplus)

                                                                                                                              Other environments and package managers

                                                                                                                              toml++ is a fairly new project and I'm not up-to-speed with all of the available packaging and integration options in the C++ ecosystem. I'm also a cmake novice, for better or worse. If there's an integration option missing be assured that I fully support it being added, and welcome pull requests!

                                                                                                                              Special mention: Python

                                                                                                                              There exists a python wrapper library built around toml++ called pytomlpp which is, at the time of writing, the only natively-compiled TOML library available for python, and thus much faster than many of the alternatives:

                                                                                                                              Parsing data.toml 5000 times:
                                                                                                                              +  pytomlpp:   0.694 s
                                                                                                                              +     rtoml:   0.871 s ( 1.25x)
                                                                                                                              +     tomli:   2.625 s ( 3.78x)
                                                                                                                              +      toml:   5.642 s ( 8.12x)
                                                                                                                              +     qtoml:   7.760 s (11.17x)
                                                                                                                              +   tomlkit:  32.708 s (47.09x)

                                                                                                                              Install it using pip:

                                                                                                                              pip install pytomlpp

                                                                                                                              Note that I'm not the owner of that project so if you wish to report a bug relating to the python implementation, please do so at their repository, not on the main toml++ one.

                                                                                                                              Library configuration options

                                                                                                                              The library exposes a number of configuration options in the form of compiler #defines. Things like changing the optional<T> type, disabling header-only mode, et cetera. The full list of configurables can be found on the Library Configuration page.

                                                                                                                              Contributing

                                                                                                                              Contributions are very welcome! Either by reporting issues or submitting pull requests. If you wish to submit a pull request, please see CONTRIBUTING for all the details you need to get going.

                                                                                                                              License

                                                                                                                              toml++ is licensed under the terms of the MIT license - see LICENSE.

                                                                                                                              If you're using the single-header version of the library you don't need to explicitly distribute the license file; it is embedded in the preamble at the top of the header.

                                                                                                                              Contacting the author

                                                                                                                              For bug reports and feature requests please use the Github Issues system. For anything else you're welcome to reach out via other means. In order of likely response speed:

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.1/logo.png b/v3.0.1/logo.png new file mode 100644 index 00000000..00491256 Binary files /dev/null and b/v3.0.1/logo.png differ diff --git a/v3.0.1/modules.html b/v3.0.1/modules.html new file mode 100644 index 00000000..24c028ec --- /dev/null +++ b/v3.0.1/modules.html @@ -0,0 +1,138 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Modules

                                                                                                                              + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.1/namespaces.html b/v3.0.1/namespaces.html new file mode 100644 index 00000000..a1a71bd7 --- /dev/null +++ b/v3.0.1/namespaces.html @@ -0,0 +1,143 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Namespaces

                                                                                                                              +
                                                                                                                                +
                                                                                                                              • + namespace toml The root namespace for all toml++ functions and types. +
                                                                                                                                  +
                                                                                                                                • namespace literals inline Convenience literal operators for working with toml++.
                                                                                                                                • +
                                                                                                                                +
                                                                                                                              • +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.1/namespacetoml.html b/v3.0.1/namespacetoml.html new file mode 100644 index 00000000..bbf9f6c3 --- /dev/null +++ b/v3.0.1/namespacetoml.html @@ -0,0 +1,1181 @@ + + + + toml namespace | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml namespace +

                                                                                                                              +

                                                                                                                              The root namespace for all toml++ functions and types.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Namespaces

                                                                                                                              +
                                                                                                                              +
                                                                                                                              namespace literals inline
                                                                                                                              +
                                                                                                                              Convenience literal operators for working with toml++.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Classes

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + class array +
                                                                                                                              +
                                                                                                                              A TOML array.
                                                                                                                              +
                                                                                                                              + struct date +
                                                                                                                              +
                                                                                                                              A local date.
                                                                                                                              +
                                                                                                                              + struct date_time +
                                                                                                                              +
                                                                                                                              A date-time.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + struct inserter +
                                                                                                                              +
                                                                                                                              Helper class for suppressing move-construction in single-argument array constructors.
                                                                                                                              +
                                                                                                                              + class json_formatter +
                                                                                                                              +
                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted JSON.
                                                                                                                              +
                                                                                                                              + class key +
                                                                                                                              +
                                                                                                                              A key parsed from a TOML document.
                                                                                                                              +
                                                                                                                              + class node +
                                                                                                                              +
                                                                                                                              A TOML node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ViewedType>
                                                                                                                              + class node_view +
                                                                                                                              +
                                                                                                                              A view of a node.
                                                                                                                              +
                                                                                                                              + class parse_error +
                                                                                                                              +
                                                                                                                              An error generated when parsing fails.
                                                                                                                              +
                                                                                                                              + class parse_result +
                                                                                                                              +
                                                                                                                              The result of a parsing operation.
                                                                                                                              +
                                                                                                                              + struct source_position +
                                                                                                                              +
                                                                                                                              A source document line-and-column pair.
                                                                                                                              +
                                                                                                                              + struct source_region +
                                                                                                                              +
                                                                                                                              A source document region.
                                                                                                                              +
                                                                                                                              + class table +
                                                                                                                              +
                                                                                                                              A TOML table.
                                                                                                                              +
                                                                                                                              + struct time +
                                                                                                                              +
                                                                                                                              A local time-of-day.
                                                                                                                              +
                                                                                                                              + struct time_offset +
                                                                                                                              +
                                                                                                                              A timezone offset.
                                                                                                                              +
                                                                                                                              + class toml_formatter +
                                                                                                                              +
                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted TOML.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ValueType>
                                                                                                                              + class value +
                                                                                                                              +
                                                                                                                              A TOML value.
                                                                                                                              +
                                                                                                                              + class yaml_formatter +
                                                                                                                              +
                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted YAML.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Enums

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + enum class format_flags: uint64_t { none, + quote_dates_and_times = (1ull << 0), + quote_infinities_and_nans = (1ull << 1), + allow_literal_strings = (1ull << 2), + allow_multi_line_strings = (1ull << 3), + allow_real_tabs_in_strings = (1ull << 4), + allow_unicode_strings = (1ull << 5), + allow_binary_integers = (1ull << 6), + allow_octal_integers = (1ull << 7), + allow_hexadecimal_integers = (1ull << 8), + indent_sub_tables = (1ull << 9), + indent_array_elements = (1ull << 10), + indentation = indent_sub_tables | indent_array_elements, + relaxed_float_precision = (1ull << 11) } +
                                                                                                                              +
                                                                                                                              Format flags for modifying how TOML data is printed to streams.
                                                                                                                              +
                                                                                                                              + enum class node_type: uint8_t { none, + table, + array, + string, + integer, + floating_point, + boolean, + date, + time, + date_time } +
                                                                                                                              +
                                                                                                                              TOML node type identifiers.
                                                                                                                              +
                                                                                                                              + enum class value_flags: uint16_t { none, + format_as_binary = 1, + format_as_octal = 2, + format_as_hexadecimal = 3 } +
                                                                                                                              +
                                                                                                                              Metadata associated with TOML values.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Typedefs

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using array_iterator = /* ... */ +
                                                                                                                              +
                                                                                                                              A RandomAccessIterator for iterating over elements in a toml::array.
                                                                                                                              +
                                                                                                                              + using const_array_iterator = /* ... */ +
                                                                                                                              +
                                                                                                                              A RandomAccessIterator for iterating over const elements in a toml::array.
                                                                                                                              +
                                                                                                                              + using const_table_iterator = /* ... */ +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over const key-value pairs in a toml::table.
                                                                                                                              +
                                                                                                                              + using default_formatter = toml_formatter +
                                                                                                                              +
                                                                                                                              The 'default' formatter used by TOML objects when they are printed to a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + using inserted_type_of = /* ... */ +
                                                                                                                              +
                                                                                                                              Metafunction for determining which node type would be constructed if an object of this type was inserted into a toml::table or toml::array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + using optional = std::optional<T> +
                                                                                                                              +
                                                                                                                              The 'optional' type used throughout the library.
                                                                                                                              +
                                                                                                                              + using source_index = uint32_t +
                                                                                                                              +
                                                                                                                              The integer type used to tally line numbers and columns.
                                                                                                                              +
                                                                                                                              + using source_path_ptr = std::shared_ptr<const std::string> +
                                                                                                                              +
                                                                                                                              A pointer to a shared string resource containing a source path.
                                                                                                                              +
                                                                                                                              + using table_iterator = /* ... */ +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over key-value pairs in a toml::table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(node& root, + std::string_view path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the node matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const node& root, + std::string_view path) -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the node matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(node& root, + std::wstring_view path) -> node_view<node> +
                                                                                                                              +
                                                                                                                              Returns a view of the node matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const node& root, + std::wstring_view path) -> node_view<const node> +
                                                                                                                              +
                                                                                                                              Returns a const view of the node matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto operator""_toml(const char* str, + size_t len) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses TOML data from a string literal.
                                                                                                                              +
                                                                                                                              + auto operator""_toml(const char8_t* str, + size_t len) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses TOML data from a UTF-8 string literal.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char>
                                                                                                                              + auto operator<<(std::basic_ostream<Char>& lhs, + node_type rhs) -> std::basic_ostream<Char>& +
                                                                                                                              +
                                                                                                                              Pretty-prints the value of a node_type to a stream.
                                                                                                                              +
                                                                                                                              + auto parse(std::string_view doc, + std::string_view source_path = {}) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::string_view doc, + std::string&& source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::u8string_view doc, + std::string_view source_path = {}) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a char8_t string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::u8string_view doc, + std::string&& source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a char8_t string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::string_view doc, + std::wstring_view source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::istream& doc, + std::wstring_view source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a stream.
                                                                                                                              +
                                                                                                                              + auto parse(std::u8string_view doc, + std::wstring_view source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a char8_t string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::istream& doc, + std::string_view source_path = {}) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a stream.
                                                                                                                              +
                                                                                                                              + auto parse(std::istream& doc, + std::string&& source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a stream.
                                                                                                                              +
                                                                                                                              + auto parse_file(std::string_view file_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a file.
                                                                                                                              +
                                                                                                                              + auto parse_file(std::u8string_view file_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a file.
                                                                                                                              +
                                                                                                                              + auto parse_file(std::wstring_view file_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a file.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_array constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_boolean constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a bool or toml::value<bool>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_chronological constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type satisfies any of toml::is_date, toml::is_time or toml::is_date_time.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_container constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type satisfies either toml::is_table or toml::is_array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_date constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::date or toml::value<date>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_date_time constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::date_time or toml::value<date_time>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_floating_point constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a double or toml::value<double>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_integer constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a int64_t or toml::value<int64_t>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_key constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::key.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_key_or_convertible constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::key, or is implicitly or explicitly convertible to one.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_node constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::node (or one of its subclasses).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_node_view constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::node_view.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_number constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type satisfies either toml::is_integer or toml::is_floating_point.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_string constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a std::string or toml::value<std::string>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_table constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_time constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::time or toml::value<time>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_value constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, any of the toml value types. Excludes tables and arrays.
                                                                                                                              +
                                                                                                                              + value_flags preserve_source_value_flags constexpr +
                                                                                                                              +
                                                                                                                              Special toml::value_flags constant used for array + table insert functions to specify that any value nodes being copied should not have their flags property overridden by the inserting function's flags argument.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Enum documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + enum class toml::format_flags: uint64_t +

                                                                                                                              +

                                                                                                                              Format flags for modifying how TOML data is printed to streams.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Enumerators
                                                                                                                              none +

                                                                                                                              None.

                                                                                                                              +
                                                                                                                              quote_dates_and_times +

                                                                                                                              Dates and times will be emitted as quoted strings.

                                                                                                                              +
                                                                                                                              quote_infinities_and_nans +

                                                                                                                              Infinities and NaNs will be emitted as quoted strings.

                                                                                                                              +
                                                                                                                              allow_literal_strings +

                                                                                                                              Strings will be emitted as single-quoted literal strings where possible.

                                                                                                                              +
                                                                                                                              allow_multi_line_strings +

                                                                                                                              Strings containing newlines will be emitted as triple-quoted 'multi-line' strings where possible.

                                                                                                                              +
                                                                                                                              allow_real_tabs_in_strings +

                                                                                                                              Allow real tab characters in string literals (as opposed to the escaped form \t).

                                                                                                                              +
                                                                                                                              allow_unicode_strings +

                                                                                                                              Allow non-ASCII characters in strings (as opposed to their escaped form, e.g. \u00DA).

                                                                                                                              +
                                                                                                                              allow_binary_integers +

                                                                                                                              Allow integers with value_flags::format_as_binary to be emitted as binary.

                                                                                                                              +
                                                                                                                              allow_octal_integers +

                                                                                                                              Allow integers with value_flags::format_as_octal to be emitted as octal.

                                                                                                                              +
                                                                                                                              allow_hexadecimal_integers +

                                                                                                                              Allow integers with value_flags::format_as_hexadecimal to be emitted as hexadecimal.

                                                                                                                              +
                                                                                                                              indent_sub_tables +

                                                                                                                              Apply indentation to tables nested within other tables/arrays.

                                                                                                                              +
                                                                                                                              indent_array_elements +

                                                                                                                              Apply indentation to array elements when the array is forced to wrap over multiple lines.

                                                                                                                              +
                                                                                                                              indentation +

                                                                                                                              Combination mask of all indentation-enabling flags.

                                                                                                                              +
                                                                                                                              relaxed_float_precision +

                                                                                                                              Emit floating-point values with relaxed (human-friendly) precision.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + enum class toml::node_type: uint8_t +

                                                                                                                              +

                                                                                                                              TOML node type identifiers.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Enumerators
                                                                                                                              none +

                                                                                                                              Not-a-node.

                                                                                                                              +
                                                                                                                              table +

                                                                                                                              The node is a toml::table.

                                                                                                                              +
                                                                                                                              array +

                                                                                                                              The node is a toml::array.

                                                                                                                              +
                                                                                                                              string +

                                                                                                                              The node is a toml::value<std::string>.

                                                                                                                              +
                                                                                                                              integer +

                                                                                                                              The node is a toml::value<int64_t>.

                                                                                                                              +
                                                                                                                              floating_point +

                                                                                                                              The node is a toml::value<double>.

                                                                                                                              +
                                                                                                                              boolean +

                                                                                                                              The node is a toml::value<bool>.

                                                                                                                              +
                                                                                                                              date +

                                                                                                                              The node is a toml::value<date>.

                                                                                                                              +
                                                                                                                              time +

                                                                                                                              The node is a toml::value<time>.

                                                                                                                              +
                                                                                                                              date_time +

                                                                                                                              The node is a toml::value<date_time>.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + enum class toml::value_flags: uint16_t +

                                                                                                                              +

                                                                                                                              Metadata associated with TOML values.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Enumerators
                                                                                                                              none +

                                                                                                                              None.

                                                                                                                              +
                                                                                                                              format_as_binary +

                                                                                                                              Format integer values as binary.

                                                                                                                              +
                                                                                                                              format_as_octal +

                                                                                                                              Format integer values as octal.

                                                                                                                              +
                                                                                                                              format_as_hexadecimal +

                                                                                                                              Format integer values as hexadecimal.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Typedef documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + using toml::default_formatter = toml_formatter +

                                                                                                                              +

                                                                                                                              The 'default' formatter used by TOML objects when they are printed to a stream.

                                                                                                                              +

                                                                                                                              This is an alias for toml::toml_formatter.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + using toml::inserted_type_of = /* ... */ +

                                                                                                                              +

                                                                                                                              Metafunction for determining which node type would be constructed if an object of this type was inserted into a toml::table or toml::array.

                                                                                                                              +
                                                                                                                              static_assert(std::is_same_v<toml::inserted_type_of<const char*>, toml::value<std::string>);
                                                                                                                              +static_assert(std::is_same_v<toml::inserted_type_of<int>,         toml::value<int64_t>);
                                                                                                                              +static_assert(std::is_same_v<toml::inserted_type_of<float>,       toml::value<double>);
                                                                                                                              +static_assert(std::is_same_v<toml::inserted_type_of<bool>,        toml::value<bool>);
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + using toml::optional = std::optional<T> +

                                                                                                                              +

                                                                                                                              The 'optional' type used throughout the library.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::at_path(node& root, + std::string_view path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the node matching a fully-qualified "TOML path".

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              rootThe root node from which the path will be traversed.
                                                                                                                              pathThe "TOML path" to traverse.
                                                                                                                              +
                                                                                                                              auto config = toml::parse(R"(
                                                                                                                              +
                                                                                                                              +[foo]
                                                                                                                              +bar = [ 0, 1, 2, [ 3 ], { kek = 4 } ]
                                                                                                                              +
                                                                                                                              +)"sv);
                                                                                                                              +
                                                                                                                              +std::cout << toml::at_path(config, "foo.bar[2]") << "\n";
                                                                                                                              +std::cout << toml::at_path(config, "foo.bar[3][0]") << "\n";
                                                                                                                              +std::cout << toml::at_path(config, "foo.bar[4].kek") << "\n";
                                                                                                                              2
                                                                                                                              +3
                                                                                                                              +4
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::at_path(const node& root, + std::string_view path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a const view of the node matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::at_path(node& root, + std::wstring_view path) +

                                                                                                                              +

                                                                                                                              Returns a view of the node matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::at_path(const node& root, + std::wstring_view path) +

                                                                                                                              +

                                                                                                                              Returns a const view of the node matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Char> +
                                                                                                                              + std::basic_ostream<Char>& toml::operator<<(std::basic_ostream<Char>& lhs, + node_type rhs) +

                                                                                                                              +

                                                                                                                              Pretty-prints the value of a node_type to a stream.

                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2.0, "3", false };
                                                                                                                              +for (size_t i = 0; i < arr.size() i++)
                                                                                                                              +    std::cout << "Element ["sv << i << "] is: "sv << arr[i].type() << "\n";
                                                                                                                              Element [0] is: integer
                                                                                                                              +Element [1] is: floating-point
                                                                                                                              +Element [2] is: string
                                                                                                                              +Element [3] is: boolean
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::string_view doc, + std::string_view source_path = {}) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse("a = 3"sv);
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::string_view doc, + std::string&& source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse("a = 3"sv, "foo.toml");
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::u8string_view doc, + std::string_view source_path = {}) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a char8_t string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse(u8"a = 3"sv);
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::u8string_view doc, + std::string&& source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a char8_t string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse(u8"a = 3"sv, "foo.toml");
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::string_view doc, + std::wstring_view source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse("a = 3"sv, L"foo.toml");
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::istream& doc, + std::wstring_view source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              std::stringstream ss;
                                                                                                                              +ss << "a = 3"sv;
                                                                                                                              +
                                                                                                                              +auto tbl = toml::parse(ss);
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::u8string_view doc, + std::wstring_view source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a char8_t string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse(u8"a = 3"sv, L"foo.toml");
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::istream& doc, + std::string_view source_path = {}) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              std::stringstream ss;
                                                                                                                              +ss << "a = 3"sv;
                                                                                                                              +
                                                                                                                              +auto tbl = toml::parse(ss);
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::istream& doc, + std::string&& source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              std::stringstream ss;
                                                                                                                              +ss << "a = 3"sv;
                                                                                                                              +
                                                                                                                              +auto tbl = toml::parse(ss, "foo.toml");
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse_file(std::string_view file_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a file.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              file_pathThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              toml::parse_result get_foo_toml()
                                                                                                                              +{
                                                                                                                              +    return toml::parse_file("foo.toml");
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse_file(std::u8string_view file_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a file.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              file_pathThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              toml::parse_result get_foo_toml()
                                                                                                                              +{
                                                                                                                              +    return toml::parse_file(u8"foo.toml");
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse_file(std::wstring_view file_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a file.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              file_pathThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              toml::parse_result get_foo_toml()
                                                                                                                              +{
                                                                                                                              +    return toml::parse_file(L"foo.toml");
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.1/namespacetoml_1_1literals.html b/v3.0.1/namespacetoml_1_1literals.html new file mode 100644 index 00000000..2b8e634f --- /dev/null +++ b/v3.0.1/namespacetoml_1_1literals.html @@ -0,0 +1,226 @@ + + + + toml::literals namespace | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::literals namespace inline +

                                                                                                                              +

                                                                                                                              Convenience literal operators for working with toml++.

                                                                                                                              + +

                                                                                                                              This namespace exists so you can safely hoist the toml++ literal operators into another scope without dragging in everything from the toml namespace:

                                                                                                                              #include <toml++/toml.h>
                                                                                                                              +using namespace toml::literals;
                                                                                                                              +
                                                                                                                              +int main()
                                                                                                                              +{
                                                                                                                              +    toml::table tbl = "vals = [1, 2, 3]"_toml;
                                                                                                                              +
                                                                                                                              +    // ... do stuff with the table generated by the "_toml" literal ...
                                                                                                                              +
                                                                                                                              +    return 0;
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator""_toml(const char* str, + size_t len) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses TOML data from a string literal.
                                                                                                                              +
                                                                                                                              + auto operator""_toml(const char8_t* str, + size_t len) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses TOML data from a UTF-8 string literal.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::literals::operator""_toml(const char* str, + size_t len) +

                                                                                                                              +

                                                                                                                              Parses TOML data from a string literal.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              strThe string data. Must be valid UTF-8.
                                                                                                                              lenThe string length.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              using namespace toml::literals;
                                                                                                                              +
                                                                                                                              +auto tbl = "a = 3"_toml;
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::literals::operator""_toml(const char8_t* str, + size_t len) +

                                                                                                                              +

                                                                                                                              Parses TOML data from a UTF-8 string literal.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              strThe string data. Must be valid UTF-8.
                                                                                                                              lenThe string length.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              using namespace toml::literals;
                                                                                                                              +
                                                                                                                              +auto tbl = u8"a = 3"_toml;
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.1/pages.html b/v3.0.1/pages.html new file mode 100644 index 00000000..8a516910 --- /dev/null +++ b/v3.0.1/pages.html @@ -0,0 +1,137 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Pages

                                                                                                                              +
                                                                                                                                +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.1/search-v2.js b/v3.0.1/search-v2.js new file mode 100644 index 00000000..1fb71e1f --- /dev/null +++ b/v3.0.1/search-v2.js @@ -0,0 +1,897 @@ +/* + This file is part of m.css. + + Copyright © 2017, 2018, 2019, 2020, 2021, 2022, 2023 + Vladimír Vondruš + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +*/ + +"use strict"; /* it summons the Cthulhu in a proper way, they say */ + +var Search = { + formatVersion: 2, /* the data filename contains this number too */ + + dataSize: 0, /* used mainly by tests, not here */ + symbolCount: '…', + trie: null, + map: null, + mapFlagsOffset: null, + typeMap: null, + maxResults: 0, + + /* Type sizes and masks. The data is always fetched as 16/32bit number and + then masked to 1, 2, 3 or 4 bytes. Fortunately on LE a mask is enough, + on BE we'd have to read N bytes before and then mask. */ + nameSizeBytes: null, + nameSizeMask: null, + resultIdBytes: null, + resultIdMask: null, + fileOffsetBytes: null, + fileOffsetMask: null, + lookaheadBarrierMask: null, + + /* Always contains at least the root node offset and then one node offset + per entered character */ + searchString: '', + searchStack: [], + + /* So items don't get selected right away when a cursor is over results but + only after mouse moves */ + mouseMovedSinceLastRender: false, + + /* Whether we can go back in history in order to hide the search box or + not. We can't do that if we arrived directly on #search from outside. */ + canGoBackToHideSearch: false, + + /* Autocompletion in the input field is whitelisted only for character + input (so not deletion, cut, or anything else). This is flipped in the + onkeypress event and reset after each oninput event. */ + autocompleteNextInputEvent: false, + + init: function(buffer, maxResults) { + let view = new DataView(buffer); + + /* The file is too short to contain at least the headers and empty + sections */ + if(view.byteLength < 31) { + console.error("Search data too short"); + return false; + } + + if(view.getUint8(0) != 'M'.charCodeAt(0) || + view.getUint8(1) != 'C'.charCodeAt(0) || + view.getUint8(2) != 'S'.charCodeAt(0)) { + console.error("Invalid search data signature"); + return false; + } + + if(view.getUint8(3) != this.formatVersion) { + console.error("Invalid search data version"); + return false; + } + + /* Fetch type sizes. The only value that can fail is result ID byte + count, where value of 3 has no assigned meaning. */ + let typeSizes = view.getUint8(4, true); + if((typeSizes & 0x01) >> 0 == 0) { + this.fileOffsetBytes = 3; + this.fileOffsetMask = 0x00ffffff; + this.lookaheadBarrierMask = 0x00800000; + } else /* (typeSizes & 0x01) >> 0 == 1 */ { + this.fileOffsetBytes = 4; + this.fileOffsetMask = 0xffffffff; + this.lookaheadBarrierMask = 0x80000000; + } + if((typeSizes & 0x06) >> 1 == 0) { + this.resultIdBytes = 2; + this.resultIdMask = 0x0000ffff; + } else if((typeSizes & 0x06) >> 1 == 1) { + this.resultIdBytes = 3; + this.resultIdMask = 0x00ffffff; + } else if((typeSizes & 0x06) >> 1 == 2) { + this.resultIdBytes = 4; + this.resultIdMask = 0xffffffff; + } else /* (typeSizes & 0x06) >> 1 == 3 */ { + console.error("Invalid search data result ID byte value"); + return false; + } + if((typeSizes & 0x08) >> 3 == 0) { + this.nameSizeBytes = 1; + this.nameSizeMask = 0x00ff; + } else /* (typeSizes & 0x08) >> 3 == 1 */ { + this.nameSizeBytes = 2; + this.nameSizeMask = 0xffff; + } + + /* Separate the data into the trie and the result / type map. Because + we're reading larger values than there might be and then masking out + the high bytes, keep extra 1/2 byte padding at the end to avoid + OOB errors. */ + let mapOffset = view.getUint32(12, true); + let typeMapOffset = view.getUint32(16, true); + /* There may be a 3-byte file offset at the end of the trie which we'll + read as 32-bit, add one safety byte in that case */ + this.trie = new DataView(buffer, 20, mapOffset - 20 + (4 - this.fileOffsetBytes)); + /* There may be a 3-byte file size (for zero results) which we'll read + as 32-bit, add one safety byte in that case */ + this.map = new DataView(buffer, mapOffset, typeMapOffset - mapOffset + (4 - this.fileOffsetBytes)); + /* No variable-size types in the type map at the moment */ + this.typeMap = new DataView(buffer, typeMapOffset); + + /* Offset of the first result map item is after N + 1 offsets and N + flags, calculate flag offset from that */ + this.mapFlagsOffset = this.fileOffsetBytes*(((this.map.getUint32(0, true) & this.fileOffsetMask) - this.fileOffsetBytes)/(this.fileOffsetBytes + 1) + 1); + + /* Set initial properties */ + this.dataSize = buffer.byteLength; + this.symbolCount = view.getUint32(8, true) + " symbols (" + Math.round(this.dataSize/102.4)/10 + " kB)"; + this.maxResults = maxResults ? maxResults : 100; + this.searchString = ''; + this.searchStack = [this.trie.getUint32(0, true)]; + + /* istanbul ignore if */ + if(typeof document !== 'undefined') { + document.getElementById('search-symbolcount').innerHTML = this.symbolCount; + document.getElementById('search-input').disabled = false; + document.getElementById('search-input').placeholder = "Type something here …"; + document.getElementById('search-input').focus(); + + /* Search for the input value (there might be something already, + for example when going back in the browser) */ + let value = document.getElementById('search-input').value; + + /* Otherwise check the GET parameters for `q` and fill the input + with that */ + if(!value.length) { + var args = decodeURIComponent(window.location.search.substr(1)).trim().split('&'); + for(var i = 0; i != args.length; ++i) { + if(args[i].substring(0, 2) != 'q=') continue; + + value = document.getElementById('search-input').value = args[i].substring(2); + break; + } + } + + if(value.length) Search.searchAndRender(value); + } + + return true; + }, + + download: /* istanbul ignore next */ function(url) { + var req = window.XDomainRequest ? new XDomainRequest() : new XMLHttpRequest(); + if(!req) return; + + req.open("GET", url, true); + req.responseType = 'arraybuffer'; + req.onreadystatechange = function() { + if(req.readyState != 4) return; + + Search.init(req.response); + } + req.send(); + }, + + base85decode: function(base85string) { + function charValue(char) { + if(char >= 48 && char < 58) /* 0-9 -> 0-9 */ + return char - 48 + 0; + if(char >= 65 && char < 91) /* A-Z -> 10-35 */ + return char - 65 + 10; + if(char >= 97 && char < 123) /* a-z -> 36-61 */ + return char - 97 + 36; + if(char == 33) /* ! -> 62 */ + return 62; + /* skipping 34 (') */ + if(char >= 35 && char < 39) /* #-& -> 63-66 */ + return char - 35 + 63; + /* skipping 39 (") */ + if(char >= 40 && char < 44) /* (-+ -> 67-70 */ + return char - 40 + 67; + /* skipping 44 (,) */ + if(char == 45) /* - -> 71 */ + return 71; + if(char >= 59 && char < 65) /* ;-@ -> 72-77 */ + return char - 59 + 72; + if(char >= 94 && char < 97) /* ^-` -> 78-80 */ + return char - 94 + 78; + if(char >= 123 && char < 127) /* {-~ -> 81-84 */ + return char - 123 + 81; + + return 0; /* Interpret padding values as zeros */ + } + + /* Pad the string for easier decode later. We don't read past the file + end, so it doesn't matter what garbage is there. */ + if(base85string.length % 5) { + console.log("Expected properly padded base85 data"); + return; + } + + let buffer = new ArrayBuffer(base85string.length*4/5); + let data8 = new DataView(buffer); + for(let i = 0; i < base85string.length; i += 5) { + let char1 = charValue(base85string.charCodeAt(i + 0)); + let char2 = charValue(base85string.charCodeAt(i + 1)); + let char3 = charValue(base85string.charCodeAt(i + 2)); + let char4 = charValue(base85string.charCodeAt(i + 3)); + let char5 = charValue(base85string.charCodeAt(i + 4)); + + data8.setUint32(i*4/5, char5 + + char4*85 + + char3*85*85 + + char2*85*85*85 + + char1*85*85*85*85, false); /* BE, yes */ + } + + return buffer; + }, + + load: function(base85string) { + return this.init(this.base85decode(base85string)); + }, + + /* http://ecmanaut.blogspot.com/2006/07/encoding-decoding-utf8-in-javascript.html */ + toUtf8: function(string) { return unescape(encodeURIComponent(string)); }, + fromUtf8: function(string) { return decodeURIComponent(escape(string)); }, + + autocompletedCharsToUtf8: function(chars) { + /* Strip incomplete UTF-8 chars from the autocompletion end */ + for(let i = chars.length - 1; i >= 0; --i) { + let c = chars[i]; + + /* We're safe, finish */ + if( + /* ASCII value at the end */ + (c < 128 && i + 1 == chars.length) || + + /* Full two-byte character at the end */ + ((c & 0xe0) == 0xc0 && i + 2 == chars.length) || + + /* Full three-byte character at the end */ + ((c & 0xf0) == 0xe0 && i + 3 == chars.length) || + + /* Full four-byte character at the end */ + ((c & 0xf8) == 0xf0 && i + 4 == chars.length) + ) break; + + /* Continuing UTF-8 character, go further back */ + if((c & 0xc0) == 0x80) continue; + + /* Otherwise the character is not complete, drop it from the end */ + chars.length = i; + break; + } + + /* Convert the autocompleted UTF-8 sequence to a string */ + let suggestedTabAutocompletionString = ''; + for(let i = 0; i != chars.length; ++i) + suggestedTabAutocompletionString += String.fromCharCode(chars[i]); + return suggestedTabAutocompletionString; + }, + + /* Returns the values in UTF-8, but input is in whatever shitty 16bit + encoding JS has */ + search: function(searchString) { + /* Normalize the search string first, convert to UTF-8 and trim spaces + from the left. From the right they're trimmed only if nothing is + found, see below. */ + searchString = this.toUtf8(searchString.toLowerCase().replace(/^\s+/,'')); + + /* TODO: maybe i could make use of InputEvent.data and others here */ + + /* Find longest common prefix of previous and current value so we don't + need to needlessly search again */ + let max = Math.min(searchString.length, this.searchString.length); + let commonPrefix = 0; + for(; commonPrefix != max; ++commonPrefix) + if(searchString[commonPrefix] != this.searchString[commonPrefix]) break; + + /* Drop items off the stack if it has has more than is needed for the + common prefix (it needs to have at least one item, though) */ + if(commonPrefix + 1 < this.searchStack.length) + this.searchStack.splice(commonPrefix + 1, this.searchStack.length - commonPrefix - 1); + + /* Add new characters from the search string */ + let foundPrefix = commonPrefix; + for(; foundPrefix != searchString.length; ++foundPrefix) { + /* Calculate offset and count of children */ + let offset = this.searchStack[this.searchStack.length - 1]; + + /* If there's a lot of results, the result count is a 16bit BE value + instead */ + let resultCount = this.trie.getUint8(offset); + let resultCountSize = 1; + if(resultCount & 0x80) { + resultCount = this.trie.getUint16(offset, false) & ~0x8000; + ++resultCountSize; + } + + let childCount = this.trie.getUint8(offset + resultCountSize); + + /* Go through all children and find the next offset */ + let childOffset = offset + resultCountSize + 1 + resultCount*this.resultIdBytes; + let found = false; + for(let j = 0; j != childCount; ++j) { + if(String.fromCharCode(this.trie.getUint8(childOffset + j)) != searchString[foundPrefix]) + continue; + + this.searchStack.push(this.trie.getUint32(childOffset + childCount + j*this.fileOffsetBytes, true) & this.fileOffsetMask & ~this.lookaheadBarrierMask); + found = true; + break; + } + + /* Character not found */ + if(!found) { + /* If we found everything except spaces at the end, pretend the + spaces aren't there. On the other hand, we *do* want to + try searching with the spaces first -- it can narrow down + the result list for page names or show subpages (which are + after a lookahead barrier that's a space). */ + if(!searchString.substr(foundPrefix).trim().length) + searchString = searchString.substr(0, foundPrefix); + + break; + } + } + + /* Save the whole found prefix for next time */ + this.searchString = searchString.substr(0, foundPrefix); + + /* If the whole thing was not found, return an empty result and offer + external search */ + if(foundPrefix != searchString.length) { + /* istanbul ignore if */ + if(typeof document !== 'undefined') { + let link = document.getElementById('search-external'); + if(link) + link.href = link.dataset.searchEngine.replace('{query}', encodeURIComponent(searchString)); + } + return [[], '']; + } + + /* Otherwise gather the results */ + let suggestedTabAutocompletionChars = []; + let results = []; + let leaves = [[this.searchStack[this.searchStack.length - 1], 0]]; + while(leaves.length) { + /* Pop offset from the queue */ + let current = leaves.shift(); + let offset = current[0]; + let suffixLength = current[1]; + + /* Calculate child count. If there's a lot of results, the count + "leaks over" to the child count storage. */ + /* TODO: hmmm. this is helluvalot duplicated code. hmm. */ + let resultCount = this.trie.getUint8(offset); + let resultCountSize = 1; + if(resultCount & 0x80) { + resultCount = this.trie.getUint16(offset, false) & ~0x8000; + ++resultCountSize; + } + + let childCount = this.trie.getUint8(offset + resultCountSize); + + /* Populate the results with all values associated with this node */ + for(let i = 0; i != resultCount; ++i) { + let index = this.trie.getUint32(offset + resultCountSize + 1 + i*this.resultIdBytes, true) & this.resultIdMask; + results.push(this.gatherResult(index, suffixLength, 0xffffff)); /* should be enough haha */ + + /* 'nuff said. */ + if(results.length >= this.maxResults) + return [results, this.autocompletedCharsToUtf8(suggestedTabAutocompletionChars)]; + } + + /* Dig deeper */ + let childOffset = offset + resultCountSize + 1 + resultCount*this.resultIdBytes; + for(let j = 0; j != childCount; ++j) { + let offsetBarrier = this.trie.getUint32(childOffset + childCount + j*this.fileOffsetBytes, true) & this.fileOffsetMask; + + /* Lookahead barrier, don't dig deeper */ + if(offsetBarrier & this.lookaheadBarrierMask) continue; + + /* Append to the queue */ + leaves.push([offsetBarrier & ~this.lookaheadBarrierMask, suffixLength + 1]); + + /* We don't have anything yet and this is the only path + forward, add the char to suggested Tab autocompletion. Can't + extract it from the leftmost 8 bits of offsetBarrier because + that would make it negative, have to load as Uint8 instead. + Also can't use String.fromCharCode(), because later doing + str.charCodeAt() would give me back UTF-16 values, which is + absolutely unwanted when all I want is check for truncated + UTF-8. */ + if(!results.length && leaves.length == 1 && childCount == 1) + suggestedTabAutocompletionChars.push(this.trie.getUint8(childOffset + j)); + } + } + + return [results, this.autocompletedCharsToUtf8(suggestedTabAutocompletionChars)]; + }, + + gatherResult: function(index, suffixLength, maxUrlPrefix) { + let flags = this.map.getUint8(this.mapFlagsOffset + index); + let resultOffset = this.map.getUint32(index*this.fileOffsetBytes, true) & this.fileOffsetMask; + + /* The result is an alias, parse the aliased prefix */ + let aliasedIndex = null; + if((flags & 0xf0) == 0x00) { + aliasedIndex = this.map.getUint32(resultOffset, true) & this.resultIdMask; + resultOffset += this.resultIdBytes; + } + + /* The result has a prefix, parse that first, recursively */ + let name = ''; + let url = ''; + if(flags & (1 << 3)) { + let prefixIndex = this.map.getUint32(resultOffset, true) & this.resultIdMask; + let prefixUrlPrefixLength = Math.min(this.map.getUint16(resultOffset + this.resultIdBytes, true) & this.nameSizeMask, maxUrlPrefix); + + let prefix = this.gatherResult(prefixIndex, 0 /*ignored*/, prefixUrlPrefixLength); + name = prefix.name; + url = prefix.url; + + resultOffset += this.resultIdBytes + this.nameSizeBytes; + } + + /* The result has a suffix, extract its length */ + let resultSuffixLength = 0; + if(flags & (1 << 0)) { + resultSuffixLength = this.map.getUint16(resultOffset, true) & this.nameSizeMask; + resultOffset += this.nameSizeBytes; + } + + let nextResultOffset = this.map.getUint32((index + 1)*this.fileOffsetBytes, true) & this.fileOffsetMask; + + /* Extract name */ + let j = resultOffset; + for(; j != nextResultOffset; ++j) { + let c = this.map.getUint8(j); + + /* End of null-delimited name */ + if(!c) { + ++j; + break; /* null-delimited */ + } + + name += String.fromCharCode(c); /* eheh. IS THIS FAST?! */ + } + + /* The result is an alias and we're not deep inside resolving a prefix, + extract the aliased name and URL */ + /* TODO: this abuses 0xffffff to guess how the call stack is deep and + that's just wrong, fix! */ + if(aliasedIndex != null && maxUrlPrefix == 0xffffff) { + let alias = this.gatherResult(aliasedIndex, 0 /* ignored */, 0xffffff); /* should be enough haha */ + + /* Keeping in UTF-8, as we need that for proper slicing (and concatenating) */ + return {name: name, + alias: alias.name, + url: alias.url, + flags: alias.flags, + cssClass: alias.cssClass, + typeName: alias.typeName, + suffixLength: suffixLength + resultSuffixLength}; + } + + /* Otherwise extract URL from here */ + let max = Math.min(j + maxUrlPrefix - url.length, nextResultOffset); + for(; j != max; ++j) { + url += String.fromCharCode(this.map.getUint8(j)); + } + + /* This is an alias, return what we have, without parsed CSS class and + type name as those are retrieved from the final target type */ + if(!(flags >> 4)) + return {name: name, + url: url, + flags: flags & 0x0f, + suffixLength: suffixLength + resultSuffixLength}; + + /* Otherwise, get CSS class and type name for the result label */ + let typeMapIndex = (flags >> 4) - 1; + let cssClass = [ + /* Keep in sync with _search.py */ + 'm-default', + 'm-primary', + 'm-success', + 'm-warning', + 'm-danger', + 'm-info', + 'm-dim' + ][this.typeMap.getUint8(typeMapIndex*2)]; + let typeNameOffset = this.typeMap.getUint8(typeMapIndex*2 + 1); + let nextTypeNameOffset = this.typeMap.getUint8((typeMapIndex + 1)*2 + 1); + let typeName = ''; + for(let j = typeNameOffset; j != nextTypeNameOffset; ++j) + typeName += String.fromCharCode(this.typeMap.getUint8(j)); + + /* Keeping in UTF-8, as we need that for proper slicing (and + concatenating). Strip the type from the flags, as it's now expressed + directly. */ + return {name: name, + url: url, + flags: flags & 0x0f, + cssClass: cssClass, + typeName: typeName, + suffixLength: suffixLength + resultSuffixLength}; + }, + + escape: function(name) { + return name.replace(/[\"&<>]/g, function (a) { + return { '"': '"', '&': '&', '<': '<', '>': '>' }[a]; + }); + }, + escapeForRtl: function(name) { + /* Besides the obvious escaping of HTML entities we also need + to escape punctuation, because due to the RTL hack to cut + text off on left side the punctuation characters get + reordered (of course). Prepending ‎ works for most + characters, parentheses we need to *soak* in it. But only + the right ones. And that for some reason needs to be also for &. + Huh. https://en.wikipedia.org/wiki/Right-to-left_mark */ + return this.escape(name).replace(/[:=]/g, '‎$&').replace(/(\)|>|&|\/)/g, '‎$&‎'); + }, + + renderResults: /* istanbul ignore next */ function(resultsSuggestedTabAutocompletion) { + if(!this.searchString.length) { + document.getElementById('search-help').style.display = 'block'; + document.getElementById('search-results').style.display = 'none'; + document.getElementById('search-notfound').style.display = 'none'; + return; + } + + document.getElementById('search-help').style.display = 'none'; + + /* Results found */ + if(resultsSuggestedTabAutocompletion[0].length) { + let results = resultsSuggestedTabAutocompletion[0]; + + document.getElementById('search-results').style.display = 'block'; + document.getElementById('search-notfound').style.display = 'none'; + + let list = ''; + for(let i = 0; i != results.length; ++i) { + /* Labels + */ + list += '
                                                                                                                              ' + results[i].typeName + '
                                                                                                                              ' + (results[i].flags & 2 ? '
                                                                                                                              deprecated
                                                                                                                              ' : '') + (results[i].flags & 4 ? '
                                                                                                                              deleted
                                                                                                                              ' : ''); + + /* Render the alias (cut off from the right) */ + if(results[i].alias) { + list += '
                                                                                                                              ' + this.escape(results[i].name.substr(0, results[i].name.length - this.searchString.length - results[i].suffixLength)) + '' + this.escape(results[i].name.substr(results[i].name.length - this.searchString.length - results[i].suffixLength, this.searchString.length)) + '' + this.escapeForRtl(results[i].name.substr(results[i].name.length - results[i].suffixLength)) + ': ' + this.escape(results[i].alias) + ''; + + /* Render the normal thing (cut off from the left, have to + escape for RTL) */ + } else { + list += '
                                                                                                                              ' + this.escapeForRtl(results[i].name.substr(0, results[i].name.length - this.searchString.length - results[i].suffixLength)) + '' + this.escapeForRtl(results[i].name.substr(results[i].name.length - this.searchString.length - results[i].suffixLength, this.searchString.length)) + '' + this.escapeForRtl(results[i].name.substr(results[i].name.length - results[i].suffixLength)); + } + + /* The closing */ + list += '
                                                                                                                              '; + } + document.getElementById('search-results').innerHTML = this.fromUtf8(list); + document.getElementById('search-current').scrollIntoView(true); + + /* Append the suggested tab autocompletion, if any, and if the user + didn't just delete it */ + let searchInput = document.getElementById('search-input'); + if(this.autocompleteNextInputEvent && resultsSuggestedTabAutocompletion[1].length && searchInput.selectionEnd == searchInput.value.length) { + let suggestedTabAutocompletion = this.fromUtf8(resultsSuggestedTabAutocompletion[1]); + + let lengthBefore = searchInput.value.length; + searchInput.value += suggestedTabAutocompletion; + searchInput.setSelectionRange(lengthBefore, searchInput.value.length); + } + + /* Nothing found */ + } else { + document.getElementById('search-results').innerHTML = ''; + document.getElementById('search-results').style.display = 'none'; + document.getElementById('search-notfound').style.display = 'block'; + } + + /* Don't allow things to be selected just by motionless mouse cursor + suddenly appearing over a search result */ + this.mouseMovedSinceLastRender = false; + + /* Reset autocompletion, if it was allowed. It'll get whitelisted next + time a character gets inserted. */ + this.autocompleteNextInputEvent = false; + }, + + searchAndRender: /* istanbul ignore next */ function(value) { + let prev = performance.now(); + let results = this.search(value); + let after = performance.now(); + this.renderResults(results); + if(this.searchString.length) { + document.getElementById('search-symbolcount').innerHTML = + results[0].length + (results[0].length >= this.maxResults ? '+' : '') + " results (" + Math.round((after - prev)*10)/10 + " ms)"; + } else + document.getElementById('search-symbolcount').innerHTML = this.symbolCount; + }, +}; + +/* istanbul ignore next */ +function selectResult(event) { + if(!Search.mouseMovedSinceLastRender) return; + + if(event.currentTarget.parentNode.id == 'search-current') return; + + let current = document.getElementById('search-current'); + current.removeAttribute('id'); + event.currentTarget.parentNode.id = 'search-current'; +} + +/* This is separated from showSearch() because we need non-destructive behavior + when appearing directly on a URL with #search */ /* istanbul ignore next */ +function updateForSearchVisible() { + /* Prevent accidental scrolling of the body, prevent page layout jumps */ + let scrolledBodyWidth = document.body.offsetWidth; + document.body.style.overflow = 'hidden'; + document.body.style.paddingRight = (document.body.offsetWidth - scrolledBodyWidth) + 'px'; + + document.getElementById('search-input').value = ''; + document.getElementById('search-input').focus(); + document.getElementById('search-results').style.display = 'none'; + document.getElementById('search-notfound').style.display = 'none'; + document.getElementById('search-help').style.display = 'block'; +} + +/* istanbul ignore next */ +function showSearch() { + window.location.hash = '#search'; + Search.canGoBackToHideSearch = true; + + updateForSearchVisible(); + document.getElementById('search-symbolcount').innerHTML = Search.symbolCount; + return false; +} + +/* istanbul ignore next */ +function hideSearch() { + /* If the search box was opened using showSearch(), we can go back in the + history. Otherwise (for example when we landed to #search from a + bookmark or another server), going back would not do the right thing and + in that case we simply replace the current history state. */ + if(Search.canGoBackToHideSearch) { + Search.canGoBackToHideSearch = false; + window.history.back(); + } else { + window.location.hash = '#!'; + window.history.replaceState('', '', window.location.pathname); + } + + /* Restore scrollbar, prevent page layout jumps */ + document.body.style.overflow = 'auto'; + document.body.style.paddingRight = '0'; + + return false; +} + +/* istanbul ignore next */ +function copyToKeyboard(text) { + /* Append to the popup, appending to document.body would cause it to + scroll when focused */ + let searchPopup = document.getElementsByClassName('m-doc-search')[0]; + let textarea = document.createElement("textarea"); + textarea.value = text; + searchPopup.appendChild(textarea); + textarea.focus(); + textarea.select(); + + document.execCommand('copy'); + + searchPopup.removeChild(textarea); + document.getElementById('search-input').focus(); +} + +/* Only in case we're running in a browser. Why a simple if(document) doesn't + work is beyond me. */ /* istanbul ignore if */ +if(typeof document !== 'undefined') { + document.getElementById('search-input').oninput = function(event) { + Search.searchAndRender(document.getElementById('search-input').value); + }; + + document.onkeydown = function(event) { + /* Search shown */ + if(window.location.hash == '#search') { + /* Close the search */ + if(event.key == 'Escape') { + hideSearch(); + + /* Focus the search input, if not already, using T or Tab */ + } else if((!document.activeElement || document.activeElement.id != 'search-input') && (event.key.toLowerCase() == 't' || event.key == 'Tab') && !event.shiftKey && !event.ctrlKey && !event.altKey && !event.metaKey) { + document.getElementById('search-input').focus(); + return false; /* so T doesn't get entered into the box */ + + /* Fill in the autocompleted selection */ + } else if(event.key == 'Tab' && !event.shiftKey && !event.ctrlKey && !event.altKey && !event.metaKey) { + /* But only if the input has selection at the end */ + let input = document.getElementById('search-input'); + if(input.selectionEnd == input.value.length && input.selectionStart != input.selectionEnd) { + input.setSelectionRange(input.value.length, input.value.length); + return false; /* so input won't lose focus */ + } + + /* Select next item */ + } else if(event.key == 'ArrowDown') { + let current = document.getElementById('search-current'); + if(current) { + let next = current.nextSibling; + if(next) { + current.id = ''; + next.id = 'search-current'; + next.scrollIntoView(false); + } + } + return false; /* so the keypress doesn't affect input cursor */ + + /* Select prev item */ + } else if(event.key == 'ArrowUp') { + let current = document.getElementById('search-current'); + if(current) { + let prev = current.previousSibling; + if(prev) { + current.id = ''; + prev.id = 'search-current'; + prev.scrollIntoView(false); + } + } + return false; /* so the keypress doesn't affect input cursor */ + + /* Go to result (if any) */ + } else if(event.key == 'Enter') { + let result = document.getElementById('search-current'); + if(result) { + result.firstElementChild.click(); + + /* We might be staying on the same page, so restore scrollbar, + and prevent page layout jumps */ + document.body.style.overflow = 'auto'; + document.body.style.paddingRight = '0'; + } + return false; /* so the form doesn't get sent */ + + /* Copy (Markdown) link to keyboard */ + } else if((event.key.toLowerCase() == 'l' || event.key.toLowerCase() == 'm') && event.metaKey) { + let result = document.getElementById('search-current'); + if(result) { + let plain = event.key.toLowerCase() == 'l'; + let link = plain ? result.firstElementChild.href : + '[' + result.firstElementChild.dataset.mdLinkTitle + '](' + result.firstElementChild.href + ')'; + + copyToKeyboard(link); + + /* Add CSS class to the element for visual feedback (this + will get removed on keyup), but only if it's not already + there (in case of key repeat, e.g.) */ + if(result.className.indexOf('m-doc-search-copied') == -1) + result.className += ' m-doc-search-copied'; + console.log("Copied " + (plain ? "link" : "Markdown link") + " to " + result.firstElementChild.dataset.mdLinkTitle); + } + + return false; /* so L doesn't get entered into the box */ + + /* Looks like the user is inserting some text (and not cutting, + copying or whatever), allow autocompletion for the new + character. The oninput event resets this back to false, so this + basically whitelists only keyboard input, including Shift-key + and special chars using right Alt (or equivalent on Mac), but + excluding Ctrl-key, which is usually not for text input. In the + worst case the autocompletion won't be allowed ever, which is + much more acceptable behavior than having no ability to disable + it and annoying the users. */ + } else if(event.key != 'Backspace' && event.key != 'Delete' && !event.metaKey && (!event.ctrlKey || event.altKey) + /* Don't ever attempt autocompletion with Android virtual + keyboards, as those report all `event.key`s as + `Unidentified` (on Chrome) or `Process` (on Firefox) with + `event.code` 229 and thus we have no way to tell if a text + is entered or deleted. See this WONTFIX bug for details: + https://bugs.chromium.org/p/chromium/issues/detail?id=118639 + Couldn't find any similar bugreport for Firefox, but I + assume the virtual keyboard is to blame. + + An alternative is to hook into inputEvent, which has the + data, but ... there's more cursed issues right after that: + + - setSelectionRange() in Chrome on Android only renders + stuff, but doesn't actually act as such. Pressing + Backspace will only remove the highlight, but the text + stays here. Only delay-calling it through a timeout will + work as intended. Possibly related SO suggestion (back + then not even the rendering worked properly): + https://stackoverflow.com/a/13235951 + Possibly related Chrome bug: + https://bugs.chromium.org/p/chromium/issues/detail?id=32865 + + - On Firefox Mobile, programmatically changing an input + value (for the autocompletion highlight) will trigger an + input event, leading to search *and* autocompletion being + triggered again. Ultimately that results in newly typed + characters not replacing the autocompletion but rather + inserting before it, corrupting the searched string. This + event has to be explicitly ignored. + + - On Firefox Mobile, deleting a highlight with the + backspace key will result in *three* input events instead + of one: + 1. `deleteContentBackward` removing the selection (same + as Chrome or desktop Firefox) + 2. `deleteContentBackward` removing *the whole word* + that contained the selection (or the whole text if + it's just one word) + 3. `insertCompositionText`, adding the word back in, + resulting in the same state as (1). + I have no idea WHY it has to do this (possibly some + REALLY NASTY workaround to trigger correct font shaping?) + but ultimately it results in the autocompletion being + added again right after it got deleted, making this whole + thing VERY annoying to use. + + I attempted to work around the above, but it resulted in a + huge amount of browser-specific code that achieves only 90% + of the goal, with certain corner cases still being rather + broken (such as autocompletion randomly triggering when + erasing the text, even though it shouldn't). So disabling + autocompletion on this HELLISH BROKEN PLATFORM is the best + option at the moment. */ + && event.key != 'Unidentified' && event.key != 'Process' + ) { + Search.autocompleteNextInputEvent = true; + /* Otherwise reset the flag, because when the user would press e.g. + the 'a' key and then e.g. ArrowRight (which doesn't trigger + oninput), a Backspace after would still result in + autocompleteNextInputEvent, because nothing reset it back. */ + } else { + Search.autocompleteNextInputEvent = false; + } + + /* Search hidden */ + } else { + /* Open the search on the T or Tab key */ + if((event.key.toLowerCase() == 't' || event.key == 'Tab') && !event.shiftKey && !event.ctrlKey && !event.altKey && !event.metaKey) { + showSearch(); + return false; /* so T doesn't get entered into the box */ + } + } + }; + + document.onkeyup = function(event) { + /* Remove highlight after key is released after a link copy */ + if((event.key.toLowerCase() == 'l' || event.key.toLowerCase() == 'm') && event.metaKey) { + let result = document.getElementById('search-current'); + if(result) result.className = result.className.replace(' m-doc-search-copied', ''); + } + }; + + /* Allow selecting items by mouse hover only after it moves once the + results are populated. This prevents a random item getting selected if + the cursor is left motionless over the result area. */ + document.getElementById('search-results').onmousemove = function() { + Search.mouseMovedSinceLastRender = true; + }; + + /* If #search is already present in the URL, hide the scrollbar etc. for a + consistent experience */ + if(window.location.hash == '#search') updateForSearchVisible(); +} + +/* For Node.js testing */ /* istanbul ignore else */ +if(typeof module !== 'undefined') { module.exports = { Search: Search }; } diff --git a/v3.0.1/searchdata-v2.js b/v3.0.1/searchdata-v2.js new file mode 100644 index 00000000..c46e4ad2 --- /dev/null +++ b/v3.0.1/searchdata-v2.js @@ -0,0 +1,2 @@ +/* Generated by https://mcss.mosra.cz/documentation/doxygen/. Do not edit. */ +Search.load('O+!-x00000e*ypi@^1hDc_9G+d~W~%0RR9100CtL00001ZU_JX00D0f000310RR92a~c2u00Ctl00001Z6p8y00C(#00001bT9w_00Cb%00001WIO->00C}700001VMqV~00Cc400001b5sBT00CuM00001bYK7g00CiU000310ssI3b8-Lx00C}x00001VSE4p00C}-00001Ux)wz00Cr<00001Zj=B300Ci|00001U!VX000DER00001Wvl=I00C*T00001bhrQj00C*f00001Zo~ip00C*r00001X3zit00C~+00002WNB;w0Nelo00Cd(00001W$XX|00DIJ00001Z}00Cbz0RR92Y&Zb`00Ch>0RR92azp_D00Cu60RR92bWi~R00C)M0RRC21ONa5b7BDi00C!a0RR92ZfpSn00C)o0RR92a(Dp%00DG<0RR92bA$l^00Cc$0RR92Wsm^?00C~60RR92X`BH700C^G0RR92U#I~900C*P0RR92bhH5g00C^e0RR92b-)1t0RRO600DE%0RR92XV3uv00C~+0RR92Y1{z-00DC10RR92bm##900DFE0RR92U-SV000D0L0RR92X#fHM00CbH0ssI3a|{9i00CkW0ssI3VHg4c00DF!0ssI3UnBwm00C?&0ssI3VK4#!00Ct-0ssL31^@s7b3y_D00C!40ssI3ZcG9I00C)I0ssI3a##WY00DGf0ssI3b7TSl00CcW0ssI3WpDxj00Crn0ssI3Z+rp(00Coy0ssI3X@~*<00C}}0ssL32LJ#8bD9DG00DBI0ssI3WuyWC00C#J0ssI3Wv~JO00DHi0ssI3ZoC2j00C*j0ssI3U&sOg00DW<0ssI3a?}C<00Cjz0ssI3Zr}m{00C*{0ssL32mk;9bMgWJ00DCL0ssI3W&8pF00CzL0{{R4We5WR00DFk0{{R4ZWIFm00C(l0{{R4Umybj00C?!0{{R4VJrgx00DF|0{{R4V>kl<0RRaA00DDE0{{R4a!3OJ00CuA0{{R4XH)|K00CuM0{{R4bYKGj00C}h0{{R4X>0=k00Cce0{{R4Y7f1ONa5bf^RX00C~Y1ONa5Ww-k&0RavGI&KAk00DD!1poj6XM61poj6Uz7y^00DHG1poj6VW0&700C{L1poj6a;yaa00D2Z1pom64*&oGWxfRf00C~o1poj6Z^#7z0RRvH00Cvx1poj6Y}f?=00Cm&1pom67XSbOW$Fb000C|81poj7VQJ(A0Q3a_0RRyI00DUf1^@s7VF(5Q00D9i1^@s7aufyt0RR#J00Czp1^@s7ZX^Z(00C(#1^@s7axew}00DG11^@v76951KazX|G00Cu21^@s7XG{hF00CuE1^@s7bXW!e00C}Z1^@v76aWALbZQ0w00C}p1^@s7X>1^@s7ZRiF700C+41^@s7bo2%Q0Ra{OU-||B00CtH2LJ#8bO;9k00ChR2LJ#FZggRDX=Y+%&IJJa1ppcb06Yc&WCj4X1_0g$02BuR00BB02LJ&982~yw2Y>(pWkLr400D4H2LJ#8c~A!c0RRsK00CuO2LJ#8a9{@j00DVs2LJ#8bZiFz00Cce2LJ#8WOxSv00Cuw2LJ#8cZ3H30RVjj00AkG2LJ&9d;}(pbeabM00C*D2LJ#9Wpj!L0H_B50RVRd00Aku2LJ&8c?19fDZ&Q;0ReafD8>hX00DH&2LJ#8W7G!#00Cjz2LJ#8c;E*B0RVdh00AlN2LJ&9dITu&2Y>(pa`p!R00L!i<_7@&2LJ&Ab_6J2ya#{;2mk;9Wex}c00DIx2mk;9Y#;~#00L=Yt_J`n2mk>95d;7MDK-cI0Ra#MC^`s$00BHe2mk>99|QmaDNYCg0RbKaC{hT300C@R2mk;9Z(s-j00D1i2mk;9Vr&Qi0stcfAp`&cDR>9~2LLYwDFiD7Cj>17GXyaN00Ak42ml8GE(9n9Dg-73ECezHFa#)+2!H|tA_O1=C_R1%fSL#Z0RSZg00Aky2mk>ABm^kH2!H?qJ;n$C0{}e)IRrZd00Ak~2mk{CJOnrdIs_=(2!H?qUE&A;00lfCJt1322mo>j0ImoC&IkbR2mk;9a`XrQ00D0b2><{AbPx#u00ChZ2><{AavTW&00Ctp2><{Aa3~1?0RR&O00Aj92>=BE6$Bjw7X%pu8w3CWDLx4R1pyQU90V2w7z7#wC`t){00DPU2><{AWnc*a00C)c2><{Ac5Dd%0Rj>PC|@`UfN}`{00Cuq2><{AWP}L-00D1`2>=2BH3T;V00AkM2>=2CGz2yTD4Yp^00C&C2><{AbgT&g00CjL2><{AaJUHo00CdV2><~AKLh{)Dar`|0RTY+00Ak~2><~BKm;h*34j0rdEN;C00Cj<2><{Aa_k8J00DCH2><~ALj(W;DgFrn0Rch;C;|$A00C|Y3IG5BVGs%c00Ctd3IG5BY#a&z00D0z3IG5BZzu`?0RTk=00Aj93IG8BM+5)?DLx7S0Rct?C_)N=00Cu43IG5BZBPmT00C)M3IG5BbX*Dm0Rlt>C|@`VfMN;&00Cua3IG5BbaV;;00Cio3IG8BNdy1^DTWFF0Rcz^D2fVz00DH63IG5BZkP%H00C*93IG5BZ=?zU00D5S3IG5BU$6=Q00C#V3IG5BZoCQr00C*j3IG5BbjS(-00Cjn3IG5BZ`29^00C^;3IG8BO9TJ`Ddq|Q0Rc(`DC!D;00DCF3IG5BW%vpJ00C$I3IG5BWdsWV00DFg3jhECZV(Fq0RT+|00Ai+3jhHDOav$(3xEItXC?~(00C|;3jhECX*3G}00DA33jhECbU+IL0RT?~00AjX3jhHDP6Q}W3xEItWmXFS00C@X3jhECVq^;d0RT}100Aj*3jhHDPy{G+3xEItWqJz$00C`+3jhEDVQFd$0Ei0!00&`WWM*k|bodDXE(!pE3IN~=02T`XMhgIr3jhHEJ_IOV&Iy2+3jhEDbaTWB0JaMN0RU4300Ak?3jhHCRRjP5Db@=B0RUG700AlB3jhHDRs<;I3xEItbLtBK00Cw43jhECZ1@WR00CnD3jhECVFU~S00DFg3;+NDUl0rc00Cwe3;+NDZyXE&0RmJ6C|}wOfFcY400DU@3;+NDVKfW?00DA33;+NDazG3K0RUM900AjX3;+QESOh3g41fRuZdMEc00CiM3;+NDWn>Hh00C@j3;+NDZ*U9%00D1y3;+QDTLb_BDS`|D0RUYD00AkC3;+QETm&eP41fRuWtI#800C{D3;+NDX`~DQ00DHW3;+QFS_CLxh75qP3;+NDWws0e00DHu3;+NDVaN;s0RUeF00Ak~3;+QEUIZxE41fRublwaA00D013;+NDY3vLD00D3E3;+NDaQF-W00CeA3;+NDX9NuZ00C|a4FCWEX%Gzn00DFs4FCWEVH^zr00D0z4FCWEY$y!?0{~?NV+3IY00Aj94FCfHWCUUaU<4>U4S)avb3zRO00DJQ4FCWEZ&VEc00CuM4FCWEZeR@n00CuY4FCWEXKW1s00D1u4FCWEZFmg;00D1)4FCZEX9NHNDT)mM0Rd(ND2@$)00DB84FCWEWt@+=00Cvv4FCWEV%QA;00C{@4FCWEb>s~I0RU?R00AlR4FCZFY6K|s4S)avXZj5Q00C|S4gdfFX$TGg00D9i4gdfFbQBH%0RU|T00Ai=4gdiGYy>DI4uAjwWhxE;00C?=4gdfFVmJ-}0RV3V00AjP4gdiGZUiVu4uAjwWljzN00C`Q4gdfGVQD@N09+0L0RV9X00Aj%4gdiGa0DoD4uAjwWp)k#00DJ=4gdfFY=jN~00Ci&4gdfOVPa%vXlZV9baqAz0DKGp&I|x94FH4<0J;qT>J0!I4gg{f0FVv<0RmD4C|}SEfR+vb00DEr4gdiFa|8eZDbfxA0ReIZDAo>u00Cv(4gdfFaO4gE00DXG4gdiFbp!wbDfSKk0ReObDEbb700CwI4*&oGWe5)d00(w&ZeeM3ax4e{E(rjT2>`+i0L%^m@D2bD4*&oGIus880ReslIx-J{00DP64*&oGWk3%A00C)64*&oHbaqw;089@60RUJ700Ajn4*&rHR|600DJ+4*&oGZ-5T~1OQqCUISbMU;_XFDU1&Q1OZtCT?1PKUjrzX4}bsxXq*oK00DHW4*&oGVXzMX00D5e4*&oGU%U?h0sv+MXafKNDaa210sv|QYy$uRDbx=D0s(0QYXd0S4}bsxdEgHK00Cj@4*&oGa_|oT00DCL4*&uHZUb-w00Aii5C8%JZ3AxuC00D0*5C8xHZ!i!50swLYbOQhZDLfDW0swXccmn_dDM%0i0s(accLOL+5P$#yWmFIV00C`Y5C8xHX=D%p00DGr5C8%KaRYM$C|^PlfN&5100Cuo5C8xHbc7H900Ci&5C8%IdINj|00AkM5C8%Jc>{X`D4Y<000DHO5C8xHZmbXh00C*T5C8xHZ@3Tu00D5m5C8xHU&Igq00C#p5C8xHZqN__00C*%5C8xHbleaC00Cj*5C8xHZ|D#J00C_75C8%Iegl9500Alb5C8%JeFJ|3C;$thHV^=i5CHTL04@;#Vi5qc5dZ=LWdmmeC|}MGfV>d^00MM#!Vdu25dZ-IVgmpHDe@5j0RdqHDE1M600BPy5dZ)IWdsrc00CqQ5&!@JZx9jy00C|m5&!@JARH0^00DF&5&!@Jb0`u300C|;5&!@JZ!{7B0RUtJ00AjL5&!`KV*@Be5`X{!K1vb*00CuE5&!@JWLOda00D1a5&!@KV{SSU0AvyX00BH|5&!@JcXSc}00Cus5&!@JX@C*{00DM}5&!@JUyKp}00Cu^5&!@JWS9~F00D2F5&!@JZln?b00AJX5&!@Jax<@00Cvr5&!@JaMTh20RWBz00AlB5&!`JkOKe#De4jc0RWN%00AlV5&!`Kkpn3B5`X{!bN&(l00CtN6951KYzz|s00CkW6951KVHgtt00DF!6951KUnCO%00Cwy6951KZ!i-80RoQ$C|~XpfHo5V00DVC6951KVMr4I00DAN6951Ka#Rxl0RWT(00Ajr6954LlLIJZ6Mz5#ZfX+%00Cig6951KWq1<+00C@%6951KZ-f&700D1`6954KmID9*DV7re0RWf-00AkW6954LmjfuI6Mz5#WvUYZ00C{X6951KX}A*r00DHq6954Ml>;bWniGJ;6951KWy%u(00DH?6951KVcZh{0RWl<00AlJ6954LnFA>76Mz5#bn+7b00D0L6951KX#f-e00D0X6aWALa10ax00CbT6aWALXBZR!00C|u6aWALX(SW?00DF=6aWALVK5W`00D0{6aWALY&;YI1OTD~paYx(o&x{@DM%Cm1OcG~p97l%odYOR6o3E$b66Ar00DJo6aWALZ)_9*00Cuk6aWALZg>;`00Cuw6aWALXM_|000D1`6aWALZIBcI00D276aWDLqyqo}DWVhr0Rf`}D5eyE00DBW6aWALWwaCk00C#Z6aWALWxx~w00DHy6aWALZp;(_0RW~000Al36aWDMr2{D36o3E$a^e&K00Cv{6aWALV(=6I00C|G6aWALb^H_n0RX5200Aio6#xMNrvoSq6@UN%XA%_v00C|q6#xJMX&@B<00D9)6#xJMbSxDB0RXB400AjD6#xMNsRJlH6@UN%WkMAI00C@D6#xJMVo((T0RXH600Ajn6#xMNs{<%t6@UN%Wo8us00C`o6#xJNVQE$s0CW`q0RXN800Ak46#xMNtpg~C6@UN%WsVg900DKD6#xJMY@8JU00Cj56#xJVVPa%vXlZV9baq-30FV;^;u8Qu6abtQ0MZly0u=x<6##k_0H_rJ0RoK!C|~3ffUXq)00DE@6#xMMumb=ADe4sf0RgWADDD-200Cw66#xJMaQqbj00DUd761eQvIDdOwgb2W00Aiu761eRu>-RMwF9>UC>R!i00Cwm761SNWh@o|0RXxK00AjD761VNyaNCMDMA(i0Rg)MC`J~500DGN761SNV^kIZ00CiI761SNcwiO)0RX-O00Aj%761VOy#pw47JvW&a&{H~00L!iW)=W`761VPxdSL)JQje2761SNWsVjA00DKH761SNY@ikZ1OUJT!UMzu#sdHWDXbO%1OdMT!2`ns#RDj|7JvW&bi5V-00C*r761SNbI=w500LoYrWOF!761STb7603baHlv4*=*90NN4&g0RS8T00C@Z7XSbOVPqEo00DGr7XSbOV{jJ$0RSBU00C@#7XSbOVSpC^00C`=7XSbOX^a;D00Co?7XSbOWtbNL00Cs47XSbOVWbxT00DTa7XSbOWv~|j00UxgXj&Hlb{7D)7XSbOU%VFp00DE#7XSbOVbB)<00Cdt7XSbOblevJ00Cj*7XSbOZRi&O00DCD7XSbOZ}b-c00M4iI2Qo=7XSbOIsg~|0RbKWItmzo00DCl7ytkPXBZd&00Chh7ytkPY$O-}00Cwy7ytnPh5-NpXEqoB00DA37ytnPhXDWqWkwhP00D4H7ytkPc~BSt00LojKo|g47ytzTl>v_dkpY(hlK}t$DP|Y|1p<@-jscJXmI0ChUnpD{0CE_B00Cuq7ytkPb&MDQ00C^07ytkPVVD>I0|1KwjRA=P00Aka7ytqQsR64200Ako7ytqRr~#@0D7YAa0|JTxi~)!NC_StgfW8<20RWi+00Al37ytnQm;or<7=Qx+odKT#p#cB^De4#i0|27|r2(e_00AlZ7yttSq5-4nPu@)&>y82|wQn*jg;DJB^J0Rfr;C@L9%00BKP82|$StpTqAu>k-9DLxqh0|2uDwE?#Q00AjX82|$TvH`RKwgD(q8Gr)x00DKv82|tQY{(e^00Cjn82|tQcGMXF00AJ{82|tQbl@2P00DF682|tQZtNKV00D3E82|wQ4FUiGDgGG%0RRsI00Aio8UO(S4gx3)8h`-;3<4-70vdo48UO$RCK?(500Ctt8UO$Ra4Z@C00DV28UO$RbT}FS00Cb<8UO$RWkebP00DJM8UO$RY)~2i00CiE8UO$SV|Mr%09+aX1OO2N69N?i7XknQDQp@51OX5N5&{$g76K@C8h`=-83G#u00AkA8UO+T7y=psD3BU}00BOh8UO$XJv<>kASx}$7yuF(05}-{W*Got8UTD60H7KG00DBQ8UO$RZ^Rk^00DH$8UO$RVbB@?00DB=8UO$RW!xG700D5~8UO+SxdFQY00AlP8UO+TxBmB=00Al98vp_U%mK~;DC8S}00DIB8vp%x00DGr8~^|TZg3m`0sz$k*8ur0sz?o+W`OpDX<&>0s+_o+5srG9Do1;WxN~!00C^q8~^|TV$2)>0s!3s-vIytDcBqU0s-6s-T^4y9Do1;W#k+H00C|88~^|UVQJDF0Q4LH00&`WWM*k|bVM5fej5PT8vr~U0CpSzsvH3N8~^|TUj!Wh00DC%9RL9U;Q;^vDJ~rV0RZCx00AjD9RL9V;sGc;9e@Ae00Cu69RL6UY)~Bl00ClF9RL6UVO$*m00DGj9RL6UUuYcw00Cxh9RL6UZ*(010RrFwC|@!ifO;JO00DV`9RL6UVT>IB00DB69RL6Ua+nQ-W`Al9smFVWey$y00DFw9smFVVIUp=0RZa(00Aj19smIW>H#P)9)JJ=bT%FU00C}39smFVX+$0X00D1G9smFVa8Moq00CcC9smFVXIvft00C}d9smFVX=ok*00DGv9smFVVRRk<00D1$9smFVY=9mB0|4y-?*Z`v00AkC9smOY>;dip@Bt{49)JJ=bDACi00DKT9smFVZ>$~w00CvP9smFVZnz!*00Cvb9smFVXT%-=00D2x9smFVZO|S700D2-9smIV^8o+>DdHXg0Ri#>DCQo300DCB9smFVW%M2Z00C$E9smFVWdI)l00DFc9{>OWZVVp)0RZ&@00Ai&9{>RX^Z_UwAAkS>av~o900Ctx9{>OWVlW>700C__9{>OWbvz#c0RZ;_00AjT9{>RX_5mnNAAkS>XHp*k00C}V9{>OWX<#1!00DAl9{>OWbZj300RZ^{00Aj@9{>RX_yH(Wr80700C@@9{>OWVvrvI0RZ~}00AkS9{>RX`T;1QAAkS>Wu_kh00C{T9{>OXVQH2h0JI+f0Ra6000Ak)9{>RX`~fJ)AAkS>WzHV}00DK@9{>OWY}_9J00Cj*9{>OfVPa%vXlZV9batK{0Ms1-CLREW9st}P01_VnLLUHf9{{=^0O%h800Cd_9{>OWa~L210RaC200Ai^AOHaY{sAZ`AbADM%my1OWg70s;gA1_CHjAb@0v7y#%R02UhnC>;PEAOJ!j0Bj%t00BC3AOHaZ90FfDFc<)kAbOWa=IV@00D2lAOHXXbi^P400CjjAOHXXa?l_E00CvzAOHXXble~S00C*@AOHja#{kO!$pFm&00AlPAOHjb#sJCy$N%0s$TYAOR>+A%Fk@Zdf4z00CiQApigYWoRJ)00C@nApigYZ*(C500D1$ApimZBLO7=00Ak6ApimZCjlt|00AkIApimaCIKh`D3~FD00Cv5ApigYZKxpt00C*PApigYbhIG=0sSb00C*5A^-pZa-bpr00DHSA^-vaHvu^T00AkoA^-vbHUT&RD7Yek00CvbA^-pZY{()200CmoA^-vaI{`fb00Al5A^-vbIsrTZDBvQ100Cv@A^-pZZSW!h00LoY)FJ@(A^-pfVPa%vX>)W&Apn3O0NNn{J|X~kA^@x+0Q@2V00CbHBLD&bUjbnO00Ai~BLD&cUIAbMC@>>{00VM!bQmE3BqIPeBLD&b(E!f?00AjZBLD*c*8tl9*#H0mDOw`{0|C|m+5p%9C}Jak0s_zg&HyMqR3m_BBLD#a(*OVgDS{&a0RhqgD25||00BIVBLD#a)c^niDViey0RhwiD4rvL00BLuBLD&ba{+Y$00AkoBLD&cashM!D7Yhl00CXTBLDydJv<>>bRz(iBLJ);0LUW%00DB&BLDyaZ{Q;U00DI7BLDyaVeBIS00DCHBLDyaW%wfi00D6RBLD#a-2eaqDGDS20Rh|qC=Mim00D9oBme*bVH_j?00CtpBme;b`~Uy}axNqQ00D0@Bme*bbT}jc00Ch>Bme*bazrEm00Cu6Bme*bbWkJ!00C)MBme*bUtA;r00DGjBme*bb7&+000C}pBme;b0|5X5DS9LT0RaL5D1Ib>00C}c-vHqN00AiuB>(~e-T>eLC=?}t00CthB>(^cb0j4I00ChtB>({c?EnA)DK;el0RZm+00AjLB>({d?f@u6C4c|{Yf2>m00CoCB>(^cVOS*q00ClNB>({e>;NcVIwgQ)B>(^cWojh=00ComB>(^cVSFV30RRmF00Ak8B>({d3;`&NC4c|{d6Fdn00L}uf+YZ&B>(^caG)gs0ssdA2>}2BDX=8~0s#gA2mvUzC4c|{WV|H+00VMuZZIVPswDu%B>(~d;{fFV00Al5B>(~e;sE3TDBvZ400D01B>(^cW$+~c00DINB>(^cbo?a%00ChFCIA8eX8~ye00AiuCIA8fW&vmcC=@1u00DFwCIA2dZX_lE00D0*CIA2eY;p)D05B#10RZO!00AjLCIA5e<^U)}CV&6|Yf2^n00CoCCIA2dVOS;r00ClNCIA2dUt}f#00D4nCIA8e=>Y2h00Aj>CIA8f=m6>fD10V>00Cu!CIA2dZj2@X00DK9CIA5d`2YX`DV`<(0Ri{`D555S00C>LCIA2dW3VOw00CjPCIA2dV!S2*00CdZCIA2dXvii200DE(CIA2fZ*p~TCIFZw0MsS`1OV{>^#Jn#_W%F^Dd;8u1Oe~>^Z@bz_5djICV&6|boeF!00D9aCjbBeWeg_(00DCnCjbEe{Qv*~avmoD00D0zCjbBebSNhP00ChxCjbBeax^CZ00Ct>CjbEeKLG#%DMlv%0RTY(00AjbCjbEfKmjOJCx8F}b6O_=00CuUCjbBeY-lF{00CldCjbBeVRR<|00DG*CjbBeUw|h700Cx(CjbBeZ;U4Z0Rlb&C|^n^fRZNw00DWJCjbBeVWcMj00DBUCjbBea00AjPC;$NgNC7BFD1ZO~bWSJ$00C}RC;$KfXpM00D23C;$KfY?vqj0{}|_O#x2<00AkaC;$TiN&!p(P5~&aD1ZO~bFwG^00DKrC;$KfZ^S4700CvnC;$KfZqO(I00CvzC;$KfXWS?N00D2}C;$KfZRjWf00D3AC;$NfQ2_t}Df%b?0Rd0}DE=sb00D9YDF6TgWeh0*00CzbDF6TgWf&;{00DF!DF6TgZX_uH0RU4000Aj5DF6WhQUNG5DS!Y0aylsh00Ct}DF6TgVn`_f00C`IDF6TgbyO(;0RUA200AjrDF6WhQ~@YtDS!Y0XKE<`00C}tDF6TgX?Q6B00DA-DF6Tgbc87Y0RUG400AkGDF6WhRskrKDS!Y0Wtu4f00C^GDF6TgVyGzq0RUM600AkqDF6WhSOF-wDS!Y0Wxgo@00C{rDF6ThVQH=@0L&=>0RUS800Al7DF6WhS^+5FDS!Y0W#%aW00DLGDF6TgZ1gDr00Ck8DF6TpVPa%vXlZV9bau8U0PH6KJ}3a5C;;>*04gZ}S}6dEDFD(b001fg00CbHDgXcjZgg`PCjdYv05B>50RZ~|00AjPDgXfi`T!_MDu4h1Wlkyp00CoGDgXchVO%Nz00C@bDgXfh5di=JDQ+qN0Ra#JC~_)*00CuqDgXchc7Q4X00DA_DgXfh69E7LDUvDx0Ra*LD3&UK00Cv3DgXchdZa1<00L!cj4A-CDgXciaC2xX0I(_m00CvXDgXii{{R6200Ak=DgXij{r~_0D9|c^00C~+DgXchY2YdV00C#_DgXiiV*zCW00AlTDgXijVgY0UDEKOX00C?MDgXchV+bn%00L!U>?!~bD*yoi4*>uHDIO~T0RavHC?YF>00CtvD*ylidN3;h00C(>D*ylib37{m00Cb@D*ylict|S%00Ci6D*yoi6#)PNDOxK40Ra>NC|)ao00DGlD*yliX>2P100CxlD*yliUwA7300D1)D*ylibc8Da00Cc$D*yliYmh4d00C~6D*yliX`Cwn00DBMD*yoi7XbhPDXuF30Ra{PD6%Vn00CvVD*ylidcZ3H00L-fs4D=*D*yoi836zRDb_0h0Rb2RDB3H400Cv-D*ylibm%Jp00Cj{D*yliWArNk00D0LD*ylibpR{?0RUYA00AisEC2xkTmdK$EPwz3Wfm*|00D3wEC2uka(Mww1b984wBLD;>0Qe*T%q0LeCIH$d05&QB#3}$3D*#k00L&`@Dl7nYEC2ujI(#eu0RnabUpnX@0J1EA00DWpEC2ujVZgS00C~+EdT%kZ`>^a0RSQZ00DC7EdT%kW$Y~g00DIJEdT%kboea*00CkCEdT%kZ3Hd=00D9eE&u=lZxAj300CweE&u=lUmPv~00DF&E&u=lY$z@O00DI_E&u=lVKgoP00Cw?E&v4pYXENmaR6-qa{vGVDMl^;1p#URZUArqYyffqC{iwf00CuKE&u=lZD=k400C)kE&u=lbaXBN0Rd+KUwSS800CuyE&u=lbcikh00Ci+E&u@lXaE2KWtuJk00C{DE&u=lX{0Uy0RU+L00DHcE&u=lWwb5;00DElE&u=lX23200RVRZ00Ak?E&u@mb^s{QE`R_5J=QJ&0RVXb00AlFE&u@ldjJ3dDef)+0RegdDDp0V0RVjf00AigF8~1nd;ll}FMt69cmOCoJ?Jig_$~knF8~1me*gdhDIzZb0ReshC?+p}00BKLF8~1mfdBvjDLO9z0RV#l00AjPF8~1nf&eH;FMt68fB+~xJ}-byF8}}pAv`@k-Yx(VF90+z09G#m00DAhF8}}mZ*(sJ00DG*F8}}mVSq0H00DA_F8}}mWsENX00L%k#x4MoF8~1mbpQYXDWWd`0ReOXD5fuf00C^QF8}}mVYDv*00CpVF8}}mZ@@1A00C^qF8}}mU(7E600DE-F8}}pWOQ$7lr8|OE&!M>0N5`800BDQF8~1ngaA75FMt36W%e%s00C|OF8}}mX#_9;00DFgFaQAng#Z8nauzTE00ChdFaQ7nWgsvB0RV;o00C$$FaQ7nbTBXg00C|`FaQ7nZ#*yn0RV>p0sx5sivR!tDNHZ`0s)8siU255Fn|C7Wmqr(00Mb*NH73mFaQ7nVQ4S_0RW8v00Aj@FaQAoi~uNnFn|C7J%TU*0RWEx00AkGFaQAnkpKVzDVi_<0RfNzD4sBY0RWQ#00AkiFaQAok^m^MFn|FAjsPe;J(Mtjq%Z)sFaQAnl>h(%Db6qe0RfZ%DAF*100BMNFaQAnmjD0(DdsQ$0RWi*00AlRFaQAom;fmBFn|F9mH;R{>M(%%FaQ7qAv`@kiZB4aFaY2%00J=p00D9iF#rGoZy+%M00DF+F#rGoVJtBK00D9`F#rGoWjHYa00D45F#rGrd2M8GCNKa(FaUBe07NkW00BBmF#rJqngCxq5HJ8-F@OL8WnwV^00DGvF#rGpWnn-r0CX_`0RSTa00Cx%F#rGoZ-_Af00Cc)F#rGoWt1@h00D5CF#rGod7v=>00DHSF#rGoU#u|z0RSBW00LxkvM~U-F#rGoWxO!}00DHyF#rGoa?CLR00CvvF#rGobJ#He0RSif00DXAF#rGoVdyac00DCDF#rGoa`Z6(0RSlg00C|QG5`PpVFWS&00CtRG5`PpY!EU400D0nG5`PpZyYiJ0RSoh00C?$G5`PpVJtEL00Cn%G5`PpX*e00C)cGXMYqbZj#K00DAxGXMYqWq30H00DM>GXMYqZiF)c00D1`GXMYqV~{fd00Cc?GXMYqa-1^&00D2JGXMbrFaTeuGXMYqd9E`600CvTGXMbqGXMYqcfvCO00CvjGXMYqY0NVK00DN=GXMbrG5}xLGXMYqW!^IY00Cs?GXMbqGynhra`H0(00Cw8GXMYqV*E1z00C_RGynhsZ*}Z500=Yy0RS}s00CzhGynhrZX7fK00C(tGynhraws$a00DF^GynkrHUIztWjZtf00C@1GynhrVnj3m0RT4u00CuCGynhrZB#S>00LoYN;CjkGynkrH~;_vWok4400DJwGynhrY;-gL00CioGynh#VPa!sW@&3~b98q4F#sYm0Gu)a)-nJnGXPLC0K78*4m1EXGyq^U0Dv?A00CcyGynhsZgbu-0JJm!0RSWb00C^oGynhrVaPN900C~!GynhrZ`3pZ00C**GynkrLjV8)Ddsc)0Rch)DC#tT00BJkGynhrJoq#K00DCTGynhrZv-^}00DFgH2?qsVGuO{00D9qH2?qtbY(^ccrrBr00Ct-H2?qsWIQzh00C}7H2?tsCIA2da!xe>00DGTH2?qsa9A|}00CcKH2?qsXk;}200DGrH2?tscL4waWp*_H00C}#H2?qsX@E5V0RVUb00C}{H2?qsZICqp00DKDH2?qsY@9U!00D2JH2?tsdI10dDXujD0ReddD6%zx00C^cH2?qsZ@@JG00D2tH2?qsV$3xF0RVgf00Al3H2?ttdjTliHGlvCJ>oS00RVmh00AlRH2?tsfB^sjDf%@40RevjDE>8o0RVyl00AisHUI$ufdMEGHh=*GeE}#uJ@hqz1U3K`HUI$tgaH5nDK0hu0Re*nC^9yH00BKXHUIzwAR#w0RS!n00AjbHvjEJX$vZ00BH=Hvj+ua%eXI00D1qHvj+ubaXcW00CioHvj+ua)37g00Cu&Hvj+uaEvzq00m-YaCdLwHURQA00=h#N;d$KHvj+uI+!;A0Rb-pI<7Z>00C~aHvj+uZ@f1E00C*jHvj+uXUI1I00CvrHvj+wX>f8#H2}gk0Ms`C00CdxHvj+uW#~5m00Cp}Hvj+ua`ZO<00DLSHvj+uZvZ#|0RSfe00D9gH~;_vZxA>D00DFsH~;_vVH`LB00D9$H~;_vWhgiR00DF^H~;_vX*4(h0su+^NCE%>DL^;?0RUJ600AjXH~;|wR{|(dIDi5INdiX#C_P3vfL1sF0RU7200Aj%H~;|wQvxV(IDh~FJa#w$0RUD400Ak4H~;|wRRSo8IDh~FJ&rg41OSEtiUNoNi~;}wDV#U}1ObHti2{cLivlR7IDh~FU930&00cceAzNNJ0Dd?CmN)>qH~;_va=Q35CiIe-8GWehn000C?oIRF3wVjwvH0RZR%00Aj1IRF6x=K?4&Ie-8GWi~kg00D45IRF3xVRpf&u^mDfl}80s(^pfdVN0JAeQIWdu9`00C|eJOBUzX%svF0RY?r00Ai=JOBX!+X5&gJb(ZJawP6U0RYYd00Ak`JOBX!%>pRYJb(ZJZrVHm00Cj*JOBUzW#~Kr00C_7JOBUzZ}dC>00D3MJOBXz&;kGfDF!_N0RYkh00AiwJpcg#(E=zGJ%9iKWg0yI00C_xJpcd!X(&Aa00DF^Jpcg$&jKi43O#@{Jpcd!WjZ|o00DGHJpcd!VN5*$0RYqj00AjjJpcg#(*h`5J%9iKbYeXK00C}lJpcd!X>dIN00D1yJpcd!aC|)g00CcuJpcd!XNWxj00C}}Jpcd!X_P$x00DHGJpcd!VW2$#00D2NJpcd!Y^*&10|3?n*aF%D00AkuJpcm%)dJT7*#aoQJ%9iKbH+UY00DKvDLy^`0Ri6vC_+Af00C!6J^%m#Zcsh|00C)MJ^%m#a$G(D00DGjJ^%p#;sO8xDQ-Rh0RiCxC~`i400CuqJ^%m#Y=Axh00Cl#J^%p#`00CvhJ^%m#b<92h00C^$J^%m#Vc0$Z019bgVq|7$ZgX^YR6GF6JOBVa08%{wvONF@J^(mA0BAk{us#6ZJ^%m#U*tXj00VAxbILma@;d+yKL7#%b^>?;00Ai?KL7#&bpm$+C@4RG00C|;KL7v$X*fRs00Cz{KL7v$Wkf#!1OSo(mI9Olm;wL+DNsKE1Obr(l>(CjmjWnSKY#!MWMDr400C}pKL7v$X>>mT1OS=>o&uZ#paK8^DS$r!1Ob@>odTNzp8_a~KY#!MWRO1q00C~EKL7v$b)-K400D2RKL7v$Vz55|00CdNKL7v$a=bqP00CvfKL7v$cgQ~g00D2#KL7y$qyhi|DcU~(0Rf`|DBeGS00Cv>KL7v$dh9;{00C+8KL7#%rUIw}00AlfKL7#&r2?k{Cy00Ch_KmY&%Wk^5(00C@HKmY&%Z&W}400D1WKmY;&t^%+E00AjxKmY;&vI4XM00Aj-KmY;(u>!LKD0o1C00CuwKmY&%ZHPbs00C)^KmY&%bd*2<0s^f9uL3AvY(RjTKmY&%WuQO+00DHaKmY&%VYEO10syuGxB>tHDZoGg0s*xGw*n}}K!5-Nbj&~i00C~+KmY&%Y1}{n00D2}KmY&%aOgk)00Cd_KmY&%XY@b-00D0LKmY&%X#hb000DFcK>z>&VGKb400D0jK>z>&Y#2cR0sy)KyaE6LDI`Gv0s*-Ky8K>z>&XFx#!00Cu2K>z>&bWA}200C}NK>z{(z5>7k00AjpK>z{)y#l`iC}cr^00C!eK>z>&ZgfEa00C)wK>z>&a)3bq00DG{K>z{(!UDts00AkIK>z{)!2-hqD40Qj00Cv5K>z>&Y^Xs100CmIK>z{(#sbI!00AkwK>z{)#RA6yD8NC000CvjK>z>&ZO}mg00LoYv_SyYK>z>;VPa%vX>)WYKmcGs0J=Z`9zg(DK>&!2*>H_Wp>;mut00AiqLI4B-=>qKn>jLirC=^0~00MJ#1VR8BLI4B+@&fh(^aA(-00Aj7LI4B+`U3s}`~m<200AjNLI4B-`2zg{`vU(0C`>|t00DDSLI3~(VPHZ41Oo8_^#bz(_W~$iJVJnGLI3~(bZkNZ00CuwLI3~^Z**g2aA{&@Y;$2}_Ba4aIRHL702(_0P&)t=KLAQU0D3PRb00CvnLjV8)aL_{l00U%nZze+kibDX_LjV8)I^0750Rd(JI_g7!00DCFLjV8)W%xq?00DIVLjV8)bOb~I00ChNL;wH*Z4g8N00D9qL;wH*ZyZDb00CwqL;wH*UnoQX00C?+L;wH*Z8Ssx0RWo-00DA9L;wH*bwoq}00D1GL;wK*oB#j;WmZH000DGbL;wH*bznpQ00C}hL;wH*X>3FQ0RWu<00CrpL;wH*ZhS-l00D1;L;wH*V~9im00Cu=L;wK*o&W#=WST?(00C~EL;wH*Z=^&300CpFL;wH*Ww1m500DEhL;wH*Z@feR00C~oL;wH*VaP-P0sx=@q5uE^Dbz#&0s)@@p#Uh_M1TMRW#B{r00C|4L;wH*Y4Ah<0RW@`00AldL;wK+qW~xXMSuVSJqASp0RW}|00Ai!MF0T+r~m)~DIP@t0Rg7~C?Z9G0RXB100Aj5MF0T-sQ@T6MSuYVr2r^AJs3rRC`AA|MF0T+tN;K3DN;oM0RgK3C{{&)00BK*MF0T+t^fc5DQZOk0RXT700AjXl-+DbZ<~Z0CGeCltci|L;&_g0LVoE00BDAMF0T+vH$=9bM8d|00Cw4MF0Q+bofO800DLWMF0Q+ZUjaE00C(VMgRf;v;ejM00Ai$MgRf%zB00DF&MgRZ-Wh_Pj00DC{MgRZ-W;jLw00Cw`MgRZ-Z$w4_00Cc0MgRZ-Wl%-{00C`QMgRZ-X0RXxH00Ak0MgRc-yZ`_JDT+n_0Rg)JD2_&e0RX-L00AkSMgRc;y#OenMt}hWxd13UJ%mPpltuuiMgRc-zyJUNDZWMk0Rg`ND8fd700BM7MgRc-!Td+D3rtMgRZ=Av`@kdPV@QMgY)80P;ov00DCTMgRZ-ZxBZS00DFsM*si;VH`&Q00D9$M*si;Whh4g00D3=M*si=ZFFxCMgU?)05nGc00BBWM*sl<#Q-`;M}PnUbWTSA00CuIM*si;b6iIN00CxVM*si;W@twM00D1qM*sl=u>d+>=tY2ZM*si;WqL;d00C`=M*si=VQ*>LLI65M0E|Zf0RTAw00DELM*si;XQW2}00CjDM*si;Y_LZF00CyUM*si;U%W>E00CvfM*si;b;w5m00C^yM*si;Vbn(e00DN|M*si;U*Jao00Cv@M*si;W9&x&00DCHM*si;b@)dB00D3QM*si;a|B2L00CbLNB{r>>c0RTY)00Ak0NB{u=KmsU)NPqwVZi+|%00D23NB{rt00DC5NB{rMglriNq_(Wa#~3M00D1eNdN!=a%f2a00DAtNdN%=$pZiZDSAl&0RhMZD1J$R0RYhh00AkCNdN%>&;uxtNq_(WJeElS0RY(p00AkaNdN%>*aIl2Nq_(WCay^U00DBgNdN!=Z@ftW00DBsNdN!=a>z*l00CvrNdN!=U(`te00Cv%NdN!=bKpq;00DC5NdN!=VeCl&0RRI800AlZNdN%>0t6`hNq_(WCIU(T00CtRN&o->Y!FHS00CkaN&o->VH`>T00DF&N&o->Iw(p200BBKN&o->Y&1#$00C_}N&o->Z$L@_00MAy@<{+jN&o->AWTXC00DGXN&o->b6iRQ00C}dN&o->Z)i#Y0RY-2(stDSk=-0Rh|tD1u6W0Rq|sC?a-2#400D2JN&o->a;QoG00DBYN&o->Wwc5F00CdRN&o->Wxz@R00DExN&o->a?DBq00CjrN&o=>{{sL4Dc(u|0RjF4DB?Z}3V000D3IN&o=>1q1*ADFRCX0RRUC00AisO8@}@1_US&OMn3a1OzB121|ezO8@`?CLT)w00CtxO8@`?Y%ogz00Ck)O8@`?VLVF!00DGDO8@`?I!H?Z00BBqO8@`?Y*b4C00C`UO8@`?Z(vIR00d)jVsvgw0N6?Z{7L|3O8^7_^#l0>_XGO_00Aj}O8^7`^aJ<<_5=C@D2Pjd00CW&O8@`_Jv<;=gh>FNNdRn10Gvwz00DBMO8@`?Z?sDQ00DHmO8@`?VZciO00DBwO8@`?Wz0(e00D5)O8^1@%LB~=00Al9O8^1^$^*;;DCA3k00DIBO8@`?Z1hV200DLSO8@`?a{x>L00CtNOaK4@aturW00CbTOaK4@Wf)8V00DCzOaK4@awJRu00ChtOaK7@&jSDfDK<<10RhefC^}4l00DGBOaK4@Y)DK100DJQOaK4@b5u+K00CuMOaK4@a$rmV00CcSOaK4@Wo%3U00DDyOaK4@a(GMt00CisOaK4@aD+?%0|3(l)dSZ900AkGOaKD`(gV~3)&nS*On?9Za-K{800D2ROaK4@ajMA*DZESo0s-g)>H{dkOn?9ZWXMba00MGuwoCxhOaK7@-U9#ua^g$?00D32OaK4@bnHw300Ck0OaK4@a`;RD00CwGOaK4@bOcQR00C(VO#lD^Ul2_I00DFsO#lD^a~w?o00C|yO#lG^G00CjTP5=N4Z*YEPV`*YxW^;7dO8_uT0E$ci*h~O+O#rM-0NPCe98LgCP5_Qh0KiTF00BD2P5=P`4g@;%PJjRbbox#J00C?QPXGV`bqG%Y00DCjPXGV`WfV^U00U-aa(YMrbV&djPXGx5Q~*W*QUFc>N&rLvOaMp#Pyi@jPDp?tPXGV`WiC$u00DDKPXGV`a!^kI00MGhG)MqePXGY`9s&RXb7oHf00C!ePXGV`VQ^0X00C@vPXGV`W_(Wo00CcuPXGV`bcjy?00C@{PXGV`b(Bv400Ci|PXGV`W}r_100CvDPXGb{AOa!+00AkoPXGb|9|9o)D7a6600DBoPXGV`Wynte00DH)PXGV`bkt7(00CjzPXGV`ZQxG;00DC5PXGV`Z|qM100Cz5PXGV`U-(Y|00C_NPXGV`Z3IvN00ChNPyhk|BmyP^00Ai$Pyhk}BLXD?C>&6L00BHAPyhe{JS00DAJPyhe{Wl&H600D4TPyhe}WO;9_PXG{509;T200BB;Pyhh|CjvTfP=Ejda&}Mv00CuwPyhe{bc9d<00DH0Pyhe{VUSP&00C{5Pyhe{a-2{A00D2JPyhe{W~fjA00CdFPyhe{Y_w1S00C{fPyhe{VZcxT0RRF600DE%Pyhe{XV6dp00CjvPyhe{Y}`-)00Cy=Pyhe{U+7Q(00DIFPyhe{Z1hk700DLSPyhe{VE|D800CwOQ2+n|WeiaO0ssU91_J;ADHu@z0s#X91p_D^QGfseawJgz00Ct#Q2+n|bTm-_00DG5Q2+n|VL(v;00C`AQ2+n|a!gSG00D1OQ2+n|W>`@G00CcKQ2+n|Ze&pa00D1mQ2+n|b8t}r0ssgD3IhNEDSS}?0s#jD2?HpCQGfseJcv;M00BIbQ2+n|a+py700D2FQ2+n|bfi%L00CjDQ2+n|a=D~0RamGI@VEu00DB`Q2+n|W#mx+00DIBQ2+n|bnsCC00Ck4Q2+n|ZTwLH00D9WQUCw}ZwOKV00CwWQUCw}UldXR00C|qQUCw}Zy-_t00DC*QUD164FeYg69W$e83P*w6$23i9RmOXDKb(32>}cP76TFk4g(ki8Uqvq5Ca?oC`M9%00DVSQUCw}Wn@wS0RSHZ00Aj*QUCz~9s?+JQh);hCj%)1D+2%lDS}b}0{|@pF9R_H00AkGQUC)1ECVhBFas!3yf00DAxQvd(~ba+z$00DD;Qvd(~I)qaI00BCRQvd(~WROz;00DHCQvd(~bDUEE00lfDJw70+QUKUe0Qgb>CQ|^SQvd(~a;Q@P00D2lQvd(~bi`8t00CjjQvd(~a?n!%00CvzQvd(~aNJV>0RTh;00DC7Qvd(~Z|qY500DIJQvd(~Vfa%300DCTQvd(~Wdu|J00DFgQ~&@0X%JKZ00CbXQ~&@0bR1Lw00DC%Q~&@0ZYWd$00D000AjzQ~&`1Mgu5pRDb{hZgNxr00C)wQ~&@0XMj`y00Cu&Q~&`0Ndo`@DUwtG0Rcz@D3(-!00Cs2Q~&`0PXhn}DXLTe0Rc_}D6Uk100DWlQ~&@0bi7mm00D5qQ~&@1Zf&Gg0LWAT0RT$_00Al3Q~&`1N&_g|RDb{hW#Uu-00Cp_Q~&@0a`03D00DLOQ~&`0RRaJ4DFRgh0RdD4CI0sw#nf&>5oDY#Vt0s(&nfdnYNRe%5iY{XRn00C{zRR911Z`4%)00DH`RR911U*J^$00AQARR911BJ5QF00DCHRR911Z}?RJ00DIVRR911VFXqH00D9eRsaA2We`>X00D3oRsaA2ZyZ(t00BB8RsaD3g9JJ#R)7Ejb1qf@00C?^RsaA2VLVm<00DABRsaA2Wk^;400DGPRsaA2X;fAK01swvc41>=X>W6MaCvHLY`6sgA{PL(AOI3A0OBnGdNBaHGyp6$00uY!l1BhsPXNYH04!1fvQ+?DRsaA2I$%}+0|I6MUI1VKIwE0RS}u00DBSR{#J3Wvo{K00DEdR{#J3a=2Fj00CjXR{#M3HUaSO5S4a70)D00C`ESO5S4Z%|kO00CoGSO5S4UtCxK00DDiSO5S4cW77u00D1qSO5S4WOP^n00C}#SO5S4X@FP&00d@mb$6my0K``SG*|$JSO5S4UyN7)00Cv5SO5S4Y@}EK00CmESO5S4VX#;L0RT7x00DEnSO5S4ZopUo00D2tSO5S4Y0Ovv00DH;SO5S4aM)M?00Cv*SO5S4W8_!>00M4!wpak_SO5V4IRXFydHPrY00C_NSO5S4ZUk8X00D0bSpWb5Ul3UU00D9qSpWb5WgJ-m00CqoSpWb5VJKMu00Ct#SpWe5IsyOzZaP^200D14SpWb5X+&8700DGLSpWb5VNh8B00DGXSpWb5Zd_Ra00CuUSpWb5ZD?5l00CugSpWb5Y;;)w00D4%SpWb5ZGc$-0RTG!00Cu;SpWb5aFAI500DWHSpWb5bevfL00Cd3SpWb5Y^YfP00CjHSpWb5ZnRkd00D2hSpWb5X~0S^xk6UqD&_00C@DS^xk6Y*1PN00CiES^xk6ZCqLa00?GbV`XS*Z*$&O02o&QXjcI6SO7Fx0ESrr(pdmvS^xn6KLP*&D~ehG0RvnBI$tZER)A<)0FGJ!00C^2S^xk6ZKPTN2LMb02?PrSPy!7EP6AQ_00AkmS^x<|A=mK*D00AjbTL1+CuLE2G{sHF#as((`TYvxoWnx&2&TL1op?*d;a)?5JUT!0AxY6BYqy#b~IYy%wuzX7NMK?DE+DF$5t2?1#X8Uefkr2=aM909%orvg9(C>mXW00DU*T>t<9VK`j?00DA7T>t<9aztGK2>@;b9|6GusseBWApyeytO7#>00AjbT>uFIZ37+wzyYZOZv!9!!U3xSLIfyeU4Q@qZfacs00CiwT>t<9Wr$q>00C@{T>t<9ZuFHaswj)#R0AYbOR*;#{sYcMFao=DW+Wj2>^BjCjrR;vI2MmDFMp?v;s#200Ak$T>uFIbps{=$N{kecLOK^$^o+iMg%C-U4Q@qW!hZ;00C|CT>t<9Y4}|L00DIVT>uFJaRVX&!~v}Wa|0v+#sRMaL^NnD*?>`wgP+uEdkE~xB^K800AjDUH}OJc>^i|%mK9mdjl*1&H=XqNCYTMUVs1rbW&ab00C}lUH||AX>eWu00D1yUH||AaC}|>00CcuUH||AXNX<^00C}}UH||AX_Q_700DHGUH||AVW3_B00D2NUH||AY^+`Y2>^ZrF9Fd3x&nX$F#*#7yaG!E00AkuUH}OJeFH85&;hvue*-W9(gC{yN(3m(UVs1ra?)M^00Cv{UH||AXYgJC00Cw8UH||Abo^cb00C|SUjPXJf&()F)d9W&gab7J*8#u+O#}b|DGpx%2?2ovG6B>9y#j*+Gy&EDzXD7IC?a2g00CzxUjP6BZa`lE00C)6UjP6Ba!g+U00DGTUjPXJh66VN*#W`=hyytR+X2J^PXqt~DPCUy2?2!zHUZcH!2*W^I04!L!vanOC~{wb00CuqUjP6BY>;0700Cl_UjPXJiUT_V-2uh|i~~IZ-vP)1Q3L=1DWYEh2?2=%Isx1P#R7{1JOSPT#{y6UD7IgK00CvZUjP6BZPZ@?00LoYoL>OiUjP6HVPa%vX>)W+T>zk605VR$j5V1NJwY;tsS>H`3HTmbM~02W{X1^{pZZUXTD^#Jn#_W%F^DL7yN1_N&bZ36HB^Z@bz_5fulU%W8@Mqq%XI{*LybWC6X00DAlU;qFCWo%#o00U%nbG`%sSOx%cU;qUGkOMyf;Q`75RRjP5DTZJG1ptx*K>_0d%mP;g00AkOU;qUHkpn;h;sMJ7Rs<-dV1NJtbE;qf00CvXU;qFCY`|au00CmgU;qFCVa#9v00DH;U;qFCU)W#(00Cy+U;qFCZ{%PA1_F-*J^|nX$pTaaC;%v5l3;-9U;qFCdGKHW00ChJVE_ODatvVr00D9mVE_dHlmkNnq~iDF7%cVSoSuZZKg000Ch_VE_ODWk_KF00C@HVE_ODZ&YCb00D1WVE_dHm;*-v=>gILT?7CDDP~~+1_74?Mgiyn(E?lqEdVHTVSoSuWq4r#00C`^VE_ODX^>$600DHCVE_dHmIFlr=K;_HTLb_BDWYKj1_G4>L;>aj&jMNmEC639oM8a2VSoSuWwc=c00DH$VE_ODVbEa!1pt}@NdfBt)B;}w00Al7VE_gJnFB}x>H*UNUIZ=xDCl8;00DIFVE_ODZUABc00C(RVgLXEZwz7p00D3kVgLXEUl?Kl00CznVgLXEZX{v=00C(#VgLXEbTDE700Ch(VgLXEZ#-fE00C@5VgLmIqytd_^8wrfX9NHNDNbSl1_7f3PyzA*+X7|;F90Z7Vt@bva$sTr00CukVgLXEXLw=&00CuwVgLXFbZmrT02(|100C}_VgLmIrUO#}^#R@jX#@ZPDVkyc1_7l5QUUY<-2!L?Gyo{3Vt@bva;#zi00CvbVgLXEV#Hzq00C{vVgLXFZ*}Z50MKFp1puf6RRQ+_-~wv|00AlBVgLpKrvp?0_5t4lY6LX^DC}Z@00C$6VgLXEZUkch00C(VV*mgFau8zx00DFsV*mvJssmR6`2perZ3F-TDI#M41_7x9Rsr|{;R0*~HUKCtV}JkwWi(>|00C@9V*mgFVoYNI1purASpoY2d8`T^qtZUi>~C}d-R00CucV*mgFZG2+@00LoYQeyyuV*mvJt^->E{Q>3zaRdMXDUxFV1_7-DS^@k4;csRVg#E5Oablz*8-gbP66-%*#ck$DDY!|00DFMV*mgFbsS^>00D0zWB>pGWhi6-00C|;WB>pGWi(^}00Cz@WB>pGZ$M-K00C`AWB>pGZ%kwW01aVcV`OG&Yi@INc5G-EVE|xZ0Gu)a)?olhVgQt40K78*)?xr0V*rR_0LWti#xDR;WB>vHjssH!00AkEWB>vJjRR5yUnp2)0F-2a1OPpGbhu;y00CjXWB>pGa>Qf+00CvnWB>pIZgX^aU;vtA0MKLr1pu-Gv;%bnwgb2W00AlFWB>&Lu>-RMbOf~nw*x5fWPkt!Y;bdCMg;(9Dgdx50QO`600CtNWdH#JR0C-!Dh2=sRe%5iavo&>0{}|{SOY@>00Aj5WdH*LN&{B|LIPhX+BX0=Wq<$yWjX8>P1C>Uk{Trq%BFn|C8Wnms>04`Mk00MM*Hf8`wFaQGpT>u^e0s{a6b4q3a00C!GW&i*IVOVAW00M7p5H0{-W&i*IW@Kgn00CcaW&i*IbaZ9_00C@zW&i*Ib%16700Ci!W&i*JW^;^Y0K7;500LoUKxP1vW&i>JyaRaz00AkcW&i>Ky90OxD6D3H00DHeW&i*IW4vYn00CjbW&i*Ic*te|0sy`PdjtRhDb!{F0s*}PdITuiW`Fv_dkpY(hlK}t$DF$Z%2m>4fxdV0tlmU(bkO7tfk^x^jDDY+gkRX5-XMg|!WgKS!00DJ6X8-^JY(QrK1pvSU!UKH-!~@0y00AjXX8;8OzXQPod<4S-#RDiubCISiryZ}W4(E~05LjZsQ00Ak6XaE!e9s`g7rvTCbm;qA)VgMro2LpNl5CmiZB?1Wpy8uK2&;u<3LI8gOD6nXN3jikrodKT#j{v3sx&SEyD+8ecc>sO^00AlFXaEZUEd!$gr2&%wssO$KF9R_HrvZHcf&l;lDFSH#3jr(xq5-4m*i3j-ztoB^HzjsT?qxd12wDg&SacmRC?JSaW3XaM|ZfFNlA3;-bmjR2$oxB%4vRstgfB?FrQcK{^>d;tIfDPU;;3;`emi~yqmw*b@tRRSUdBmsR5M$tN_3O*8o@oF9bCMHv_8yDFiD7e*oJ6Cj>17GX&WHgaI)G00AkaX#f=gG6SdqlmM#$zW~+%R{|~sGy^sRssShjDg=H2+5jd5ECezH*Z_k8Fa#*jX@Cj<(Ey79N&<}m&j5)5NCG1S$paw-00AimY5)oX&;W`7Ndk-k&H#u3M*<=Q$O9k*Jt)>`032$73II6+tpTqAmjJE+!T>u1Jp-`;fdBvjDL`rf3IIO?vjMdMnElDO_p*3IRR?vH`RKm;kQ;!vH`7LIbt|f&eITYJds?I0LK!t^t++tpLFQIs-fdumOMoC_PqcfOu*E4FGcibpbsDh642iiURoqhypnT_XCUqI|Ta!00AkmY5)xZashM!JOqUT^aF_k_ydOmI0W_sivl_X`U5D;YJdO%UD9d*0{|Zc{{wmf00AlZY5)TP9t8dac>yQ@Yk&X&YzAup00D0jYXATNZy0L;00VY#bkrFD@<{+jN&o->AS7!500DF|YXATNb2w`N00C}3YXATNZ$xVV00&}Yc5`lUbRKH}N^1aI8UUPA0HhKC*h&CqO8@`~JRvTQ|>i}p100Ak+YXAfR=m2E`>Huc~D9~$w00CvzYXATNZscnK00L!oE=U0CYXAcR4g|^r%mX?o^iF`}OMn0Yboy%m00C?YYybcObr5U-00DCrYybcOWgKh(00U-aa(YMrbV&drYyb%YQ~*W*QUFc>N&rLvOaMp#Pyi@jPDp?#YybcOWj1U800DDSYybcPa&%a10Q@!p00eSjZ*}l%0A6eWa3%oMCIABhCjuV=Ap$xma8Q7_Pk;aca(Zk400Cu+YybcObdYQS00DHCYybcOVVrCL00C{HYybcOa;R(o00D2VYybcOX0&Vo00CdRYybcOY`|;)00C{rYybcPWnmyN0L*Lv0Rfx2LW3G-T++!VFF_U-~e9&C>m{m00CtnZ2$lPb2M!L00LohI&A>3OaKA^?Eq>500AjVZ2$lQVrX6^0IWIy0s`y+X#yx;P;G!#Z2$lPWngUp00CoeZ2$lPVRUT(0{~A04FRG800Ak0Z2$uSP6G@9p#ms~ZGZp)d5&!W00L}udTjujZ2$lPaG-4f2LJ~Fegf$ONdpN1fCB3S00AkmZ2$-X1_6Bn=mSUt2myZr>H{ePD8Oxi00CsiZ2$lRa&2xvZ2+om0NiZ=3IG8D0|ILS1p)^GZ2|HE_5$<*_yPa{De!Fo1^{mXaRK@Q{sR0000RI4DGY7^1_5pXZ~^%O{Q~;}{{ko)Zh!y*b0BU200Ch#ZU71b00II6Y5@cS1_EpW@dEV%^8)t*C|?F{fH-ad00DG9ZU6uQWn69m0RTP%00C}jZU6uQZ)|P=00C)oZU6uQba-w600CisZU6uQa)fRG00DK1ZU6uQXOM0H00C*1ZU6uQW}I#S00C~IZU6uQZ>Vkn00CpJZU6uQAhd1(00DWrZU6uQa=>l?00CjfZU6uQa?EZ300VAfbb2)a(ry4wRsaA4X>VoNZUD|d0BltN0|E;J0|NyEIw;mrfF4nR00DCJZU6uQWdv^k00DFgZvX%RbP#U<00ChZZvX%RZ5(d^00D9$ZvX%RZzyj700Cw$ZvX%RUo>w300C|~ZvX%RZ$NJV00DDGZvYAcRs#$J76TFk4g(ki8Uqvq5Ca?oIw+o1fJRb)00DVYZvX%RWpHl*02p*;ZgF90a&uy2c4KdFd2MKAXKZ(BYkq!P0MJ_iNL&B}0RSdo0M=vx7-ay6WdPu10Gwt3gl7P7XaKxx0BCFg(rf_yYyeP10OD-`Vr~HDZU9O*08DQHc5eWROaK!S06r1`dJ+J-5&-rR05uZ;b`t=y69DcL04WpzY7_vX6ad~701y=bP89%x6#%Uj0NE7)1r`7@764!t0F@R1!xjMU762I+074f4e-{9%7XaZG02delQy2h|7y!~301g=dN*Mry834N(0P7h59~uBw8UU9X0LK~t`5FK*8vtb+0F)a5yc+=Z8vrL90970Sh#Ua7901@P01+JkLLC5d9RQ&n0MQ))6dnLw9spq;0I(hav>pKd9smL#08$?SRv!Sb9{{r-00kfb2_OJiAOKt-0I(ncv>*TlApi*>09+veU?BjoApo=?00|-h4I%(sA^>0_0IVVaup$8UA^`a!06-%EL?Zx-BLI#g0Hq@U+9LomBmg!f0G1>Gnj`@2BmnUw07WGLNhJV&B><`=0M;b{1SSA5CIB-g0D>j}h9&^RCIH7K00buh2qyq%Cje_F0Hh}Xs3!pbCjbK|09hyiT_^ytC;+u601PPr5Gep>DFACJ0Kq8$#VG(BDgYoV05mE9U@8EODgd}D0Ou+I>M8&rD*z-b0C6h-bt?eDD*(kS02C|$7%Tu~EC6XN0Jbaux-0+&EdUBF09P#lTP*;5EdZ!30M;!41TFwJE&ydN0B9}%qAmcYE&%f`0QW8cLoWbFF94P=0GclV=Pv;3F90|&06Z`Nh%f+*FaX&w0NpSE{xAS7F#uyR0A?`&pfLcXF#z!~0QE5dK{5bEG60)00G~1d>@ooGG5|d@06{YVjWYm|GXUN*0OB(M`ZEA3Gyp9$0BJM;Z8QL+GyteH0Q58f_%r}GH2^#{0CzP2do=*dH2}{w03J2~A~pbVHUM=t0M|AE+cp3*Hvl&`0B1Ji??3=6K>#j609io*T|oenK>(FO0Kh>2#6bY~K>+(f0472JDnbBVLI7Yw0E|NC0?90Ha6%r$_+aNC4tU01Zh15lH|{NdQnu0DDOQe@OtLNdV1B0Q*S*IZ6OMN&uir0HjI)21@`6O8{g`0BB19%S!;yO8_!V05(hjZcG55OaReL01-_96-@w8O#oC)0Fg}ql}!N9O#swQ01!?96ixtLP5@y}0GLhyoK67XP5|Ui05nekI8OkIPXLZj0NGCf-A@20Pyj4Y0DVvZflvU=Pyo?T03A^PAyEKxQ2=*Q0K-uL$58+oQUD!N0BBMGY*GNXQUJSB01Q(A5K{nLQvhI70IX90uu}j6Q~(B406bIxKvV#GQ~-Ze0J2m7wNwD#Q~={t02oyO8&v>CRRBs=0DM&de^mggRRFG40OeHx=v4p{Rsa`P08>@~R#pIkRse-o0J>HHy;cC|Rsif)03cTYBUb=UR{&C10EJfoh*to!R{*zH0O?l%>{kF6SO6PX09052SXcm?SOA|`0NPjp-dF$@SpXVY09RQ6TUh{|SpcC~0O?r(?O6afS^zs*0Fhb%m0AGMS^(5q01jIK5?cUFTL4g70Et@wjavZ4TL8&h00LY923!C;TmU~@0B>9Xb6fzKTmYS10MlFm*IWSoTmS)G08U*1Qe6O>T>zh50N`B!}CKPX80rY5=xs0J>@b>S_S(Y5*l`04Zw#XKMg!YXG@x0KIDf{c8XLYyd)R07h&8d~5)KYyhTg0IF;N_iOZ~*Uc0P}DFIdK3zaR6v>0BmspwQ&HsaR38y00(jaMsfg3asYL50C{o%xpDx#ascRZ0PJ!AGIIbna{ys;0A+IktaAXca{$|O0N--}6?6a@bO26t08(@Sg>(RjbO5t-0Jn4i>~sL{bO0K403LM!P;~%PbpU>K0D^S@xpe@%bpYpe0PA%CCw2fTb^uj&09kebj&=Z%b^yF~0Kj$t^mYLEb^suE03>$+S9btfcL0TV0Eu@1yLSM-cL3>k0PS}GCU^iUcmQp90C9K#tat#hcmU{l0PJ`GDR}@bc>r&D0CRZ&yLkY=c>oD|01bKoV|oB*dH|w&0H%5X;CcY$dH^1K03v$;TYCUsdjOYv0GoRN)O!HfdjJi5015be*h3{$@fdD*#0FZ$Ilz{-?fdJ%z05yUDIf4L#f&hnt0M>#4+JXQog8(jr0E2@7hl2psg8bcF!Kg#gHf0277)7lr_6h5&4a0KJ9)!G-_~hX4?V0AYs!WrqN^hXA^V00f8t2#5e!hyYxO0IY}ru!sQrhyeeH08ohlREYqki2$jI0N;rK4~hUqiU3K90DX!8fr0gV6!jQ}u>05pvNgN*=(jR4Ax0L_g6`i%hnjQ}W)04$CGUycA`jsT600FjOW#*P5VjsWzI0QimoDvtmyj{sPY09=m%laBzFj{w1s0L7000gwO$kN_``05gyPXpjJFkN}pD0Gf~h&X54nkO2IU005ByGm!u`kpN+l0A-N?myrOPkpRV!0LhU6{E+|vk^ni906mfbfRX@&k^sMw0K<|1`;q|vk^nrD06>!ff|CG-lK{|@0MwHJDwF^&lmK>=0D6=Fxs(9ClmPgY0Q{5yHkAN6l>l^=0C<%Ev6TR|l>qIP0P&RoDwY5)mH=ax0B4o}mzDsVmH@$)0L7L7`<4LzmH;G|04SFLUY7u3mjIrZ0HT)w-j@L4mjD`=03MhCM3?|bm;i>D0E(CZu$Ta}m;lt602Y}58kqo5nE+Io0GXKpotXgDnE=?C056&VGnxQpngD5<0FRmglbQg_ngGw502`YCADaMQn*d^)0Hd1#rkeoVn*a=)06d%kKb!z+oB(c|0HvG&shj}boB-mS01%x36P*A)od80e0EC?Yh@AklodCC;0Q#K({+$3Ro&YVL0CJuHcAfyCo&cqu0PCIr@16h}p8y`809Bs=S)Txxp8%Vm0M(xW*`EL0djr2xjI03xOUCZ+&&rT}@S0Nr~rGY0KBLGz^DN8r~vn<05GWlG^qe@sQ`1S0IR70uc-j+sQ~b)05YloHmU$|ssMGW0I#Y5v#J2>ssQk+04S>fEUN%ts{muG0Gz7;psN7ms{rS#03xgaCaeHntN>!H0H3S?qpSestN`h(06?t(M6CdftpJd%0MD%e)2#pwt^g9Q08Fj`P_6)qt^kg%0LQKX%dP+euK)+H06?z*M6UpOuK<0o0I{zCwXXo{uK@3_04uNnFR%b>umEqc0IRS7udo2aumBLT02HwRWU&Bfu>gm$0NB{r*x1)`si~={si~={si~={si|1#si>)`si~={si~={si~={si|10sHv%`si~={si~={si~={si~={si~-`si~={si~={sHv%`si~={si~={si~={si~={sd#v)sHv%`si~={sHv%`si~={si~={si~-`si~={sHv%`sHv%`sHv%`sHv%`sHv%`sHv%`sHv%`sHv%`sHv%`si~={si~={si~={si~={si~={si~={si~={si~={si~={sHv%`sHv%`si~={si~={si~<*=;*1bsi~={si~={si|0ac&VwWsi~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~-`si~-`si~-`si~-`si~-`si~-`si~-`si~-`si~-`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~-`sYqDpsi~={si~={Na*P3si~={Sg^6Vu&}VOu&}VOu&}T&7^$hLsi~<*si~={si>)`si~={si~={si~=`si~={si~={si~={si~={si~={si~={czCI(si~={si~=`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~=`si~=`si~=`si~=`si~=`si~=`si~=`si~=`si~=`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si{clsi~={si~={NU5l)si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={sd#v)si~={si~={si~={si~<*si~={si~={si~={si>)_si~=`si~=`si~=`si~=`si~=`si~=`si~=`si~=`si~=`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={NU5o*sHv%`sHv%`si~={si~={sHv!Uc&VtVsi~={si~-`si~={si~={si~={si~={si~={si~={si~-`sHv%`si~<*c&VwWsi~-`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~<*si~={C=LKLIy!D|Ze;*rGcz<}G+{JjG%{vnVmCQtH)UdDGi5h3Vl^>0Wj1Cw4gfSdI&pPxbY)*;VRU74Utw-!Uvz10Wpe;wHf1$7IWRRaVPR%tHf3XBG-EJhHDqRCVly>nWHL2j4gfSdI&pPxbY)*@Zf0q2X>@62b6;U@WM6J!ZgT)(WnyDBVmW3wW;ZuvHe_ZqV>mE2Gc!3fH#ufBHZVCj4gfSdI$>;VZ+Bm8X>?_BVQgP>baH8KXLA5yGcq_dH#0XjGiGKnVPZKkIb&roVlXjeHa1~oGh${o4gfSdI$>;VZ+Bm9b!>ELUu3B2F*RakG%+|iWMeopIW=K8Gcaa3Ff}m_05m!}VQg$~cVBX4VQgP?VPbP%X>MP0baH8KXLA5yI5lHrH#B1~V`VovV=^%@IW{q3He_NjH8nUlH#azA4gfSdI$>;VZ+BmHZfRq0WMyA-baH8KXLA5yVmM?pW@9&EF*P+aF*h?eWHw|nGBqM;VZ+Bl}X>MV1d0%O6bY*8{a&rJ-WjJJFWic^jGcz$_GcY+cF*rFnV`VroW@IvEWo0xm4gfSdI$>;VZ+BmBV{~C`UukZ1WoKn_a{ys8WHC52Vq;`BWjJOwIb~vFGC5)~G&nglHD)q1WHe0{baMbiH#0UdIX7f6IWb`|G&eIbH)A(tVL3Ho4gfSdI%#fXWo~p~bZKvH0AVyVIWRXeWiv2hG&5u{G-5Y2G-fg~H8L_`I5;pkF*ptYG&(wRWo%)1Wn^DwY;R$7UvP3|V`+0~Z*Bl#GB7eTG&nhCGB-0~Fg7_eH)LcpH)Aq2Vlrc9GB7tdTmTX}I%aQjZDDj@W^7?+a{wb@GBGeRVPQBhVq-NoH#jq7IW{pkFlIA0Wie(pG-fto82~goI&N=nWdLC_Gc;o~VKiejGG=6AH#uZCWnyD9Wj8ZoH8D43HfA^(05m!}bYWs_WdLDeVPZLDF=S;iHfA$8F*i15I5uQAVL38lVKXx~VK`(N05m!}VRCX|c>rN%F=jV0Gh;brFfcG?HDohpGB_|{WMX77GBjjnG-fp!05m!}b98cPZf5{tVl*{lW@cqDI5cErGh{L_WH~Z8Vr6AGHDxzqFlI6_82~goI%#fnWoKn_0AVpTH)LWrWM(xpFfcMRH8(XiF*Rf}Ha259Vm3E2WjGlCG&(wFY;R$7X>MmU7{VKOx~W@Kh&V`XDEG-EMkH!(OdVKQME05m!}VsCG3WnpdrVK_8pGGjJ0W-~ZuH#lNpGi6~lV>vK2VPZ95GGt*gHyHplIyz)wbY%cxHD+TsGcq$VF*z_bV`4HlWjHcqHaBK8W;Qi3F=jVr82~goI&^7mWdLC?H)CTqIW%H9Vl!rAHZwLiF)(IfFgRj1IWjV1G%{iq05xB9X>DZyWHvD|V>C8qIAu09WI1IpG&x~rWid82WMwfpV=^{0#{&Rgba`-P0B&JzWpi+0V`X%2ZEP-RbZu-SVPaupGi5k5Vq#`7W-?0Wj1Cw9so2tI%aQjZDDj@VRK(%X>MV1c>rNEWHK>fIWjmkWMwfoHD+dJW@9-yV`gD7Gh}8mF=S>Q05m!}W^ZzBVRT<%b6;;`bYW}&VPs}wGB!6hGdDFfWMN`rWM(-xWHVzpI5RV0GG#boVIBZ9Iyz==a&2LBUtx1!Xk~a|WMyM%ZDDKxVKii9GiGIDG&VG1H)LTjGGt|9W@2M7Vq`QoGBsl|IUE82UuJA!XLA52JE@*UZY$IVeGi737HeoX~WjA9tV>DqjWHT`_F)%PVFfe5?Vq!IR0RUfVbY*g3bZ>G1ZeeX@b8ul}Wpre|pI5T5pWietnWHvEmVqr8jGC4A0GGZ`hV`4TrTmTX}I%98cb97%}a&lpLUukq@a$$6DasVS?Wny7DW@R&BF*!41IAS(5F<~)gVl!bfFgZ44H)Am~TmTX}I%98cb97&HVPb4$Uukq@a$$6DasVS?G-6|8WH&W4W;HZ4Ff?T_FgZ6gH8(XeG%+_fW@BPvTmTX}I%H*LVRdYDUuJJ|ZDDkDWpV%`VKQPkH)1tpGBr15H8eLjGd4IgGcq_ZGcjf~H8W*5He3J_Iyz}?b7gXLWn^D;d2nT4Z)N}^VP$49W-wx6V`OAAHaIqAGB!A7G-5b0WI1GEH!v|`Wn2IfIy!G~bZKvHVQc^+VP-QlVL4`EGczzXWi&B4H#jsgFf=wWIb}9tVq!O8V_X0dIy!T2b#h~6UukY+Wq1H1VP;}DH8N&lGBRN}Vl!o7IbV-EG&DA1G&nFdG&W&nF=jV0W;J3sHZ(LcGd4J60RsSEX>?_BVRUbD0B&JzWpi+0V`X%2ZEP-RbZu-SVKF%}G&5ymHfCjFW-(%7I5RY5VL4?pHa0XcHDxm~H(US`Iyz}{Utw}`VR--}VKOo`F=96`GiEboV>DzjVKXo@He)z4WnpA9WHvctV_X0dIyz}{Ut(`>Y-M3?03%^IWj8rEGB7qZF=JynVK_52FgP+}W;tPEWHdKqI5;(201`SnX>(s=XmW3EZ)|U8X=7n*03%^HW;i!CG%z+WV_`RBV`E}BWjHc9W;QouI5J}}G&nU}01`SnX>(s=Z*Fv9X>Mh503%^!He)trF*Y|hWiex8H8wP4G%#gmVK_NqW->J~G+{Da01`SnX>(s>VRU5xBVjXRHDqC7G&MFeWiw%BW-?+mWi~W6FkxXiH)Jw6WM(V?6<>5|ZDjy5I5lHoW-u`_H#j+AHZV6hH8C(UHfA|EGB;r}Gh|!<5;{6*b6;j`Z(($4Zf9R`Z)t9H03%^BVPRomFl90}G-G6BG-fn2H8D6fH!)^1W;QWlV>32f01`SnX>(s`Zggd5WpV%`VKp%`Vq{}9VKF%{H!)@~Vr4flWjQipVm4!9F<~)bGh6@?Iyz}{Uu$J~03%^HVmM`HIWRY5IW{smWHB>2VKXpfI5#w6Gc+|~F*!9b02E(ua$jR_ZgypIbZKI2WdJZWGG<|BWMwxoIWRY6W;0pFgZ12WI1AGWiU4|G%^4bUv_C_cK~8FVlXyjVPiOBF=a4hWjSRqHZ(CYIWae7F)(5_F*sZR5;{6*b6;+CZDM6|03%^GG-G8qWn?xvH#B52Vlg*3GBY(cHDY5nH)Av~I5#s~01`SnX>(t5baH8KX8(t8VQh6}03%^AWI1DGGB!13G&DFdGcaN~H8U_ZV`F4CIAk(rH840_01`SnaB^jHWpZ|9UvqDDa${v*c42IFWnX4&VP|syBVjW#W;ZY}Vlg!`Wid5lGc`9jFfnC0Fg0X0GB#l}W@20b5*a!=VRT<`VRUFHZf|5|CM+OxbYwa@b98cPZf9S1X=QgQ03%^AGc;jhHD)z1WHdHrI5}ivVP-ftF=012IAk?8Vr4lx05lg|01_WMI$?BQaA9<4C}VGKb95kXZ)9aAEFg1qWI8%?baH8KXJ2+{Wp^n6BVl7@V`X7EI5#wAW;QZ0G%z(~F=I1kGdMIeGh$&iHe@^iG#y+35*j)>VRT<`VRUFHZf|5|CM+OxbYwa@cXM=dX>MmjV=*~mF=jC}Fgas3WMN}8Hexa}J^(ZrTmTXvIyzx=UvOb`XeeWEZgX@XZf|5|CM+OxbYwa@cXM=dX>MmMmMm4nkH8f!}Gc-&9G$UL95+XV}aA9(DWhirWWI8%&b98cLVQnTXAaitNIy!fAbaH8KXJ2+{Wp^n6BVl7VH#RppG&43bFgG?bV=^*gHZwFaWMeiqI5J~nGGtBwG$3365+^!3aA9(DWhirWWI8%^ICFGzX>Mm)XPWnpb5EFg1qWI8%?baH8KXJ2+{Wp^n6BVjUSWjHiuW@BSyWn?!qH(_ElFkxn6VmL7}GGsV1H#brMG#^|55*|7_aA9(DWhirWWI8%&b98cLVQnTXAaitNIy!T7a%pa7CMGEWBVjl&H#ucDF=AvmHa9XdH!v|{VL354GB{&4H!wLfFf~*FG#p$25)wK(aA9(DWnX4#Y-K2ObYwa@b98cPZf9S1X=QgQ03%^IWMX4AIAmdDG&5r}Vm3BrG&DChVK*@|F=jP4G%;aT05lL>01^~BI&fifb7fy4UEb97`nI(0a6baH8KXJ2+{Wp^n6BVl7?Vqs!rG-5Y5F=R3_F=k~sIASm`H8W&5G&p27Ib>J>G!k3@5)(Q)aA9(DWnX4#Y-K2ObYwa@cXM=dX>MmoS^zW=bZ>2J0B&JzWpi+0V`X%2ZEP-RbZu;A03kX$WMyVyb!>EBW^7?+a{wb@FkxXZFfcGSI5{?EF=8?^WjJDDGG${iVKz84GB`9fW&j}}Iy!W3ZERm=Z*py6baZ8MC}VGKb95kdZ*6QkI&N=dWhN{jW^ZzBVRT<+Y++|}DF7p3I59CWVPRo0Ff})1H#RdfG%`45Ha9snVPi2gIXE+6UI0TMW&j~6Iy!W3ZERm=Z*py6baZ8MC}VGKb95kdZ*6QkI&fifb7fz0Wpj0GbS5kyW^ZzBVRT<+Y++|}DF7p3Ght>hV_`WtF*7-3WMX79FgP?dVKrl9H)JwnFflVXU;slWW&j}|Iy!G~WpZJ3Z*n|5D06gVIy!H2baG{3Z6+)rbZ>2JUuJJ|ZDDkDWpXAd03%^FFgP(aW;8f7FgZ0hH#RgdH)b<5Vlg&3G-6_AH#22o07D*T03jhdI&W}ga$$6Day&dJb97`nI&X7ya%Ev{CM+OyZ*6Q}W^ZzBVRUq5awaAz03%^$Ffw8_Wnp4vF=aS3Vr4iqGcq+bV>e@FFfwI0WMpAv07D;K0025VbZ>2JUuJJ|ZDDkDWpV&xY+-YAbZ>2JUol@XbZ>2JUteZ#a&2LBbY*fbXmo9Cga92nI%HvVWdI{#I5}oBIXE>qHD)t6Gh{JkH)3QpIc8-vG%zwTGB7tZga92nI&^7mWdI{#F*sy3Wj8l6WMVXCHZe9cH8wOeV`O17IWS`~VmC4{ga92nI&WrXb7gb@BVlGZH90mgF*9a0GBRR0G+{V6WHMu6W;QuxIWS={W;JI39|B)=X>DaFDF8BKIb~%rV>M$rG+{P2GBag4V_{=8WMVcoGB`P8F=lE2KW6|SCSP=EZDlB9Z*FsRAarkSY&tq*VRU6CEFfcVZgX@XbZ>2JIy!V|ZDl4Y0AesWG-NY4FgH14W;ZcpVlZSdVPiNnHZ?giIAmioYydwbX8<1)Uvz10Whi5BZgX@XbZ>2JIyz)wbY&(f05vl?G-EhrHa0mhW;HowHZnJ6IWl54F*IT@HezKpIBozx5oZ7&6JK;`ZDlB9Z*FsRAarkSY&tr0X>DaDDF8P!WM(xnFf=h`Wo0lpVmUZ8WHUH4HZo#iGiGFDVKi_6KM`jDA2nZeX>DaFV{dMAbRcwZZEQL^WMOn=CM+OhZ*FsRAarkSY&tr0X>DaDEFfcVZgX@XbZ>2J;((?p0AXWdVKFr`W;r%xIW{vlWHmE3VPs@AF*P}2VPrWuVR8UJGlT#g2s%1xb6;$4V_|G4DIjBSZgX@1BVlGRWHvD|IXO5qHZ(P5VlXi^W-?}BWH4oBG&nb6VqQ3HDqOBGj;$!B7^`PBsw~8aAk5~bZ>GzC}VGKb95kNVRU6*bZKp6CM+OhZ*FsRAY@^5WnXk@ZDl4Y03%^EW;QoCFf(RkV=yviVl_21IbvZlF*9K~GB-0}HZx*)06!vx039JZI&W}ga$$6Day&dJb97`nI&X7ya%Ev{CM+OhZ*FsRAY@^5WnXk@ZDl4Y03%^FVK6x`V`4dEW??X7HeoYmH#9adGh$&kFfw9dWMpG{06!mu039ScI&W}ga$$6Day&gKV{dMAbRcA5bY)+3X>DaDEFfcVZgX@XWMOn=Uvz10WhN;ABVjjUGG;I`HZfskGdN{tHe_OAHe_WmW@0lnW@2JyGh%!IKO%$x9V9wBZ*XODVRUbDJv}I6Z*FsRAY@^5WnXk@ZDl4bAY*TCb95kNVRU6*bZKp6CMf_TVK_K7V`61FFfw6fVPs)rVlX*1Gcq$UVPs`FWH@3uVSWHVB7^`PBsw~8aAk5~bZ>G#C}VGKb95kNVRU6*bZKp6CM+OhZ*FsRAY@^5WnXk@ZDl4Y03%^BVq;}uFf}kTIA$|5VK_25WHvEoW@9%tIAvjCH#lK{06!vx039ScI&W}ga$$6Day~sMV{dMAbRcA5bY)+3X>DaDEFfcVZgX@XWMOn=Uvz10WhN;ABVjW(F=k>hIWRP4G&eV8FkvxfH(_I8VKZZ7WHB^hVrGH>KO&j{5?^#_ZDjyoUvz10WiDuRZETtV7dkq5WnppvBVlAQWMeflGGZ|?HDfk8WMernI5jjdVliVjW@a}zGGdwl7dkp^Z*FvG03%^AH8MD3H!?D0Fkv_`H#9L}IW=ZBWiw$hF)=naF*IeG02ewsWMO##BVjmYV>e+pGBY@0IAvsHGczmT3IX7iDG-QeZIR}~m7aBS`Z*XODVRUbDAw4K#Z*FsRAY@^5WhN{jV{dMAbRcA5bY&(f03%^FWietlGcYtTV>VMzjH8Ns1H!@_7067?%02drOI&W}ga$$6Day&dJb97`nI&X7ya%Ev{CM+OhZ*FsRAY@^5WhN;ABVl1OG-hOEVqrEhG&x~1HfAwoVr6A!WiT@~F)}tYF*c9@IU1S(7aBS`Z*XODVRUbDJUu95Z*FsRAY@^5WhN{jV{dMAbRcA5bY&(f03%^AVPs@EFk?7kWnnR9WMegEW;HNlVq#@tHDxh2Ic8&$067?%02dlMI&W}ga$$6Day>mLV{dMAbRcA5bY&(iAY*TCb95kNVRU6CDF7p3W;Zr5Gc+7dkp^X>N6NWdI{#FfwFiG-hQmG%;jmVL3H3HDzKnWM(!nWH>fvH)diqu>co3I&)=XZ*F7&BVjmUWiVl4I5at7H#RXfG&3?VH)CNqHeoVlF=Q}iWM;7d7dkp_VQz18Wn*t{WB?;!Gi5nrHZV3dFk@q6GBIW`Wi&T2GcsZ~H#apjH!(Ohu>cnWIy!V|ZDlAa03%^EHZWv1HZnG0GB9E}IWlH5IAb<9HezNqWo0%pVKOkE06DP$7Y#Z(bZKp6C`c?IO)MZ&EFex(DF7p3V_{`uGh|~nH#jsmFg9Z~H)CTrF*0FdG%zzUGBag1p#V7xu>cnuIy!G~WpZJ3Z*n0$C}VGKb95kdX>DaDEFfcVZgX@XbZKp6CMf_TVK+86Ha1}}H#cQ5Ff}GzC}VGKb95kdX>DaDEFfcVZgX@XbZKp6CMf_TVKOo>WHmH0I5jgeWMefsW-&N4HfAz8F*P|fGcaOhIHdqN7_k5s96CC0aAk5~bZ>GzJScN?WI8%;b98cLVQnTXAY*TCb95kdX>DaDDF7p3VPrTlVmUE6G%{pmGh#DlGGsM0HZ?Y5IAJz8Hf3curvNz`u>cnuIy!G~WpZJ3Z*n|6C}VGKb95kdX>DaDEFfcVZgX@XbZKp6CMf_TVKg;4WHdQ2Ha9aeVq`XBHZd|eWMwuoW-((nFfm~^FsT4J7_k5s8ag^}aAk5~bZ>G!Jt$*uZgX@XbZKp6CM+OhZ*FsRAarSMWhN;ABVl1UIAk$3HfA_wVKgu`H8C?~FfcbTGGa4hI5=cwGG?m)IT*137aBS`Z*XODVRUbDJ}6^vZgX@XbZKp6CM+OhZ*FsRAarSMWhN;ABVjl-HZ)~5WHdB0HZ?M3V>CEoH85dgWn^V#F=1jhG-Is*IT*137aBS`Z*XODVRUbDK0PR7Z*FsRAarSMWhN{jV{dMAbRcwTZDl4Y03%^#H8n9~HZx;kW->N4VK+ErHDNb1V>dZBWo0!pIA%4k067?30025VbZKp60CRM5bz^jNZ*6Q}F<&usX>DaLXmo9C#Q+~VI&Eogb#!HO03%^CW;A1DFfuhcGcYh^Gch=1WoBbAV>M-FWMwruGGt`M03QN6I&^7mWnXV*W^-k9C@BCVVKg~mW-?=9F*7!1GBGnWG&5!~HDxg{I5ssmW;JFoWwQW5#Q+}$Iy!V|ZDn6?W@d9`bSOwHAWbO%BVjpZIW{viI5=i8HZ(LhGi7BtVP-QmWMpPHWHe?uGi9{^K?KDB9~wG3Z*XODVRUbDAw4K`X>Da+Z)Rq5WppecbZKp6UvFk+b7gcX03%^HH)SEkI50N106`eV03RAUI&W}ga$$6Day%$>X>Da+Z)Rq5WppecbZKp6UvFk+b7gcX03%^$Wid54GB!3cVm3K4GBq?dH8M10F*IW_H8?n9W;tZJ06`eV03RbdI&W}ga$$6Day&dJb97`nI&X7ya%Ev{CM+OhZ*FsRAarSMWnXV*W^-k9CMf_TVPiNqWM(iiVl-toFk)mgFf(K~H8(LbG&e9cF*h_dF}nakA;kb68ag^}aAk5~bZ>GzJt%Z(ZDn6?W@d9`bSxlrX>Da+Z)Rq5WppV3BVjaQFgQ3iWI17EHZ?gmGhsAkI59FcH#TBnFk?13GB~{eK^VmV9~wG3Z*XODVRUbDJv}INX>Da+Z)Rq5WppecbZKp6UvFk+b7gcX03%^!IW#geWo0lnH)JqjG-EJgVKX^oWnwZmH#uQ2H)b}!06`eV03RAUI&W}ga$$6Day}?@X>Da+Z)Rq5WppecbZKp6UvFk+b7gcX03%^xH8M9aVKrkhF=1vhVL3B2G-NVkGB7zYF*YUN8Vlp)~IbmUDIbvjCF*7qb!vH}Tu>cZZZ)Rq5Wpn^vUvFk+b7gccXmo9Cb^#XxIyzx;a$$KWDF7p3FgZ0fWHe=DV=^=`H8e0bVKrtqV>V+nGiGEnVKy)}#sE2X0T&KBI$?5hVR9}Wo=Y>aAhVYEFeW}Wo=Y>aAk8KCMF;*E-onmBVl7=F*ji~IA$?sVq{`5GGS$5W;kXyWHDtpFgY`2HDk;GIUIHY7Y;f)Z*XODVRUbDJt$*uZgX@XVRCX|c_t|UBVjW)W;8N5W;Hl9F*rD5Wj8QmI5K82WM(!wGc{&4WHrtJISh6I7YRB#Z*XODVRUbDJt$#va$$KUCMf_TVK-$pWi&N6H#cQ4I5{*iVPax3Fg7`1H90vkWie(mG0*@x2X+A$9XdL1aAk5~bZ>GzJScN?WI8%;b98cLVQnTXAY*TCb95kKa&lpLCMf_TVP-LAVP!R9Vl-i7G-P2nG%-0jW-wtlH!(LbV>K`}WzqmS8+HK~96CC0aAk5~bZ>GYJt$*uZgX@XVRCX|c_u6%V{dMAbRc1Ja$$KUDF7p3W-vBmH#9RhVK6x~HeoqrHDxe4Gh{h1Gh#J4W;S6o)Brgeb^#Y0Iy!G~WpZJ3Z*o07C}VGKb95kKa&lpLCM+OhZ*FsRAYpQHVR067|V0T(YiI&W}ga$$6Day>mLV{dMAbRc1Ja$$KUEFfcVZgX@Xb97`nI%#fcbZKF1X?kUHUuMwkF)=hSWi~KlWHMzpFf(LkIW}fuWY_>XEp`DHB|189aAk5~bZ>G!Jt$*uZgX@XVRCX|c_u6%V{dMAbRctdWI8%_Wn*-2ay(Q%CMf_TVKrhiV>U50Wi(=8IA&xwI51*4Ha2E4H#IOfFk&?|G}-_;BX$870y;WlY-M3`C@BCVVPs)pHZ@{qHZx{2Ic7LHIAbz5G%_KlWic>gG+|?6WMyMHFgV@-ISzIK7a%%1WpZJ2Whi5BZgX^BX>?_BVRUbDEFfcVZgX^BX>?_BVRUbDDF7p3H!?FbI5;>qFl09}V>w|lHZn0YH)Jp}IWsdhHfCZn-~c%ub^#XzIyz=-VRUq5ZYU`rCIBO0VKQMdF*!9jH!w9eGC5*oWid5jVP;`vIW;*rVKQZ7;s7}U;s6;1CIDnJFgIdlVKFylH#RgdV>LH7F*Rg1H(_EpVK+B7WHjUeIRkb97XmsuaBpy5Vqs%zC@BCVVP-iwWH&NpGC5;qW;irvH#0V5IWc55GB;v0H(@bkW99%kb^#X%Iy!K2b#7%SVsCG3DIg{QBVlDVG&o~sF=S&hHeqCCHZV6cGc`0gVK6XZGdW^0H#O)0IR@we83`r;HfCcvF*so{H8EjiVKgvfH!(A0HaImkVP-QhGBIN^>Hs+hb^#Y1Iyz--aBN{?Whi5BZgX^BX>?_BVRUbDEFeL0XLBGXCLk^@E-3&bVKgx@Fk(42GdMP4GczzbH(@e0HD)t5IW%EoFfn8_Ve9}o8+HK~5jr|$ZE$R1V`X1rVPk73MQmklL2_qvASNatE-o%903%^#Ib&sEVlgu`G&W^1F*q|bGi5VjG&nY8I5A@~G&DHw067nK0T(GcI%#fmWpZ>VV{dMAbYE$7WpZJ3Z*nXkMQmklRC#b^CMGN(c42IFWnX4&VP|tG03%^BH)A(tGc;l}Gc#pjI5{vkF*r74Vq!5jI5=ZDWHUGL068ai0T(ekI%#fmWpZ>VV{dMAbYE$7WpZJ3Z*nXkb7^{IUvw-WMQmklRC#b^CMGN(c42IFWnX4&VP|tG03%^FHDNhrHf1+7GG#S2Hf3QjH#IjiWHLEpGBaakH)Lk=068yq0T(GcI%#fmWpZ>VV{dMAbYE$7WpZJ3Z*nXkNpxj$EFejAWpXSac42IFWnX4&VP|tG03%^GFkvucGdW^rWH>i6F=J(BGBaf{H8o~6H83<}H8f=O068ai0T(qoI%#fmWpZ>VV{dMAbYE$7WpZJ3Z*nXkb97`nI%#fcbZKF1X?kUHUuaAiI$;((?p03%^BVqs-tWHn?pH#uQuVl^;0I5;*nH!?OiG-5b8H#jl&068;u0T&rMI&gJ!XkTJsV{0fyY-Md!d2nSWCM+O!VQh6}UuJA!XLBh4BVl4UF*rCiGdE&0H8EvoGhsJ1Hexk2VmLEpG-5C{Vl(&vITv;T7b!YAa%FIAVPj<|V{dMAbYE$7WpZJ3Z*nXkMQmklRC#b^CMGN(c42IFWnX4&VP|tG03%^DH(@woGB`73He)ekVr6A!H#Ik6GG#S6G&nhBWj15_068ai0T((tV{dMAbYE$7WpZJ3Z*l-5VPs}xGdMFbIAk+3IWS>2HfAt4GhsM0W@IvEGGSpdF?InLIyz}|WpZJ3Z*l-5VKy>hF*r0gF=JsjV>MzhHZm|YWHMzkHe)$9GiEq5Gj;(N0y;WkWoKz_C@BCVVK`-FI59UlWMpPBV`4NkW@KhCVmM?lH!v_}H8o>0X8r&<{s0*WAY*TCb94YVV`gSCH8M6~He@koHZe6fWiVx7Vlp!^Vl+23H(_A_0XYVC0T&25I%8sGXK8LIDIjBSZgX@1BVjc*WHDo6VK6W@WMgAvHDP2qIXE(6H8^27Vlrf8V=)2&IRmK0V`B^fIRMy@bZ=i~X>=$l03%^HF*su~Ff%b_VPrHiIALKmGC46aH#9M3He@h4G+|*B0XcR77YI5!b7^{IC@COgZ*FsR03%^$I5A{5Vm4thGBr10WH&Z8VKg^nIWjjkI5jn4H)A;#0XYVC0T&25I&^Y%Zew9|WhirLdSzd9DF7p3Hf1wmV>vlCGGjL|Heon8V=*u=F=l2sGhs9^I5cK67y&s3b^#XxIyzxvc5VKy^0WjJItV>K{kH)Aj}Vl!bH0XZ5083-U_Z*FsR05~u(H)LWtGh$?AVmLBmIAb?AIW{$BW;Zf0H8y58VjKZE26h1#0y;Wjb6;X_Z){~@ZYU`LBVl7PIXF3CGGjDkH85s4G&wV7IX7c6Gi7BmGG#F}Wi}oGIUWHS2q0r`ZgX@1G&nLaHaIdjIXE(6HDhLGWi>H2HZoykW@9s9Wn(g8AOSfBb^#XxIyzxN37XJv9IDF7p3G%;i_Gh{O{VK!l6F*Z12V>DtlFfcSWV>Du7Vl^;kE&(|%0T~D&V{dMAbO1LwI5#n4GGa9{H8nS4H#B5nI5RLZIWje3H8wIdWo0k{IRLE1G%+x9oVq!OAIc8!y0XaGW83-U_Z*FsR05>-(s;a&lpLUvFk#bYWs_WpgMgAY*TCb94YBVK_HqWH4l7Vr61uW@I)tF<~%aWivQ8GBq`0Fg7qXWk3Nr26h1#2s%1xb6;X_Z){~@ZYU`rV{dMAbO0k^Vq#@uW-wtjF=1gdWidB3Vq-NoG&o~pW;Zb~HZx>6LIF7jb^#X%Iyz}{Uu0o)Whf~iV{dMAbO0k^H#st7V>4!CH!(0ZF*r3eF*P|dHDokqIbmWmV_`95L;*Plb^#X%Iyz}{Uu0o)WnXk@ZDlAaAY*TCb94YBVP!ZpG-fq3VL3K1G-hHnGG;M2HDNh1HZe9~H!@>lWJUow26h1#2s%1xb6;j`Z(($4Zf9R`Z)t9HC@COgZ*FsR03%^yH#In7IWuKtWMX7vGB+_XGB!9dW->N3G%#XiWiT^H0XYVC0T&TEI%#uXXm4$AXJu|>Z*_AhZf|5|UvznJWho$IZ*FsR03%^HIbktoWj8ltFf(E^Gi6~iVmV|uWH4bkH92EBGi5eP0XYwL0T&ZGI%#uXXm4$AXJu|>Z*_AhZf|5|UvznJWh@|WZ)9aECMf_TVP!OBIXE_EIc8*HGBYqaFlISnFk&+|F*ac~Gi5kpVoU)!5q1F=A38c|b6;q0ZEt5~Ze?$Eb0}_aWMyA;d2nScAY*TCb95kXZ)9aECMh6eZ*FsR03%^!FfcYTFk>)fF*s&0GBq(aWMw%rVm2}}WMedBFlIGQ0XZFZ0T&25I%#uXX>N37XJv9IDIjBSZgX@1BVjiB~1G&VOhVKO;2I5;&mWHe9#IR(t0b!}p0awsVvV{dMAbO0k^VK6f^F*Gz|H8?P0Gh{enG&eFgV=!Z8VrFGxV=^%`QUN&zb^#X%Iyz}{UvqSFX>MmIDIjBSZgX@1BVlD_W@KbAF<~-eWiw_rVq;`CVP#`xVPa%6HZx=}Heyr(IR(t6VPb4$C@COgZ*FsR03%^!H)UivIW%Q8G+|^jVPR!vHe@$8IWuE2Hext9H)J_h0XYVC0T&25I%#uXbZKp6C@COgZ*FsR03%^CWHM%BI50IaGGs6~VP-dBIWsh2He@g|V>e=EH83_<0XYVC0T&25I%#uXc42IFWhf~iV{dMAbO0k^V`DWlGhsJoVKHT4HDfk7W@BYGW;AAHVKri7G%-12S^+r*b^#X%Iy!WDaAhbdAY*TCb94YBVKX%{Vm4tpIWjXfGBGx0FgGw_HDx(BIX5;oHZwIhFdQ6GGj4eVm2^gW-?=8F=IDmH8N%}HZ?dlGdW^3WC1w_b^#XxIyz=@Z*FubDF7p3Ib%0CI5aphGC5%~VK*={V=*-}WjAADWieqnH#1~2W&t^70T~D&V{dMAbO1GCVKZT7F*sv3Gc`0eWMMXDIb4nkVmCKtHZ*7fIRU5mIW%TvWHT^fWnnimV_`UCGB!AH0XYnI0T&25I&W}ga$$6Da$8*}b7^{IUvwz|BVjl-Gh$(6FfuteV_`I8V`XJEH)ALN9IXGlDFl90|W@R}yVPiKmGcz|fGh<_g0V6s(V{dGAZEgS~VKHN2He@hlVl*&gHaTQ6H#jsmFf%YQF=jVoW;HZ3G=%{p2s%1%aAk5~bZ>GXVsCG3C@COgZ*FsR03%^zV`5=4W-~NlFgIj4Vl*`~VmM|pW;SABW-??qGh=3X0YwId0V6OvI&W}ga$$6Dav?n^V{dMAbRctYb#h~6UvO`8X>@6CZYC@sV{dMAbRctYb#h~6UvO`8X>@6CZYC)JBVjo(W@TeIW??ZfF*IQ@Gc`D2Gd412IWadeV`O45H#2(yMJ|N_BQQETZ*XODVRUbDJSbytZgX@Xb8mHWV`X1(Z*ysMX>V>OEFfcVZgX@Xb8mHWV`X1(Z*ysMX>V>ODF7p3H#adiF*G?aGG<~iF*7tYH8nXmVKHW8GGQ__WjJGGeE~%-g#jZcIy!G~WpZJ3Z*n|5D06gVIy!H2baG{3Z6+)rV{dMAbRctYb#h~6UvO`8X>@6CZYC)JBVjZ!Vl-khGh<_9GBaT^Fg0N^V=^*1I5;&kFg7+}Vqt#)MJ0s+BQQETZ*XODVRUbDJUu95Z*FsRAaieZa${v*aBp*IbZKvHCM+OhZ*FsRAaieZa${v*aBp*IbZKvHCMf_TVPax8WHdKpI5jgjG&3+UWn(lrWjA9rW;11FF=IC|VSxcfE`G!Jt$*uZgX@Xb8mHWV`X1(Z*ysMX>V>OEFfcVZgX@Xb8mHWV`X1(Z*ysMX>V>ODF7p3GB!3bVPs-BGBRT@GC470H8V0eWI1FoFl97iIbk?vg8@Y@TmS$%I&*Jza${v*aBp*IbZKvH0CRM5bz^jNZ*6Q}F<&urZ*_8GWnW)#Z*ysMX>V>WXmo9C90C_QI(A`fb!A^+a%TV|VPi2fF*Z0gFlI0|H!)&iVlp)_HDoa|HZ?aeWivK5FdPCGIy!b?Y;|Q{ba`-P03%^!I5%QAV>e}EG&VJ3G%_?|I5sh1Vqr35G-G5nH8M6F0v8TCI&W}ga$$6Day=+xZ*FsRAa-GFb!8?g03%^DGdVXiF=03|F*9N{WiUB8Gh#J0G&e9dH)dpIF=jW20XYmD0v8E7I&W}ga$$6Day=+^VQh6}CMGEWBVjo;IAmcrVPR!6W@b4sFgY}3Gc-75Vq;}tVKiZ3HDrnbIR_j97YjN%Z*XODVRUbDJt%fzY;|Q{VRC0F03%^AI5{;iWMyV%WHDhiH8wagH8f;3IAk(6H8D41IX5$m0XYdA0v8QBI(A`fb!8|)a%XcOCMF;*E-onmBVlA@VlXykIX5#nHaBB6GGZ}hVK+BrW?^M9V>V%AF))q+ISU*D7Y;f)c42IFWhi5BZgX@Xc42IFWhN;ABVjf&VPj=AWHUEoHe+TmIc8*IH8?qCW??mDFkvt`Fg1_?ISd>E7aKY{c42IFWhi5BZgX@Xc42IFWhN{jc42IFWnX4&VP|tG03%^GHDxwsIA&ooH#9XhWH>WnWHVu8VK6cotH)3NpG+~qhIR_j97Zy4?c42IFWhi!GY;|QOCM+O!VQh6}UuJA!XLBh4BVjdWHfA+pI5T20WMeaCH8?afW;bSJHD+RCFl97mH93|6ITRcM7ack}Z*XODVRUbDJUl3KbYwa@Z*z2VWnpb5EFfcVZgX@Xc42IFWhN;ABVlDRHZWmgI5IFaVKilAH8*5oV=`f6He)qmWnyABI5U_5IU5`T7aux0Z*XODVRUbDAw4K#Z*FsRAa-GFb!8?jAY*TCb95kfVQh6}JXAg=DF7p3I5#q7H8wS2WM*PxWHK-@W-?)7F=aC`Ff%qeIX5*pngKZ-90C^^Iy!G~WpZJ3Z*n{+V{dMAbRc$NY;|QOEFgAaY;|Q{VRC0F03%^BH#ae1VKXygWHMwlGBsi~G%{o`VmV|mWjQc7Ha29O0XY{O0v8!NI&W}ga$$6Day%$@VQh6}Utw}*EFfcVZgX@Xc42IFWhN;ABVjgTVr4KnIW#h2WHvA~HfCWtG+|_9VmUD}IW#adIWe9AITsuP7aux0Z*XODVRUbDJSbytZgX@Xc42IFWhN{jV{dMAbRc$NY;|QkR6Zst03%^HW@KYDW;i!yIb~xrWoBYHIW}WsGi5M2HaRpiGB{$O0XZEU0v8!NI&W}ga$$6Day&gKV{dMAbRc$NY;|QOEFgAaY;|Q{VRC0F03%^HWH2%{HZ@~5FgRm2HZx&nV>o6rWHK=@GBz_gH#9J!0XY{O0v8!NI&W}ga$$6Day&gKc42IFWnW=(XDlFNZ*FsRAa-GFb!8?g03%^CW-~WtHaTQ7Wi&T8V=!YfWin!6F*as4IWajnF*RkR0XY{O0v8`TI&W}ga$$6Day&gKV{dMAbRc$NY;|QOEFfcVZgX@Xc42IFWjs_qCMf_TVPiI7W-&EpH92H8GdE;8HDobiW@R`yH)1g|Vm3K9Wu^f+9UKA|89F*|aAk5~bZ>G!Jt$*uZgX@Xc42IFWhN{jc42IFWnW=(XDI+9VK8DjFl97mI5lNsVP-O8I5A~3VqrL9G%{gfHDhHnG^hbN7aRf?A38d3aAk5~bZ>G!Jt$*uZgX@Xc42IFWhN{jV{dMAbRc$NY;|QkR6Zst03%^CW??imHZd?TFf=!0Ff}q{Fk@q3GGj4jGiEk0FgP`;0XZEU0v8!NI&W}ga$$6Day}?yZ*FsRAa-GFb!8?jAa-GFb!A^+a%U+3BVl7@IAbs{WivE2V>UTuWjQltHDoekWHMxCHaRpiG%&0IITsuP7a2M_Z*XODVRUbDJ}7o!Y;|Q{VRC0IAY*TCb95kfVQh6}CMf_TVP-NgFlI7hWi&E3Gi78jIWjXhG&5#2VmUE5W;ixwHm(6V7aRf?A38d3aAk5~bZ>G#C}VGKb95kfVQh6}CM+OhZ*FsRAa-GFb!9wMJ|-yuBVl4WHDoY1VK-(pIAt_6Vqs-wVqs%qW;JFuFgG$dGdHjSIUO7V7a2M_Z*XODVRUbDK0PR7Z*FsRAa-GFb!8?jAa-GFb!A^+a%U+3BVjl&G%+_~H83?bFgG%0GB9K_VKzB9HDobjH#lKtGBL6NITsuP7a2M_Z*XODVRUbDK0PRQVQh6}Utw}*EFfcVZgX@Xc42IFWhN;ABVji(H)S$mV`MThWn^YBG+{9`G&wOiWHC21H!wD0VK%e@ITsuP7aux0Z*XODVRUbDK0PR7Z*FsRAa-GFb!8?jAY*TCb95kfVQh6}JXAg=DF7p3FlAz7WnnlnF=RP7H8eJ4Wi(dK6H8wOkHaRvhIW;z6IWlB6VZH%51{?wx0y;Wjb6;X_Z){~@ZYU`LBVl4NHa9RfVrDirIA%0CHeohoGBjj1I5{z5Gc;l}HZ;HiIluuK2q0r`ZgX@1GhsL}Ha9V3GdW^6H8VCdVqrI9GGa4kWHw?qHZ(M0!T~u390C^tIyzxn|oWiT`~V>DthIbt?2Ic3BFIm7`O2q0r`ZgX@1G%zwWH)Sz0IA$_tW@KVDGdMP7Wi&BjGGRD0Vl^^k#sN7790C^tIyzxN37XJv9IDF7p3F*h(~Ha25pWn?)qW@9oqI5uN4GGt~qWHdEqIA%99&;dEn0T~D&V{dMAbO2#vFkxe6Ffuk|W@0%oGcz2G&D3fV>o0rF=I10FgGz~H#uW5)&V&N90C^tIyzxlH!)>5Vq`KgV>3BnG-fw5H8(Zb0Xf(K83-U_Z*FsR061bbV>4nfGGj9~H8MCiWjSIsHZx>mWic^hH!(LdW7+{Z1{?wx0y;Wjb6<36ZDlAa03%^EGchzUH8(LbI5IXiVmCA}IW;sjG-G37H#9S0GB;%00Xf_O83-U_Z*FsR05>ue=BG&p84H)h}gIR+d87YI5!X>(s;a&lpLUvFk#bYWs_WpgMgAY*TCb94YBVKz25Ha9mmWnyMIG&ngiI5IV3HZ?djGcqzYGGk$4Fya9@1{?wx2s%1xb6;X_Z){~@ZYU`rV{dMAbO0k^HaIahV`MUBVqs-7HDxj}IXN(7Gh{V3F*amjH90k5vftG-5R|IXO9FI5A~nFf}t|G&M6}V>vN4<^eed90C^zIyz}{Uu0o)WnXk@ZDlAaAY*TCb94YBVKHSmW@0vBGdE^7HD+dJIXPiAGcjRgWivEkVm4%AH0S|21{?wx2s%1xb6;j`Z(($4Zf9R`Z)t9HC@COgZ*FsR03%^xHDWViVPiEnH)A$1Vlp&lGch$aFlIPnH(_LCHaTYM0XYU70v8cFI%#uXXm4$AXJu|>Z*_AhZf|5|UvznJWho$IZ*FsR03%^GHfA$1WMVL8Wi(-7F<~|}W@ctFV`Vd9VmM-DF=b-x0XYvG0v8iHI%#uXXm4$AXJu|>Z*_AhZf|5|UvznJWh@|WZ)9aECMf_TVKp#0H#ssjH8we9G-WboH8?RjFgIjlHaRk3WoBhCGVTF65gY;+A38c|b6;q0ZEt5~Ze?$Eb0}_aWMyA;d2nScAY*TCb95kXZ)9aECMh6eZ*FsR03%^EFl01kVKQcBFk~}1Gcq(aW@9rkWM*SFVK8PgH)dk+0XZEU0v8B6I%#uXX>N37XJv9IDIjBSZgX@1BVlAUVlg;0G-EM1FkvueVlrf9Fg9gmG-G69Vlp*3VKnjqIR+d87YI5!X>(t0b!}p0awsVvV{dMAbO0k^WHc~gWHvNpIbk?vFfuhZWi>T0VL37~He_ODWHB-^^Z_{r90C^zIyz}{UvqSFX>MmIDIjBSZgX@1BVjo>WHdK7VmD=FF*Pw{H)dltIAb(9WnnjCH8No{F*No8IR+d87YI5!X>(t6VPb4$C@COgZ*FsR03%^EF*Z46WHLB3W;0UK7H)Jt1VKO)|GG#L~I5#-@0XYU70v8B6I%#uXc42IFWhf~iV{dMAbO0k^HDoblIXF0BH#A{lHDfkqHe+FBIX5siI5{yeI5TE5`~f)z90C^zIy!WDaAhbdAY*TCb94YBVKzBsWH4kjHDxknWi>f6Ic8;HGcz|eV`MfsIW{n5V*UX+1{?wx1UforWppShASM7KVP-ZkH(@w4G&f~6IWah5Gc{&oW@0fhWjJOxWHd85H~<1U0ssOT1ttJ6Vl-u8H#jk3I5S~0V=*=~WM(onF)}%1Fl9G0Gc+**0yzU50v8H8I%j2cC@COgZ*FsRASM7KVKZScWn(#IVL3K1G-Nh7VqrO9Ibk$5IWjmlIA%CxI0OPY2m}Hd3nl<%Gh$*nHDxzpW;8Z3GGt|BF*Y+YIAS<5H(@p~I5}hn0yzmB0v8H8I&W}ga$$6Dav)=GZgX@Xc42IFWnXl8aAhVaDIjBSZgX@XCIBO0Wnp1AW-~Z7V>dN3Vq-UEF)?N^H#In9IALWoGBsj02m(0>90C^wIy!G~WpZJ3Z*m}GZ*FsRAa-GFb!A_4d2nSWCMYQ&CMEzQVP$4HVq!NqGi5hpIAUQmH#ImjI5#vhVmD)EV>2-~I0^ze0~`Vu1UfozaAk5~bZ>GXc42IFWnXl8aAhVaDIg{QBVlA=W-v5jH8EyoVKQQ5V>4u7GdX5rW;QcpGBhw^Ghz$^IRYF47X>;xZ*XODVRUbDAa-GFb!A_4d2nSWCMYQ&CMEzQVPrLAG+{AgI59Y6H!v_XVq-L8G%_+VIb~#KI5cErISv9j0~`Vu1UfozaAk5~bZ>GhC@CN&03%^AH8f)}W@0xvHeobnH8wD0G+}09GB+?WIbvclVP$3z0yzQ@0vQD+05&vXWH~fpF)%nbWo2Y!WieqnG-fd}W-u}^G&wkAG7GhC@COgZ*FsRASM7KVKFsjH8wIhHe@k3W-&2gG-Ne4H)UaDWMVTmGd4J8I1~ao2owSt3nltGchwaWi~lCI5aq8VmLBkIW=N3HZ@`}Gh{Sm7y>yM0vQM(V{dMAbO16lVPY|3H92BtG-YEnVq-BmVm4-BGiGCEGdVdiH!&IlIR;z+06IE$VQh6}0Ap-nb8~cWZERmLUom!JY;|QWXmo9CTmS$%I%#fmWpZ?7asYF5a&=>LbZ>2JUol@XX>N06a&%>KE@*UZY$pOCIyz)!W?^+~bYEs{VP|syBVlGSHZf)}VK!qoIW##mHDx$8Vlpu>Wo0-uV`4WrWjQATAt5?Cd0}mAUuJJ|ZDDkDWpXHEZ*FsRAarkSY&tq_Z)9aAEFflYa&2LBUuJA!XLBh4BVjNwI5}fvWHm82WI1LwHZ(D1WHB&fIAmmEHDWPiF)<$kLmwvsAt^dKd0}mAUuJJ|ZDDkDWpXHEZ*FsRAarkSY&tq{VRCb2Uvg!0b!>DdEFflYa&2LBUuJA!XLBh4BVjUSVl^;hG&wjkW;bPHGB#l}F*jmmW@Tn!V`VZkVrC%%LnkK!As{+BZ*XODVRUbDJUl3KbYwa@Z*z2VWnpb5EFgJdZERm=Z*py6baZ8MCMf_TVKFdbFk?75GBq}3VlrW3G-Y8jVl-tkGiEqpWH@DJW+MVa9w!1JAv!v5aAk5~bZ>GzJScN?WI8%;b98cLVQnTXAbDYJY+q(?a&2LBbY*fTCMf_TVKp#hG&VCfF*jmkV`4ToVL4-DW-u``IWRLaF=AviHzfi?A6x(cIy!k_ZERm=Z*py6baZ8M0Ap-nb8~cWZERmLUom-MZERm(W^ZzBVRUq5axQ3eZEP4GchqaHe@g_0wFp&Wo~2uBVjN#G&wXdVl*;jV`exrGdVFfIX7ivGGaJ3IWRRdF=Q_SAv!v6VRUE!BVjT%W@9olW;HiCWn^MFVP<16I59Y5FflV@HDO~lWH&DYAqYA;cWGp0UvOb`XecQlV{dMAbO0k^IAu98F)(9fG%{s4Gc;y7HDx(rF*0K{IXN&nV=-eeD*{6XF9IPYIy!G~WpZJ3Z*n|5D06gVIy!H2baG{3Z6+)rV{dMAbRctYb#h~6UvgzV>ODF7p3Ib>xxVPi5hVKy)~VPa%3IXGfsG%+_hH8L<}GdD9dEdoO$TmS$%I&*Jza${v*a%E>}Z*Bl{baHiLbaZcRY+o^7F>`Nqa${v*UvgzV>WXmo9CR8LJzUqMhw0B3SW8W->4{IAStkWHn_pHU?BrO-x@wQ&UA!R48S5aB?XCXL4_Ka9>|zZ*FF3XLWL6bZKvHE@*UZY$Io3IAb(0H(@wtHfCitGGRA4HDqElHDYBmW-u@_IWuNBF#V>WXmo9CBWGbSIWjObW@TbDVKZiCH8nFdHZn6~GGb&fH8NylWn(Z@Pfbi;MNUCNOhsQtPf|@mR8&P$QvhdjZ*_2AUt@1>W@%@2a$$67Z*DGVbZu-SXJI*JV>dT7I5K28WMwxuW;HovGGt_9IbmfnW;ZlAV_{TJO-x@!PC-IUMPE=sQd31z0B3SIWaP1H#KB5HZnA1Wj0}AHaImjWi&BlIAJ(7GE`4ZOkYJ#K|)MLUsX<0MNCCOQ$<8yMnyqXRZ>M$0B3S!Uqeq#P(f4xXL4_Ka9>|zZ*FF3XLWL6bZKvHE@*UZY$Io3IW#ynH)LWqH)A|zZ*FF3XLWL6bZKvHE@*UZY$Io3IWsUhH)UgFI5=ZrG-6|6GdVM6HZWl~IAUaBHZ(J0R8LJzUr0qkL`70xPfko(0B3SpCW-~A`HDWYkFgRf`F;q`YOkYn>R7p=xK}=s%Sx`j)XL4_Ka9>|zZ*FF3XLWL6bZKvHE@*UZY$Io3Ib$+oFf(R2HaBHrHe@$8VKrtpHDWL}Wo2S9F*r75R8LJzUsFv%OiW)!Oiw{nUsPF8MF3}VZ*_2AUt@1>W@%@2a$$67Z*DGVbZu-SXJIihVKXx}IAmcoFgY_gVK!nlV`gMHIXE*iFgGwZW;aw%O-x@?O+iddUrA0>UsPF8MF3}VZ*_2AUt@1>W@%@2a$$67Z*DGVbZu-SXJIfmGBRdiGGjG2WMMWlHZWs1W-?-7FgRm2Fl8}eI5A9VVsc?}c_2e?Zf0p`b#h^JX>V=-XL4_Ka9>|zZ*FF3XLWL6bZKvHE@*UZY+L{UD=PqLZe(S6E@*UZY(@ee2s%1sWpiV4X>fFDZ*C|lAY*TCb94YBVKp^4GG#erHa2EBVPP|7Hf3fsG%{l_VK6jgH8MCdW2JUol@XaA9(DWnW)qa&m8SE@*UZYykro4mvt-aAk5~bZ>G!C}VGKb95kdVPb4$CMf_TVPiC6WM(yCWMw%uVPiF6W??ipGGS#gGBG(~IASG!D0E?BY-J`UDF7p3HDfhqWH4nhF=S#mGB{ykGBz}2V`F1EHe_aGWHvE5Ndh?s0RtBTIy!V=Vr*q7DF7p3GGRA2IW=W7VPZKpWH~i7IbmZlH)S(0V>L5lHa281O9D9o0~ZcDI&@)TY-K28Z*FsRAar43Y-J`X03%^IV=y*3G%;l`HDxm~HZU?|G&W{3Hez8oG-NR}Vlp#L0yzu;0~ZN8I&@)TY-K2PVPb4$CMGEWBVl4RH(@t6VPY~gGGS(6F*9Z{VK+2oHDxklV`ODyG&D~FIR^m)7cM$FbYWs_WhirWWI8%&ZfSIBVQgu7WpZC^X>)WuX>D+9Iy!V=Vr*q!X>MtBUvOb*ay}^lBVjjYWMeflV=!T1F=AvkH(_NqH#0b9FfuteI5%QrGGG!Jt$*uZgX@XbYWs_WhN{jV{dMAbRcwLVr*q5DF7p3W;kVHVP#}EF)%e{HDqNnFgZ9mIWjjkG-fhnH8V6}R{}X20RtBTIyz%)WnpqCDF7p3VK*@_W;iutH8?n7F=8+2;1GGs9|H8W&oG-YLGSpqo$0~ZQ9I%RTUb7d%LbY*g3bZ>Gg03%^BVL324I5apnHe+LCWH2*fVPQFCFlIS8Ffm~`GdX5k0yzi)0~ZiFI%RTUb7d%FZ*FsRUukq@a$$6Dawz~KVKii6W@0p9Wic@}WH~ZnWMnxvGi5bqGB;*8I51&3WL*L|4gmufAUZl_a$$32C}VGKb97&6bY*g3bZ>GjAY*TCb97&6bY*g3bZ>Gg03%^FIc79uWI1ItGGaF~V>x3nWn(lmF*7t`Wo9>JF)=e=0y!Q50~ZoHI%RTUb7d%VbYwa@b98cPZf9S1X=QgQ03%^zHZV3cWM(sFHfAz2VlXl?I5;#jIWS>4IW{w6F=At30yz)?0~ZrII%RTUb7d%VbYwa@cXM=dX>MmZtH!x&kH)S$pH!x#2IALW1IR<3{83`r;F*IQ{Ib~&JH!?6{G-NO_I5aS2GC442I5J{lI5%Q7X976~0RtBuIyz--aBN{?WhhH!c~p6DWhN#pAXZ^)b!9N2VV{dMAbYE$7WpZJ3Z*nXkOJ#Xfd2nSWCM+OUVQh6}L2_qvASNatE-o%903%^AWHK{1IAS$qF*7tXGGb;pWiv80V>387V>UG~F*rGE0y!%I0~aMaI%#fmWpZ>VOJ#Xfd2nSWCM+OUVQh6}RC#b^CMGN(c42IFWnX4&VP|tG03%^#WHe(rIW%EqV>L1`Ibt?BWHmHoF*#;4Fg9W{F=AtF0y!fA0~Z-OI%#fmWpZ>VNpxj$EFejAWpXSac42IFWnX4&VP|tG03%^DGcjdiHe_WmG-Nq7V>4zqHezNrG-WnsI5cE5VPrOM0y!4}0~aMaI%#fmWpZ?1Z*pH@b8~5DZYWD-c~p6DWhN#pAXZ^)b!Aj}aAhVYEFgAaY;|Q{W^7?+b148LVPP>gFk&|`Wn?yDV>V`EHZwS4F*#y2WI16tWo9)tIdK9xBLM>!Iyz%-ZgX^BX>?_BVRUbD03%^GIA&#GIAdWsVlgl=IA%FEH#KHtGc-10Ic799F*0QV0~b0vX>?_BVRUbD03%^IH)Sw2HDY08G&411H8V3ZWMecrHe)q0I5#shVKig`0~Z21I$~vKX>KSf03%^DGc;x}H83AY*TCb94YSFk?3|WjHZpWie!7Ha226FgP<~VPr8eG&C|}VlXv-0yzc&0~ZK7I%#uXX>M$3Ze=JbAY*TCb94YBVKp;iWietoGhtylFg7qaWn?oqI5RRcWM()sHDNMlGl2p*1_1*X20A)vb6;t0Y-w&~C}MAKY$*UEVK`+sIX7W8I5TEuGGbw4WHB^kH)S_8HZf&mWHL86FoOa)1OWpV5;{6>aAk5~bZ>H7T_|&OWI8%?baH8KXJ2+{Wp^n6BVjgVI5RjlFf=)4HZw3|I5jmfH90q7GBG$XG&eb8H)DkYIS_>c85kgAZ*FsR06AhYGhs0~WMpPzWHM$qHa0jlW;Hi8I5%W6I5#jcV}}Ac76Ahn6FNF?aAk5~bZ>H7T_|&OWI8%`b98cPZf9S1X=QgQ03%^AHfCfqWH~T1GGZ_@F=8+?HZwReI5{&pV`MdBW-~a60yzo0qH8V9cVPs`tV>vN6Ha0k6Ic8%uV`4U8GLHf|7Xbqo5;{6&X>MdFb97`nI&*Y#X>MmjHaRkr0y!1|0~ZrII%a8ZWGHiVWI8%`b98cPZf9S1X=QgQ03%^yF=jC`VK_23GBGk_GBagmFgQ6iW@KSGGGR3_F*9S80yzMmvl9Vr4O6WH2)~IW#mkFf}ou0yzc&0~ZK7I&*1yWhf~iV{dMAbO0k^WH)0pF)%eaH8f*mI59V3W;SIvI5B2nH)dinVm4$pqXIbw0RtBTIyzx}1IWuN9WH)AIIAt)U0y(7u83-U_Z*FsR0A?~|WMMTpWMeckVmCN4VlZPfHeoU|HaBEBG&ngmH>UzQ1_1*X0y;Wjb6;X_Z){~@ZYU`LBVjOOWHvN0GG;U|V=^!>IWsvnG&L|XI5aUgWH&fDV`ixWIjI5}2q0r`ZgX@1Vq-F9F)}t`Ff=(hIWRXfFgP2@~FfuV^Ght*fIXGixG-Nn9GqVCY1_1*X0y;Wjb6;j`Z(($4Zf9R`Z)t9HC@BCVVPi95HDx(AIb$?oVP$1vV>4qjHe@w1G-ESjH8f;3X0-x2wE`IkAY*TCb94YZrW;A0nF*i0fW@chBHDP6BFlI8h0yzc&0~Z21I$?8PX>N37XJv9IDF7p3HDWk6GB`0dGB9FcGc;vpVPa-CWiw+mVr6DIHa9h5xdJ)40vQM(V{dMAbO1RxV=_55WjJ9rGc_?eFk)e1IX7iEI5uNAGiEY2G&s8gIR*g(7XmsuVRK(|baH8KXDBHEBVl1UWivT4Fk)tAH8we9Wo0unW@R{KGc;yqVm322F=V|0IlTfK2q0r`ZgX@1VPZ2fWietlFlIGkGh#4eW;r!8IWRXiV>mfsV`IMpIR*g(7XmsuVRK(}VPb4$C@BCVVP-jFVl+2pV`XJIV=*&iWn?ikFgRj1G&wLbW;kIrW5EJB!2%fwAY*TCb94YWG-hKsVmLQpV`DL9Ic7LEGdMJ4GdDFjIWuN8WHV#K0yzc&0~Z21I$?8PbZKp6C@BCVVL3Q3W;QV~G&wUcIAt+8Gcq_bVmM|sVrF4wWMMKmG{pir#R3@!AY*TCb94YPIb}0pVKy~pWH32mGG;S2WH~rCGB;y1GcqI~W?yt+Vr*q|C@COgZ*FsR03%^FGG#VoG-ft7H)S+7G+{J3VPiBoGB{&6Wn?okW@Tf`0yzc&0~ZK7I%#uXVsCG3Wnpe8DIjBSZgX@1BVjf$V>B^0H)S(s>VRU6EDIjBSZgX@1BVjWzH8N&5VlrZ5Wj0}CWH@DJH85piH#cK7IWsdjV>HhKIR*g(7YI5!X>(s>VRU6*bZKp6C@COgZ*FsR03%^DIAl07WoBhLWHx4FI5}c9F*Gn`HDO|8WMw%qGB;$=0yzc&0~ZK7I%#uXW^8X^bZKs9UvO_}ZgeOqAY*TCb94YBVK!x9W?^AsF*q?|IAdipHZw9}HDfR}H8wdkF=k>nHq!z*1_1*X5jr|)b6;q0ZEt5~Ze?$Eb0}_aWMyA;d2nSZAY*TCb94YBVPa)5V`DTjH8V40V=*u|Vlpr`GGt{kHa0diH!)^mVbuaT4*>%g6FNF+b6;q0ZEt5~Ze?$Eb0}_aWMyA;d2nScAZ~ADWhy2q03%^$F<~-hG&p5sVq!C4W??xqHZx;0IWjdlH8?XcI5alb0yz-@0~a4UI%#uXXm4$AXJu|>Z*_AhZf|5|UvznJWh@|LZ*FsRAZ~ADWhy2qAY*TCb94YBVK`whVK`(oWi&K6I5S}~G&VOkIXGltWH2{mWMg79GuZ+;9RULu2s%1xb6;t0bY*8{awsVvV{dMAbO0k^F=04jFg0U1WMwlnGh=3EGB9E^H!(OlWHT^1I5sk3+X6WT0RtBZIyz}{Uv716Vr6nDDIjBSZgX@1BVjl>GdVIaFfe5}IWjmlI5jjdW-v7|GiEemWi&NnVKUtUIR*g(7YI5!X>(t5baH8KXDBHkV{dMAbO0k^HezNqW-~T6Ha9RiI5{z6HDfknWny7BFgPGBPq^W;if7IW#sgWMnisH8e9ZF=R1iG%zzWI5y=1IR*g(7YI5!ba`-PC@COgZ*FsR03%^AGh{I}F*PtYH8L?bHexY1F*IT~FlJ&fGc{vmWnwVr0yzc&0~ZoHI$?Aub97`nI&*Y#X>Mmji!TAY*TCb94Y>VPs}GF*P%0V`O7BFfln{WMnfnG%_|YG&E*2HaTVM0y!1|0~ZrII$?Aub97`nI(Kt)a%pa7Uv_C_cPRiPVP$4CWHvK4Ib&uvG+{M1Gcqz_IW}f7VKFskH#RY2HthmA5$ysR86abCZgX@1I5aXjVrDdCFk~}iWHB{jI5IOdG-5S3HDzNmVKFuD0y!4}0~ZoHI%j2cD06gVIy!T7a%pa7Uv_C_cPRiPVP!TrF)?LfH)A$AGGSvkF*rCdHaRn8GBPz|Ha1~pWbpzy5b**T7$9SBZgX@1G&5mlVP!OCH#RV4H!(G1HaTK2VmM)8Fkv@kW-vD~^8z^*0RtBkIyz@%bSQIlWI8%`b98cPZf9S1X=QgQ03%^GGdE^tIbt|vVlp^5Fkvw;I5cK3F=97jFgG$aVlguH0yz=&0vQ<~V{dMAbO2;zFlI1gH8Ep0Gh{P3HD)+CF)%VRV_{-BI5;;nG-LMyITrx~7ZN%;XJvF>VRI;RbYwa@b98cPZf9S1X=QgQ03%^$VmUT2V>x0nWnnllHa2ECF*jr~GGsF}I5#yoH8C^!0yz-*0vQ+}V{dMAbO2#8F=9C}Wo0sDWHdNpGBjdlHaIk5H#Rb6Ffn5`I5hhLITir}7ZW-VRI;RbYwa@cXM=dX>Mm4l5IWT5rGGz+`At5?CYIARHUuJJ|ZDDkDWpXHEZ*FsRAarkSY&tq_Z)9aAEFflYa&2LBUuJA!XLBh4BVlA^GB!75V`E`BGG#MjVqs%5WHB>2GGSt2VmUElWjO-_LmvwRAt^dKYIARHUuJJ|ZDDkDWpXHEZ*FsRAarkSY&tq{VRCb2Uvg!0b!>DdEFflYa&2LBUuJA!XLBh4BVjc$H#jw6VK`-GGdD9~IWaRfWjHxDW?^PwVq`TlVr2ybLnjLZAs{+BZ*XODVRUbDJUl3KbYwa@Z*z2VWnpb5EFfxgZ*E^^Z*py6baZ8MCMf_TVKQPkIAUWmGcaQ{I5}f6W?^J9HD+dHIAmryHexq4Wd{R89t#5@Av!v5aAk5~bZ>GzJScN?WI8%;b98cLVQnTXAZl}OZeM0^a&2LBbY*fTCMf_TVKrrCW@R*GHDh5mG%#W@GG=08Fga#qH8L?}VPZ2gH3vfCWoBeEVl+5qV=!SgV=**lFgP|bIAt_sVr4Qj3MmMmGCM+OxZ*_8GWnXe-XK8P4CMGEWBVjiMmGCM+OhZ*FsRAaieZa${v*a%E>}Z*C?j03%^yI5uWxH90V5GBPq`H8)~7W;8Z4FgY+WGC4S8IAmcI12-d90~H=RI%{QlC}VGKb95kMXkl_HEFg1lb#h~6UvgzV>OCMf_TVL3Q4W;JDHGG=0AI5IM1G&f{0Vly;1V>M)EH8o~2F%|3WqBxLZ*FsRAY*7@aw;q!V{dMAbRctYb#h~6UvgzV>ODF7p3WHn|oHexe3F*h=0Gc;j1V>d8mI5aq6WH&i6F*h+V7y~yURs$6zIy!4*c_?#qWI8%`b98cPZf9S1X=QgTAaieZa${v*a%E>}Z*C?gDF7p3HaBBtWn?!oH)A+7H#ak3Vl!rCHf3WmVmCQ6HfCWr8Ur^XRs$6&Iy!4*c_?#qWI8%`b98cPZf9S1X=QgTAY*TCb95kcZ*_8GWnXe-XK8P4CMf_TVPau2V`4TrWMVjDVP!XCVq-QiI5|0CFlA*oHZeG4GaLgqCsqR$8#+2~aAk5~bZ>GzJScN?WI8%;b98cLVQnTXAY*TCb95kUWqBqk03%^HIAvltVP<1CIb~yHH#lZAW;SGHWH2@|W-?|sWnniS12-8~0~HuLI&W}ga$$6Dav?n^V{dMAbRcVGc_u6%V{dMAbRcVGc_t|UBVjQzH8o{9G%zqUIAJq3GGb(5F)?LjGBhw^GiEVnW@R7)Hx^a{6&^Y|Z*XODVRUbDAw4K#Z*FsRAZulLCM+OxbYwa@b98cPZf9S1X=QgQ03%^CG-Y8jVPZKqIXPisH)dsHHa9tDGGt+8Ght?9V`efU12-I20~H=RI&W}ga$$6Dav?n^b97`nI&*Y#X>MmGzJt$*uZgX@XYh`&REFg1qWI8%?baH8KXJ2+{Wp^n6BVjpXH90XbGh#S1HD+QqFfe3dVm4zqFgRv7V>D(sVK^=WHyl<26&^Y|Z*XODVRUbDJUu9LbYwa@b98cPZf9S1X=QgTAY*TCb95kUWqBqk03%^HI51>6VKOo{F*r0iF*#;1I51&jW-wwfVKz55G%zqQ12-I20~HuLI&W}ga$$6Day>mLV{dMAbRcVGc_u6%V{dMAbRcVGc_t|UBVl1NWHvK4VPr5iF=1pfV>o3qGh;R~Ib|_1GGbz3HDxjbHx^a{6&^Y|Z*XODVRUbDJv}I6Z*FsRAZulLCM+OxbYwa@b98cPZf9S1X=QgQ03%^FG&N!}H#IglIW{meI5lBrF=IGkWi~cBFfuu0H)Lcq12-I20~H=RI&W}ga$$6Day>mLb97`nI&*Y#X>MmZ8VPZ04GB!ChIAJkkHUl>tRs$6nIy!G~WpZJ3Z*o2;V{dMAbRcVGc_u6%V{dMAbRcVGc_t|UBVlDVF=S(AFlIP5Vr677W;SLuV`VZlWHT~0V=!W2WMeo3Hx^a{6&^Y|Z*XODVRUbDJ}6^vZgX@XYh`&REFg1qWI8%?baH8KXJ2+{Wp^n6BVlATIAk$oGd5u{F=070Gc;mjGc!3kI5#*mIASn3W;QwlHyl<26&^Y|Z*XODVRUbDJ}7f^WI8%?baH8KXJ2+{Wp^wfV{dMAbRcVGc_t|UBVl1UH8(XiV`eomVKQZ9He@z2Heq2fGhsMnWjJCqVlX@dHyl<26&N}?Z*XODVRUbDK0PR7Z*FsRAZulLCM+OhZ*FsRAZulLCMf_TVKZYgFfcVUW;SJEWjQcrIW#skGc{p3H8L_aW;HT0VLk&l7FGil9y&U2aAk5~bZ>G#Jt$*uZgX@XYh`&REFg1qWI8%?baH8KXJ2+{Wp^n6BVjf%WidH6GdDIjF=1piV>LK6Hf3REWHmQ6Gi5nqHZ?#4Hyl<26&^Y|Z*XODVRUbDK0PRNbYwa@b98cPZf9S1X=QgTAY*TCb95kUWqBqk03%^xI5{vmHexwuHexe2G&e9ZI5jwCGGt>mH#0OjI5%NJ12-I20~IkGc#m0FflMWGd3|fHDO~iFgP=1G%`3bHZ?UdGFAf>Iyz}|WpZJ3Z*l-5VKgvfG%{jiGcq$XI5T8oH8eRlGGaA1H8Ns3VPrI9WL5(e2s%1qWoKz_C@COgZ*FsR03%^yF*Z3dIW;z7Wi)1HWiewmFf?U2Wi~cpV`O78GdE>M12+a%0~H85I%RHTC@COgZ*FsR03%^JVly{kF)(5@VPDqgFkv_|GB`IdHfA|9I5spfH%L4~VL4_tWiV!8IWbZLHwIP%6$m;yb98bjDIjBSZgX@1BVjOOVK+B9WjHZ5FgP(bGB;*7I5{>oHaIgeI5K23WMfnVHwIh)06IErWqAN&Y+-YAbZ>2JUol@XYh`&ZXmo9C#{(7!Iy!T2b#h~6C@COgZ*FsR03%^xGdDP9VKX!{WMN`AWH(}DVl*%}Gc`9bWMW}8W@KYm12_i90~QiGI$?BQaA9<4D06gVIy!T7a%pa7Uv_C_cPRiPVKOjbFk@z6V>o6rF*Y~0~i?~V{dMAbO2*vH)S$3V`MNeH!x#mGBP$~WoBeIF=b*kFfn5^V`N_gI2XqQ76>{zZ*XODVRUbDAZ~ADWnXq_Wp_MdZ*FsRAZ~ADWj-h=AY*TCb94YBVPiLBHaRyrV>dE1He@$uVP$1FV_`HnVPRxuV`XJFIAH@g2FC*y0y;WxaAk5~bZ>GXZf|5|Uv_C_cRX%yWMw`mDF7p3Ff?R1Ffe2`Wn(!rG%{o|Wo0s9Gd474Ff}tVH#IjiV*@zH0~P{0I$?7tDF7p3VK^~3VKFjhV=yu?GG#SoG%+?}GdN~rW-%}`W;i)HWdk^60~iP(V{dMAbO16jWH&T8F=b(5WM(jBVP#}uIWc5pWo2ezIW;h2V=-p~I0nZ976LjtVRK($a&lpLC@BCVVKg&hV=y>lG&412G-hIEHDzLAV`einW;rl2VKy^2H)#VnX#*GtAY*TCb94YVWn?onVmUNsGdVdqVlXpgVl*{oWHn_lI5RLdGdE;w12_i90~P{0I$?8PVsCG3Wnpe8DF7p3WnnopWi>QqVmUNpHe+HmIAk(3FgG?fIXE+BVKg~2Z38%M0~iP(V{dMAbO1CpWMnfmGd40fFl1$AVlyx|F)}wYH#lZEF*ap5WjSvHI0nZ976LjtVRK((VRU6EDF7p3WMgJIGG#Y2Fg7qbGc++`VlibiV=!T5F=R0^V>32paRWGU0~iP(V{dMAbO2*9HDWnpG-WnnVK6mgVKy-~Vqs%5H#RXaVP-NnW@B>$I0nZ976LjtVRK((VRU6*bZKp6C@BCVVP!EhF*0Q~Heq8qHD+TmV`esCWic{lG&p52Ffd{=VRZvIbpsd(AY*TCb94YVWH(|tWHe-DW@R;IW@9sEF*7+hH!(G4HDxn0HDWV&12_i90~P{0I$?8PW^8X^bZKs9UvO_}ZgeOq03%^GF=R7lGGjF`IW;n2F=IJ6Ic7LAVl^~lHDfYmWn^J_12}mD7ziL^Z*FsR05oG|VPP|2GdVbBVK+8oF*7t{IWRJ1V=-eiH#az8VS58O2FC*y0y;Wjb6;t0bY*8{awsVPBVjpZF*GqbV>4zsIb~#FH#asnWHB)`FgZ11F=1pkIWv6&IDG>c2q0r`ZgX@1G&5plVL3BlW;QTlH8*8rV>viwW?^PEFl1w6W@R~Ie*-uM#{(7uIyzxMmIDF7p3I5jpfH90pmI5s&kHDzXDWHK>kGB`M9H90Y3GBaajfde>!0~iP(V{dMAbO1CrV>LBlW-~Z6F*IgmVly%@H#K83H#lN5G%z({W?_Q^I0nZ976LjtVRK(}VPb4$C@BCVVPi03VK6x}HaKE9Ff=nZF)%P;F=b*fG%{piV`E`sV}%1ag##D}AY*TCb94Yn`m12_i90~P{0I$?8PbZKp6C@BCVVKQVmIA&#LIAu6FGGSq5Fg0T{WjQ!FHfCgHW;bMGWr+hgi31o2AY*TCb94YVWnyMGHDoe5H#lKsF=b&hGGt+9W;A0kHZw9YH)S`A12_i90~QE6I%#t#DIjBSZgX@1BVjNzWieu6WieqeHZ(9fH8Wy2F)%e|Wi&8jH#0LaF*uC_I0nZ976>{zX>(s;a&lpLC@COgZ*FsR03%^zV`F7EHZ?V3Fk@pgG%z(eF=00~H8e3YW@KeDWn?#x12_i90~QE6I%#uXVRCX|d0%g4Uvyz&Y-MvODIjBSZgX@1BVl1MIWjggVK6miW-~T1VPrBhGi5h1Ff%YXW@BYGIWUm}I0nZ976>{zX>(sDaFDIjBSZgX@1BVjo(FlIM3I5{^qGG#C^V>vNqVl`qgH(@ekIAu99Ffx||I0nZ976>{zX>(s@Y;R$7X>Mm(s_Z*6a9Wo~6}b#o|gZ)9a(ba`-PEFfcVZgX@XZf|5|Dkdo)V{dMAbO0k^I5RY5F)(FgWidHqFf?K`WH&c7WHn|oGBjj0Fk(1nodY->#{(7-Iyz}{UubV_Z)at0Wp8zJC~j|LWnXl8aAheVV{dMAbO0k^HDoz4IWc5oH8eG4V`ODyGh$;nW;Zu5He)t3Wn^Jwp944##{(7!Iyz}{UubV_Z)at0Wp8zJC@COgZ*FsR03%^HWHMqmGd3_`GG$>jG%`3cI5{w7F=SN37XJv9IDIjBSZgX@1BVl7TGdVC}V>UEqFflkeG&f~rV>dN8Ffw5^Gc_{zX>(t0b!}p0awsVvV{dMAbO0k^W@BSAHZx*nHZWr|Gh#DlIWjghHexknW??WlGdVM5r2{wy#{(7!Iyz}{UvqSFX>MmIDIjBSZgX@1BVl1VH8D6aG&nagHZo;6G&C_XIWRLZI5aY3IAJ+8I54LJI0nZ976>{zX>(t6VPb4$C@COgZ*FsR03%^FFkvz^Ffn0fH)S+3VlZZ5VlXx^GB7q|WMwyDIXPvi12_i90~QE6I%#uXbZKp6C@COgZ*FsR03%^JGB!42Gc+(`V`DiqVly)|IX5sgWjQfoW-&5kG%{qX12_i90~QE6I%#uXc42IFWhf~iV{dMAbO0k^Wn^S#Ib~&HVq`RBV`VovIb}6AH#KE4WI1FtIb}3qtphj)#{(7!Iy!WDaAhbdAY*TCb94YBVKFdfGdMXgGc{vnF*9LeVlXgaF)=wYGc`D2W;Qc3G_M0V2FC*y1Ufo$Wo9TTASM7KVKq2rWMwokWo9s9F*h<~Gd5yoGC4D2GBq(`GBq(XFtGzT0roHDzWvWier9H#s#hWH~Z5Gc++{V>7n{I0?rC76>{zc42IFWhf~iV{dMAbO0k^Fk&|`H)Jt0HextoIAS(tF*Gt^H8wCcHeoe4FlJ?BxdS)`#{(7!Iy!b?Y;|Q{Wq4s@bSNnxV{dMAbO0k^F=k{oWHmT4Vq{@tVP!UAF)%bVG%#UhV>eV>DtpF=J+8VmM?uWo0)wHDfVlVPj@EGd95kI0?rC77#i*c4>2IbSOr3Zeu1UDIjBSZgX@XCIBO0WHezkGG#R|W;rr5VlZZ9F=b|EW-wtkH!(S6VPZKj!vi=D!vh!*CIDkII5%TrFf=hSF=1q6V=!YfIWc8pWMnpGGC4UmHa5irI1gL^06IEuZ)9ZvV{Bn_b98TQY+o^7F>Y^UWiDuRZEOw%9}qe^Z*XODVRUbDJt%Nta&u*0a%FRMY;-0jDF7p3VKiehV>dT2VK`(mF*Ig5WHm52H8?UdGc#spF=RM2$OAzR4g?4r8F*Gz`IWaO}HZx>7W;r!8Gch$cGSCA-A`S!}1Ufopa&m8SC@CN&03%^#W@2JFVPR%uW-u^jVKHH2IX5{uHZo)~GG#F`Wi~j{13?1P10e+_0AesVIWaUcGB{>AW;Zl5Ha0RiV>vlwW;8W4W-&K6WYhye0}ccq3OYJva&m8SC@COgZ*FsRASM7KVL4$nIWjq7Ffn9iIbkGXV{dMAbRckHa&u*0WpZ+FawaG#AY*TCb94YBVKg&jW;QfsFfueWGh#AfVrFDHWHMtoHe)qqG-ER`Vb}vf1`Y%t0y;WxaAk5~bZ>GXaA9(DWnX1-a&K}bC@BCVVPa!AVKzB4V`4QkI5addVl_E8G-YOHGdN>6F*Y_fIobn34g?G1BVl4@IWlHuVl+5oF=jMmFlI3_Ic794Gcq?YIAkG1BVl1>H83+{F)?L1W;ro7GGt{nV`61yHDxkmIc79CHZu+c9|Af$Vr6G(ZYU`LBVjXUHZ(D1IW#h6F*PwbWM*bzWHx4FV>e`DF*7(hGi2ZcLEr-+2q0r`ZgX@1IWaJ1F*7+cGhr|_G&f-~IWjObFf=kaH#jmmH#jk7;sZej4g?hV{dMAbO0k^W??jDI5II|WHvBkWnwTkGcq@0Wn(sCG%{i^H83|Z<^w?n4g?BBVjW$He@q7IAt?3Ic6|8F*!A4H!(D3W-u~lWM*b#VK(RkLFfY^2q0r`ZgX@1F*P(~GcsahVKZf6H85mjH83+UGdD6eH#K26HDNY2>H|Rr4g?<(Iyzx=UvOb`Xee`ZWI8%?baH8KXJ2+{Wp^n6BVjN(IX5z4V>2;1H8C_dV>32pV`4NgGdMP5I5sn3Gd1i3K@jW%As8TIZ*FsR05LK-HeqEjIAS+sF*G-0Hext4W-(%6FgIpnG%+|fX6^$)77hd-6FNF!bYE~`bZ97ZbYwa@cXM=dX>MmIAmflI5A{6Gh<~oW;8KjG&W^5I5uT8F=I72Vl`p%13?!K1RoMQI&W}ga$$6Da$8*}b97`nI&*Y#X>MmH)LXBHDfVkF=aG1H8?b7IWS^l^aDW<^aCLnAY*TCb94YPWH~W1FgGzdH)Ap~W-~c9VPj%pHDok4IXN|CIALP;13?xJ1RoPRI&W}ga$$6Da$8*}b97`nI(Kt)a%pa7Uv_C_cPRiPVPs`EV>U81WHU8nV`DX9G-hOFV>vfuIc7CsH)c6DX7~d^5%>ck86abCZgX@1H8^22Wo0=xF)}hRG&whAW;rr4W@9p8Vl`toVL4+k`U6214g?4U=C@COgZ*FsR03%^JFgZ73V>LB0FfcbYGdE^9G%z+WGGk?9VK6XdIXPnd13?B31Rn@GI&W}ga$$6Dav)-FZ)_+jAY*TCb94YBVP-ZqWnnisVK!uBI5;siGBIOiI5st5GdD6aIXGo8GX4WW1`Y%t2s%1*bz@^?Wn^V!C@COgZ*FsR03%^yHDYFCWHx1FGdMLcF*Y+fH83(cVq`WsVPrQrVKZX@1VIK41Rn@GI&W}ga$$6Dav)=GZgX@XbZ>2JIy!V=Vr*q5C@COgZ*FsR03%^JWH2>3GB`P9WMO7DV>f1EH!(ReHexa{VKQbpV>xC51VIK41RnxAI&W}ga$$6Dav*eXZEQL^bYWs_WhN*o03%^FWid2mGBRW|WHvZrGB;x}F*h+WVKXx^Ib>rtVrDr61VIi29|Af$Z*XODVRUbDAarkSY&tr0VPb4$CMGB;03%^IWMg45HZU+aI5s&oG-5M2VmUcsG+{JmIb&isH)Avg1VIi29|Sr&bYWs_Whf~iCIBO0G&f{2WnpA8FkxjmWHB~4F)}eQV>UB0F*#v2VKFu`2n0a_2m~PoCIB}#Vl+1}Vm3BpWHc}_VK8AiGC43XHe_TsI5=WBI5G+ZK?4p19|}4;bYWs_Whf~iV{dMAbRZ@GBVjo?GiEhpH92E6VlgmgI5#mfIA%CuVq!R9F*am1F=Pw`K?qy`06IEwVRCb2Uvg!0b!>D1V{Bn_b98TQY+o^7F>qmWb7fy&a%FRMY;-PYbZu;Y1ROd#c4=jIWn^D;d2nR_BVjQ$H85s0Wi>Z7GcsmmFf(E{V>4wrWH>iCFg0T^Ghu!N93eV7Z*XODVRUbDJUl3KbYwa@Z*z2VWnpb5EFfcVZgX@XZf|5|Uv_C_cP1$SBVjQ&FflMWW-wwmH#j&rW;HZoGG=3BVmM}HWiVl4IWQ0eJ|BJr90)o(Zf|5|C@COgZ*FsR03%^$Vl*;hVK!!DWMpPyG%z<}WHUEnHaRz8G%zT4F)=e{VmKBAJ`8>Y91c1Y91=P@Zf|5|Uv_C_cPL|TZgX@XZf|5|Uv_C_cP1$SBVjgXGGR1hF*!LhGdD9hHDNX}H#9L}VlyydHZ)>2FfbYfJ`jEc91S`;Zf|5|Uv_C_cPMUeWMyA=X=QgNCMf_TVK+H2IWaUdGG#Y8V=y;kG-6^nH!v_}G&EskW@0#GHXH;#3w{I~2s%1%aAk5~bZ>GXVsCG3C@COgZ*FsR03%^yIAvupW@ckzIXO8tFfm~{VlXl^H)Ak4IbmTrGBq$B1U?3S1RNAPI&W}ga$$6Day=+xZ*FsRAZ~ADWnXq_Wp^eiASM7KVP;`8H8o=}Gcz|~HfCisWHDo5H8V41F)%kZFk)djWgrAT5`F|64>~$;aAk5~bZ>G!C~j|LWnXq_Wp^efDIg{QBVjXSWH>Q7HDxn7H!)>mVlpu?Fk(0{GB-FgV`gSCGd3awJ`H{Z949(DZ*XODVRUbDAw4K#Z*FsRAZ~ADWnXq_Wp^elAY*TCb95kXZ)9a(c4=jIJXAg=DF7p3Gh|~pGGaM3I5atAH)S?rWH>ouH8eRkW@R}xVr5}rBm_PsegqsRIy!G~WpZJ3Z*o07C}VGKb95kXZ)9a(c4=jICM+OhZ*FsRAZ~ADWnXq_Wp_MOJ|-yuBVjQ)F*q_XWH2)@Ff%n|H8wP6WiUBrHDzKlH8Em2GB+j!J|%tx93VP6Z*XODVRUbDJv}I6Z*FsRAZ~ADWnXq_Wp^elAY*TCb95kdVPb4$CMf_TVK+52Vq{`rH#j&pIbmjHHezFAVl-kkF=a4eH#cQ8H7Eo=9)1KIAUZm4aAk5~bZ>G!Jt$*uZgX@XZf|5|Uv_C_cP1<#V{dMAbRc1Ja$$KUDF7p3Gh#D2VP#}uVPs)8GBPn?G-We5H8)}~W-u}{H8?agDg-_regqsTIy!G~WpZJ3Z*o07C}VGKb95kXZ)9a(c4=jICM+OhZ*FsRAarkSY&tr2VQh6}JXAg=DF7p3WI1MJIW{;lHfCdGWi&HmWHDu7F=Jz9Hf1t0V>mfAECfC$egqsGIy!G~WpZJ3Z*o07C}VGKb95kXZ)9a(c4=jICM+OhZ*FsRAXFwP03%^EWMW}6Wn?!qH8wXeG&VLlWi&B2HD+NqV>o6tV>2`^1U?#m1ROIuI&W}ga$$6Day>mLV{dMAbRceTWMyA=X=QgNEFfcVZgX@Xb97`nI%#fcbZKF1X?kUHUuG!Jt$*uZgX@XZf|5|Uv_C_cP1<#V{dMAbRctdWI8%_Wn*-2ay(Q%CMf_TVPrI7G%++ZW;if2Gh;V6Wi>Q0FlIL}F=aJjWjAFrFfs%_Cw>GR7&A`IXGo8H)J$sIW;z9H8cc17JdXA89F*)bYE~`bZ97ZbYwa@cXM=dX>MmNnWi&NmFf(OgWj8oxVK@Xn7JdXA89F*|aAk5~bZ>H7T_|&OWI8%`b98cPZf9S1X=QgQAY*TCb94YBVKX%_GBIT~H8(XlWMeR5Wi>E0IWaahGcsZ}IbkH7T_|&DdSzd9DIjBSZgX@1BVjdUF*9N?GB#yqV`MWiI59FbF*RjjWHT^jWnwltWMVu7J`8>Y90)o(VRI-cAY*TCb94YBVKrl9HZeJ7GC4A4IWcBqIb<|3H)A$2IWRS4VK_1{G(H4A27Uw_2s%1pb6;U{a$$KWDIjBSZgX@1BVjl-IWuH3GC5>1GdW@~HDqHrF=RDlGGsY7V`Vd8F=jvnJ_ddS90)o(VRK(%Z*Od6VQwfXAY*TCb94YBVL4`HV>mfDVK-)BI5=cvVq!BnHfCirVlrVkF=IJ2H9`bF27Uw_2s%1pb6;d(bY&DaFDIjBSZgX@1BVjdSV`4L5V=!f8V`DWjHf3gHVKp;mWH2%^Ff}(aI5I{AJ_ddS90)o(VRK(*Y;R$7X>MmDaFDIjBSZgX@1BVjo-FgQ11Gc__YGh{U}V_`QoW->BiGd3|WGcjUhH)T)+J_ddS90)o(X>%wkAY*TCb94YBVKOmfH)Az5VKXyfVKHMkHaKKtWi?}BVPQ9AH8f>oGExLS27Uw_2s%1xb6;U{a$$KWDIjBSZgX@1BVjl(s;a&lpLUvFk#bYWs_WpgMgAY*TCb94YBVK!r9G&MP5WivK5IXGowHDNhnV=!beFk&<`I51^lWmW_}27Uw_2s%1xb6;X_Z){~@ZYU`rV{dMAbO0k^VK-%EFk~@iGdVV8F)}zaV>DqgF=Q||VmUN0FgQ6kSOh)>egqr{Iyz}{Uu0o)Whf~iV{dMAbO0k^G-P8pV`eyEH8*5pH#25oH#s?BIWswCH(_IBH8eS7S_D1@egqr{Iyz}{Uu0o)WnXk@ZDlAaAY*TCb94YBVKrehI51{6H#1>nGC470IW#h1Ff(N|HDNe7V>vWpFkA#a27Uw_2s%1xb6;j`Z(($4Zf9R`Z)t9HC@COgZ*FsR03%^EGi6~jWo2YHVlZYgGc#skH)J<8GGRG0GBRT~H8^En1U?3S1RNkbI%#uXXm4$AXJu|>Z*_AhZf|5|UvznJWh@|eX=Qh1WM6c7aAhhcDIjBSZgX@1BVjUOGC43ZFg7$aGBIW}FfnB~FlAvjI5%TuW;HW5WMN(s_Z*6a9Wo~6}b#o|gZ)9a(ba`-PDIjBSZgX@1BVlG`Fkxb3H8Eu{Wic=~Vlyx{Vr4R6Gi7BtH8wG0V_{+hJ`a8b90)o(X>(s_Z*6a9Wo~6}b#o{wAY*TCb94YBVKO;mI5K27Gh#7hHZ*21F*aplG%{v6HD+WpH)S(4He>`o27Uw_2s%1xb6;t0bY*8{awsVvV{dMAbO0k^VmV_tGc{ynW-u`~W->J}WH>ZtVKrnmH#0V6I5jdbW&}P4egqr{Iyz}{Uv716Vr6nDDIjBSZgX@1BVjQxH#ajfGdD0}HZn9YGGZ|?Ffm~_IAu38I5K8rIAUl7J_ddS90)o(X>(t5baH8KXDBHkV{dMAbO0k^H#uT7H!?OjF*P-0IW;w6IAt=dWjQ!AY6Lz8egqr{Iyz}{Uvyz&Y-K1ZAY*TCb94YBVK*>hH8wY8VKq21V>CB1W@R}wVK_NrHDWk4GGk?BHf#hw27Uw_2s%1xb6<36ZDlAaAY*TCb94YBVL3QqHezElGi5VkVKp~1V>35lFg7_cGB#mjW-wwnV{QaK27Uw_2s%1xb6<90Y;|QQDIjBSZgX@1BVl1RIA%CxWi&TpWi@6sGdD9hVliPbG-NkrIb<+3VPM$pHZ(FhGhsJnWnwZgFfch`G&nS3Gc;s3V>4lN1U?3S1RMxDI(A`fb!8|iAY*TCb94YBVPax6F=06|GBh?aVKOy1GdDS6IW{D$lG+|_9VK6y1G&DA4Vly~2WOxKV27Uw_3pzS>VQh6}UvF|KR3;`VAY*TCb94YBVKXr_Wi@0rHa28qWMMNjIWuNvIbmTkV=y=|HfA+5V|oNW34R0|4mvt^X>)0GC`NT|VGZB42cGZEPrGZ*FsRAY*7@aw;q!b7^{IUvwz|BVjZ!F*P$VWi>W1V=`o8H8e0cGC5&pFfnB@Fk&)cH#C0)Kof%m9vC`0Z*XODVRUbDA|hXOZ*6QSV{dMAbRc7BVRATMbSf+$b7^{IUvwz|BVl4?_BVQg~%Uol@XY-x05a$#(9E@*UZYyuzwBmyk~G66RMJpn=kNdrs;Pz6*0S^!=EW&vpcaByK~Wo}_@Wpi+0V`XP@Z*_2EY+-YAb98cbV{~V?Hd2nT9WoBe)a%O34WoC75V`OD!X>Mg@Zgp*CZgp)Sc42IGVRB<{ZewL|bN~PV'); diff --git a/v3.0.1/structtoml_1_1date.html b/v3.0.1/structtoml_1_1date.html new file mode 100644 index 00000000..f323c1b5 --- /dev/null +++ b/v3.0.1/structtoml_1_1date.html @@ -0,0 +1,216 @@ + + + + toml::date struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date struct +

                                                                                                                              +

                                                                                                                              A local date.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + date() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Default constructor. Does not initialize the members.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Y, typename M, typename D>
                                                                                                                              + date(Y y, + M m, + D d) constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs a date from individual date component values.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              uint16_t year +
                                                                                                                              +
                                                                                                                              The year component.
                                                                                                                              +
                                                                                                                              uint8_t month +
                                                                                                                              +
                                                                                                                              The month component, from 1 - 12.
                                                                                                                              +
                                                                                                                              uint8_t day +
                                                                                                                              +
                                                                                                                              The day component, from 1 - 31.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const date& lhs, + const date& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(const date& lhs, + const date& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const date& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a date out to a stream as YYYY-MM-DD (per RFC 3339).
                                                                                                                              +
                                                                                                                              + auto operator<=(const date& lhs, + const date& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const date& lhs, + const date& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(const date& lhs, + const date& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(const date& lhs, + const date& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const date& rhs) +

                                                                                                                              +

                                                                                                                              Prints a date out to a stream as YYYY-MM-DD (per RFC 3339).

                                                                                                                              +
                                                                                                                              std::cout << toml::date{ 1987, 3, 16 } << "\n";
                                                                                                                              1987-03-16
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.1/structtoml_1_1date__time.html b/v3.0.1/structtoml_1_1date__time.html new file mode 100644 index 00000000..48e03470 --- /dev/null +++ b/v3.0.1/structtoml_1_1date__time.html @@ -0,0 +1,338 @@ + + + + toml::date_time struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date_time struct +

                                                                                                                              +

                                                                                                                              A date-time.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + date_time() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Default constructor. Does not initialize the members.
                                                                                                                              +
                                                                                                                              + date_time(const toml::date& d, + const toml::time& t) constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs a local date-time.
                                                                                                                              +
                                                                                                                              + date_time(const toml::date& d) explicit constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs a local date-time.
                                                                                                                              +
                                                                                                                              + date_time(const toml::time& t) explicit constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs a local date-time.
                                                                                                                              +
                                                                                                                              + date_time(const toml::date& d, + const toml::time& t, + const toml::time_offset& off) constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs an offset date-time.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto is_local() const -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this date_time does not contain timezone offset information.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + toml::date date +
                                                                                                                              +
                                                                                                                              The date component.
                                                                                                                              +
                                                                                                                              + toml::time time +
                                                                                                                              +
                                                                                                                              The time component.
                                                                                                                              +
                                                                                                                              + optional<toml::time_offset> offset +
                                                                                                                              +
                                                                                                                              The timezone offset component.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const date_time& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a date_time out to a stream in RFC 3339 format.
                                                                                                                              +
                                                                                                                              + auto operator<=(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date_time::date_time(const toml::date& d, + const toml::time& t) constexpr noexcept +

                                                                                                                              +

                                                                                                                              Constructs a local date-time.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              dThe date component.
                                                                                                                              tThe time component.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date_time::date_time(const toml::date& d) explicit constexpr noexcept +

                                                                                                                              +

                                                                                                                              Constructs a local date-time.

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              dThe date component.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date_time::date_time(const toml::time& t) explicit constexpr noexcept +

                                                                                                                              +

                                                                                                                              Constructs a local date-time.

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              tThe time component.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date_time::date_time(const toml::date& d, + const toml::time& t, + const toml::time_offset& off) constexpr noexcept +

                                                                                                                              +

                                                                                                                              Constructs an offset date-time.

                                                                                                                              + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              dThe date component.
                                                                                                                              tThe time component.
                                                                                                                              offThe timezone offset.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const date_time& rhs) +

                                                                                                                              +

                                                                                                                              Prints a date_time out to a stream in RFC 3339 format.

                                                                                                                              +
                                                                                                                              std::cout << toml::date_time{ { 1987, 3, 16 }, { 10, 20, 34 } } << "\n";
                                                                                                                              +std::cout << toml::date_time{ { 1987, 3, 16 }, { 10, 20, 34 }, { -2, -30 } } << "\n";
                                                                                                                              +std::cout << toml::date_time{ { 1987, 3, 16 }, { 10, 20, 34 }, {} } << "\n";
                                                                                                                              1987-03-16T10:20:34
                                                                                                                              +1987-03-16T10:20:34-02:30
                                                                                                                              +1987-03-16T10:20:34Z
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Variable documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + optional<toml::time_offset> toml::date_time::offset +

                                                                                                                              +

                                                                                                                              The timezone offset component.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.1/structtoml_1_1inserter.html b/v3.0.1/structtoml_1_1inserter.html new file mode 100644 index 00000000..521aefb1 --- /dev/null +++ b/v3.0.1/structtoml_1_1inserter.html @@ -0,0 +1,129 @@ + + + + toml::inserter struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + toml::inserter struct +

                                                                                                                              +

                                                                                                                              Helper class for suppressing move-construction in single-argument array constructors.

                                                                                                                              +
                                                                                                                              // desired result: [ [ 42 ] ]
                                                                                                                              +auto bad = toml::array{ toml::array{ 42 } }
                                                                                                                              +auto good = toml::array{ toml::inserter{ toml::array{ 42 } } }
                                                                                                                              +std::cout << "bad: " << bad << "\n";
                                                                                                                              +std::cout << "good:" << good << "\n";
                                                                                                                              bad:  [ 42 ]
                                                                                                                              +good: [ [ 42 ] ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.1/structtoml_1_1source__position.html b/v3.0.1/structtoml_1_1source__position.html new file mode 100644 index 00000000..4c7d067c --- /dev/null +++ b/v3.0.1/structtoml_1_1source__position.html @@ -0,0 +1,244 @@ + + + + toml::source_position struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::source_position struct +

                                                                                                                              +

                                                                                                                              A source document line-and-column pair.

                                                                                                                              + +
                                                                                                                              auto table = toml::parse_file("config.toml"sv);
                                                                                                                              +std::cout << "The node 'description' was defined at "sv
                                                                                                                              +    << table.get("description")->source().begin()
                                                                                                                              +    << "\n";
                                                                                                                              The value 'description' was defined at line 7, column 15
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + operator bool() const explicit constexpr noexcept +
                                                                                                                              +
                                                                                                                              Returns true if both line and column numbers are non-zero.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + source_index line +
                                                                                                                              +
                                                                                                                              The line number.
                                                                                                                              +
                                                                                                                              + source_index column +
                                                                                                                              +
                                                                                                                              The column number.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const source_position& lhs, + const source_position& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Returns true if two source_positions do not represent the same line and column.
                                                                                                                              +
                                                                                                                              + auto operator<(const source_position& lhs, + const source_position& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the LHS position is before the RHS position.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const source_position& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a source_position to a stream.
                                                                                                                              +
                                                                                                                              + auto operator<=(const source_position& lhs, + const source_position& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the LHS position is before the RHS position or equal to it.
                                                                                                                              +
                                                                                                                              + auto operator==(const source_position& lhs, + const source_position& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Returns true if two source_positions represent the same line and column.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const source_position& rhs) +

                                                                                                                              +

                                                                                                                              Prints a source_position to a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe stream.
                                                                                                                              rhsThe source_position.
                                                                                                                              ReturnsThe input stream.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse("bar = 42"sv);
                                                                                                                              +
                                                                                                                              +std::cout << "The value for 'bar' was found on "sv
                                                                                                                              +    << tbl.get("bar")->source().begin()
                                                                                                                              +    << "\n";
                                                                                                                              The value for 'bar' was found on line 1, column 7
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Variable documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + source_index toml::source_position::line +

                                                                                                                              +

                                                                                                                              The line number.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + source_index toml::source_position::column +

                                                                                                                              +

                                                                                                                              The column number.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.1/structtoml_1_1source__region.html b/v3.0.1/structtoml_1_1source__region.html new file mode 100644 index 00000000..75e8e755 --- /dev/null +++ b/v3.0.1/structtoml_1_1source__region.html @@ -0,0 +1,233 @@ + + + + toml::source_region struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::source_region struct +

                                                                                                                              +

                                                                                                                              A source document region.

                                                                                                                              + +
                                                                                                                              auto tbl = toml::parse_file("config.toml"sv);
                                                                                                                              +if (auto server = tbl.get("server"))
                                                                                                                              +{
                                                                                                                              +    std::cout << "begin: "sv << server->source().begin << "\n";
                                                                                                                              +    std::cout << "end: "sv << server->source().end << "\n";
                                                                                                                              +    std::cout << "path: "sv << *server->source().path << "\n";
                                                                                                                              +}
                                                                                                                              begin: line 3, column 1
                                                                                                                              +end: line 3, column 22
                                                                                                                              +path: config.toml
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto wide_path() const -> optional<std::wstring> +
                                                                                                                              +
                                                                                                                              The path to the corresponding source document as a wide-string.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + source_position begin +
                                                                                                                              +
                                                                                                                              The beginning of the region (inclusive).
                                                                                                                              +
                                                                                                                              + source_position end +
                                                                                                                              +
                                                                                                                              The end of the region (exclusive).
                                                                                                                              +
                                                                                                                              + source_path_ptr path +
                                                                                                                              +
                                                                                                                              The path to the corresponding source document.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const source_region& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a source_region to a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + optional<std::wstring> toml::source_region::wide_path() const +

                                                                                                                              +

                                                                                                                              The path to the corresponding source document as a wide-string.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const source_region& rhs) +

                                                                                                                              +

                                                                                                                              Prints a source_region to a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe stream.
                                                                                                                              rhsThe source_position.
                                                                                                                              ReturnsThe input stream.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse("bar = 42", "config.toml");
                                                                                                                              +
                                                                                                                              +std::cout << "The value for 'bar' was found on "sv
                                                                                                                              +    << tbl.get("bar")->source()
                                                                                                                              +    << "\n";
                                                                                                                              The value for 'bar' was found on line 1, column 7 of 'config.toml'
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Variable documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + source_path_ptr toml::source_region::path +

                                                                                                                              +

                                                                                                                              The path to the corresponding source document.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.1/structtoml_1_1time.html b/v3.0.1/structtoml_1_1time.html new file mode 100644 index 00000000..50423a7b --- /dev/null +++ b/v3.0.1/structtoml_1_1time.html @@ -0,0 +1,222 @@ + + + + toml::time struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::time struct +

                                                                                                                              +

                                                                                                                              A local time-of-day.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + time() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Default constructor. Does not initialize the members.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename H, typename M, typename S = uint8_t, typename NS = uint32_t>
                                                                                                                              + time(H h, + M m, + S s = S{}, + NS ns = NS{}) constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs a time from individual time component values.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              uint8_t hour +
                                                                                                                              +
                                                                                                                              The hour component, from 0 - 23.
                                                                                                                              +
                                                                                                                              uint8_t minute +
                                                                                                                              +
                                                                                                                              The minute component, from 0 - 59.
                                                                                                                              +
                                                                                                                              uint8_t second +
                                                                                                                              +
                                                                                                                              The second component, from 0 - 59.
                                                                                                                              +
                                                                                                                              uint32_t nanosecond +
                                                                                                                              +
                                                                                                                              The fractional nanoseconds component, from 0 - 999999999.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const time& lhs, + const time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(const time& lhs, + const time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const time& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a time out to a stream as HH:MM:SS.FFFFFF (per RFC 3339).
                                                                                                                              +
                                                                                                                              + auto operator<=(const time& lhs, + const time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const time& lhs, + const time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(const time& lhs, + const time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(const time& lhs, + const time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const time& rhs) +

                                                                                                                              +

                                                                                                                              Prints a time out to a stream as HH:MM:SS.FFFFFF (per RFC 3339).

                                                                                                                              +
                                                                                                                              std::cout << toml::time{ 10, 20, 34 } << "\n";
                                                                                                                              +std::cout << toml::time{ 10, 20, 34, 500000000 } << "\n";
                                                                                                                              10:20:34
                                                                                                                              +10:20:34.5
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.1/structtoml_1_1time__offset.html b/v3.0.1/structtoml_1_1time__offset.html new file mode 100644 index 00000000..9dd1cf60 --- /dev/null +++ b/v3.0.1/structtoml_1_1time__offset.html @@ -0,0 +1,262 @@ + + + + toml::time_offset struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::time_offset struct +

                                                                                                                              +

                                                                                                                              A timezone offset.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + time_offset() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Default constructor. Does not initialize the members.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename H, typename M>
                                                                                                                              + time_offset(H h, + M m) constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs a timezone offset from individual hour and minute totals.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              int16_t minutes +
                                                                                                                              +
                                                                                                                              Offset from UTC+0, in minutes.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const time_offset& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a time_offset out to a stream as +-HH:MM or Z (per RFC 3339).
                                                                                                                              +
                                                                                                                              + auto operator<=(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename H, typename M> +
                                                                                                                              + toml::time_offset::time_offset(H h, + M m) constexpr noexcept +

                                                                                                                              +

                                                                                                                              Constructs a timezone offset from individual hour and minute totals.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              HAn integral type.
                                                                                                                              MAn integral type.
                                                                                                                              Parameters
                                                                                                                              hThe total hours.
                                                                                                                              mThe total minutes.
                                                                                                                              +
                                                                                                                              std::cout << toml::time_offset{ 2, 30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{ -2, 30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{ -2, -30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{ 0, 0 } << "\n";
                                                                                                                              +02:30
                                                                                                                              +-01:30
                                                                                                                              +-02:30
                                                                                                                              +Z
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const time_offset& rhs) +

                                                                                                                              +

                                                                                                                              Prints a time_offset out to a stream as +-HH:MM or Z (per RFC 3339).

                                                                                                                              +
                                                                                                                              std::cout << toml::time_offset{ 2, 30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{ 2, -30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{} << "\n";
                                                                                                                              +std::cout << toml::time_offset{ -2, 30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{ -2, -30 } << "\n";
                                                                                                                              +02:30
                                                                                                                              ++01:30
                                                                                                                              +Z
                                                                                                                              +-01:30
                                                                                                                              +-02:30
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.0.1/toml++.tagfile.xml b/v3.0.1/toml++.tagfile.xml new file mode 100644 index 00000000..e75c3d87 --- /dev/null +++ b/v3.0.1/toml++.tagfile.xml @@ -0,0 +1,7785 @@ + + + + toml::array + classtoml_1_1array.html + toml::node + + + array + classtoml_1_1array.html + a0955d4edc2415406a5f7c6c43fd3a606 + () noexcept=default + + + + array + classtoml_1_1array.html + a3bd4611c96ce97d7e6991b7a4312370d + (const array &) + + + + array + classtoml_1_1array.html + ac552a63c329598d671e6531b0cef957b + (array &&other) noexcept + + + + array + classtoml_1_1array.html + acb17a58f1fbdb12aeaf8f7d1e8093e5c + (ElemType &&val, ElemTypes &&... vals) + + + array & + operator= + classtoml_1_1array.html + a37f428f585188ce70c82f1df6935f5d5 + (const array &) + + + array & + operator= + classtoml_1_1array.html + a7e5e45777e08941abb2069a5991e1f31 + (array &&rhs) noexcept + + + node_type + type + classtoml_1_1array.html + a352b6a99235216f070b5e97976663571 + () const noexcept final + + + bool + is_homogeneous + classtoml_1_1array.html + a79a1fe77c03b33ea2b9d8d0a859c93e6 + (node_type ntype) const noexcept final + + + bool + is_homogeneous + classtoml_1_1array.html + ae4e986f9fdb23090f9a0b3716a63e8bb + (node_type ntype, node *&first_nonmatch) noexcept final + + + bool + is_homogeneous + classtoml_1_1array.html + ad00610c0e18f02516de92b623dc4d0f5 + (node_type ntype, const node *&first_nonmatch) const noexcept final + + + bool + is_table + classtoml_1_1array.html + ad7ed894e54ad3aaef6d7693c26b887d9 + () const noexcept final + + + bool + is_array + classtoml_1_1array.html + a1f1e4d93f52778613d0a7bcf74a23427 + () const noexcept final + + + bool + is_array_of_tables + classtoml_1_1array.html + a87cd0dcbebcfd661a0ae387255c0605e + () const noexcept final + + + bool + is_value + classtoml_1_1array.html + acc533a7fa1ea5c68fce6f4fea5bc419c + () const noexcept final + + + bool + is_string + classtoml_1_1array.html + aeefdd01a2ce3f6bcd7aecfabd363d06b + () const noexcept final + + + bool + is_integer + classtoml_1_1array.html + a78db4190977034c4364674a2958855d4 + () const noexcept final + + + bool + is_floating_point + classtoml_1_1array.html + ab758b93eedbdc27112681f26440bee03 + () const noexcept final + + + bool + is_number + classtoml_1_1array.html + aa034144c580b3d8a4727c0cfbfebc214 + () const noexcept final + + + bool + is_boolean + classtoml_1_1array.html + abbecf0a51aa3e175bc5748ccf71063d8 + () const noexcept final + + + bool + is_date + classtoml_1_1array.html + a792dc3fd7105185415925d4f9ab3ca1d + () const noexcept final + + + bool + is_time + classtoml_1_1array.html + a2d2fc80512d08af7a934a6d02c7bf506 + () const noexcept final + + + bool + is_date_time + classtoml_1_1array.html + ae844f53a9604fb42f185a91616a72cbd + () const noexcept final + + + table * + as_table + classtoml_1_1array.html + a95985d66ecd4abf6c5822cbd0d239582 + () noexcept final + + + array * + as_array + classtoml_1_1array.html + a97b772796c962a635e8d5c50e7c03b3a + () noexcept final + + + toml::value< std::string > * + as_string + classtoml_1_1array.html + a5d4d3b502ef2e33107eb1d682b282c75 + () noexcept final + + + toml::value< int64_t > * + as_integer + classtoml_1_1array.html + a41d03d31a6ab168bc4b50046c4bbb50f + () noexcept final + + + toml::value< double > * + as_floating_point + classtoml_1_1array.html + a5e6ed524c4548fdd2131dcbb38b8c766 + () noexcept final + + + toml::value< bool > * + as_boolean + classtoml_1_1array.html + ac1989a2c4d50f8493f97c23ee22e15e6 + () noexcept final + + + toml::value< date > * + as_date + classtoml_1_1array.html + a78a9e7b1d44f90eb55403e54d6d31e2b + () noexcept final + + + toml::value< time > * + as_time + classtoml_1_1array.html + a3dedcb2261a528c59454fc9e0bb7c9fb + () noexcept final + + + toml::value< date_time > * + as_date_time + classtoml_1_1array.html + a58c350366cbbab3eb430751212ba9b18 + () noexcept final + + + const table * + as_table + classtoml_1_1array.html + ae45534b573d10c7e2e1c5624153608f9 + () const noexcept final + + + const array * + as_array + classtoml_1_1array.html + a8007db93bdeb82c8c77965ff72056f6b + () const noexcept final + + + const toml::value< std::string > * + as_string + classtoml_1_1array.html + a943378ff5912e9c732b4dee12d4bf2de + () const noexcept final + + + const toml::value< int64_t > * + as_integer + classtoml_1_1array.html + a79871c2b52557b74da8302925b5624ee + () const noexcept final + + + const toml::value< double > * + as_floating_point + classtoml_1_1array.html + a8f5736e45881203e362bcbb43ed90093 + () const noexcept final + + + const toml::value< bool > * + as_boolean + classtoml_1_1array.html + a48206827982b5cffe51662adfc3aec2b + () const noexcept final + + + const toml::value< date > * + as_date + classtoml_1_1array.html + afc3f86ca86c60deda39e69d24abcacca + () const noexcept final + + + const toml::value< time > * + as_time + classtoml_1_1array.html + a7708feaac3561b836e0789db0dfa6db4 + () const noexcept final + + + const toml::value< date_time > * + as_date_time + classtoml_1_1array.html + aa8fb689b36f44a4fa7c0ffccff20dbd9 + () const noexcept final + + + node * + get + classtoml_1_1array.html + a10664e00054ea4021fec5144b69b8792 + (size_t index) noexcept + + + const node * + get + classtoml_1_1array.html + a44db509dce6b7b77e563c822a5936abe + (size_t index) const noexcept + + + impl::wrap_node< ElemType > * + get_as + classtoml_1_1array.html + a5c2f4624498cba9e1e467b0eb2e9046e + (size_t index) noexcept + + + const impl::wrap_node< ElemType > * + get_as + classtoml_1_1array.html + ae47ca1cc4c61e94fed30aea72ca8d268 + (size_t index) const noexcept + + + node & + operator[] + classtoml_1_1array.html + a853bad0297ca4dcee57c97da2fe318e7 + (size_t index) noexcept + + + const node & + operator[] + classtoml_1_1array.html + ae9f72a1b877f2ac66327a152d55aa9c6 + (size_t index) const noexcept + + + node & + at + classtoml_1_1array.html + aeade4e0cafa3f57b4800e72baa843b1e + (size_t index) + + + const node & + at + classtoml_1_1array.html + a8a5957e22aa2d0f4f9e6feaf9bfffa55 + (size_t index) const + + + node & + front + classtoml_1_1array.html + a9c78848129a2a703c154e7cbe1a973d3 + () noexcept + + + const node & + front + classtoml_1_1array.html + a5ba3af18c63546da6f9d2ac3b5b77f64 + () const noexcept + + + node & + back + classtoml_1_1array.html + a4c58dea5e8795e4b9f8df4f1e1473204 + () noexcept + + + const node & + back + classtoml_1_1array.html + ac7652c1ab60af2ca1c7d52f0658639b4 + () const noexcept + + + bool + empty + classtoml_1_1array.html + a5d527ea6bfddad1025e90e4363c822cc + () const noexcept + + + size_t + size + classtoml_1_1array.html + af81d7b6a1257ad766a47d9276855a7c9 + () const noexcept + + + size_t + max_size + classtoml_1_1array.html + ae65a76add6d756fc7ba8f12a5aad983c + () const noexcept + + + size_t + capacity + classtoml_1_1array.html + a02b773a1ff337692e78da429030c1610 + () const noexcept + + + void + reserve + classtoml_1_1array.html + a1ba073adc52c3df5ad29cfd7e5daa1d5 + (size_t new_capacity) + + + void + shrink_to_fit + classtoml_1_1array.html + a718c2031ead428aa52912741f6d094aa + () + + + void + truncate + classtoml_1_1array.html + a6e3ac9962c706a88c1001ff83a4084f3 + (size_t new_size) + + + void + resize + classtoml_1_1array.html + ab1aca2337ffce7e583a2cf303f16259f + (size_t new_size, ElemType &&default_init_val, value_flags default_init_flags=preserve_source_value_flags) + + + iterator + erase + classtoml_1_1array.html + a22389a9ed9444fe52be10c4acbdec908 + (const_iterator pos) noexcept + + + iterator + erase + classtoml_1_1array.html + a723388860d72c9a162137d0293366fb2 + (const_iterator first, const_iterator last) noexcept + + + array & + flatten + classtoml_1_1array.html + aa2a21958705629bde15aafae9598a2ec + () & + + + array && + flatten + classtoml_1_1array.html + ad307bea17e7640c57715d67ab8a777d4 + () && + + + array & + prune + classtoml_1_1array.html + ae548cf1dc26ade60733548a00a39b175 + (bool recursive=true) &noexcept + + + array && + prune + classtoml_1_1array.html + a6fc918a151ada40c713d6855af3021c2 + (bool recursive=true) &&noexcept + + + void + pop_back + classtoml_1_1array.html + af99d72e29cef84f736d91d627b47a1dc + () noexcept + + + void + clear + classtoml_1_1array.html + adaa65bf63f29f898c27423306c165d68 + () noexcept + + + iterator + insert + classtoml_1_1array.html + a17c7e34b433ea8907186dbb1788c9d37 + (const_iterator pos, ElemType &&val, value_flags flags=preserve_source_value_flags) + + + iterator + insert + classtoml_1_1array.html + a55a9e6e742e556ea07573d29c23ce7df + (const_iterator pos, size_t count, ElemType &&val, value_flags flags=preserve_source_value_flags) + + + iterator + insert + classtoml_1_1array.html + a60a0d39bfd8721cef23e155f5504d54d + (const_iterator pos, Iter first, Iter last, value_flags flags=preserve_source_value_flags) + + + iterator + insert + classtoml_1_1array.html + a1baecd5d579afb508886572674b89781 + (const_iterator pos, std::initializer_list< ElemType > ilist, value_flags flags=preserve_source_value_flags) + + + iterator + emplace + classtoml_1_1array.html + a4110b96386b33097a255f3694ac01d4a + (const_iterator pos, Args &&... args) + + + iterator + replace + classtoml_1_1array.html + a37a8a283e6c1cbeef757b2e59489ee6c + (const_iterator pos, ElemType &&val, value_flags flags=preserve_source_value_flags) + + + void + push_back + classtoml_1_1array.html + ab7188537b351ef3a756b54b83e4b05b3 + (ElemType &&val, value_flags flags=preserve_source_value_flags) + + + decltype(auto) + emplace_back + classtoml_1_1array.html + ae9ceab13446e118333e3a486e81c2448 + (ElemArgs &&... args) + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + friend std::ostream & + operator<< + classtoml_1_1array.html + af1fae5bb4ad4da74199f0a77170c505e + (std::ostream &lhs, const array &rhs) + + + friend bool + operator== + classtoml_1_1array.html + a06cf25e3f80c98d88e041ef9823976c0 + (const array &lhs, const array &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1array.html + af06c7437a0946a9d5e093d903b59f6a4 + (const array &lhs, const array &rhs) noexcept + + + friend bool + operator== + classtoml_1_1array.html + ab87e435c5a41140e60cd2e703df96fbd + (const array &lhs, const std::initializer_list< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1array.html + a5b3c615e4ba8fd780b966f175070b554 + (const array &lhs, const std::vector< T > &rhs) noexcept + + + array_iterator + iterator + classtoml_1_1array.html + a62a18471ca7c5b06204d2e26c963f833 + + + + const_array_iterator + const_iterator + classtoml_1_1array.html + adfd38318d3390a76f073a83fd2f2aa21 + + + + iterator + begin + classtoml_1_1array.html + a8ee8179ddf1cb44fdf0b8d0700f55c2f + () noexcept + + + const_iterator + begin + classtoml_1_1array.html + a7cff1526a6d1f6157e0eab231b4757aa + () const noexcept + + + const_iterator + cbegin + classtoml_1_1array.html + a56d1cba006dccc5ad9982b58a8b2ddc1 + () const noexcept + + + iterator + end + classtoml_1_1array.html + adaf908b0cc3e8bcb1ee9ec9ec706d223 + () noexcept + + + const_iterator + end + classtoml_1_1array.html + a778b5b807ff7329f7de10237d73f29c2 + () const noexcept + + + const_iterator + cend + classtoml_1_1array.html + a50e6b032805760f3930e02923d9a84b0 + () const noexcept + + + node_type + type + classtoml_1_1array.html + a352b6a99235216f070b5e97976663571 + () const noexcept final + + + bool + is_homogeneous + classtoml_1_1array.html + a79a1fe77c03b33ea2b9d8d0a859c93e6 + (node_type ntype) const noexcept final + + + bool + is_homogeneous + classtoml_1_1array.html + ae4e986f9fdb23090f9a0b3716a63e8bb + (node_type ntype, node *&first_nonmatch) noexcept final + + + bool + is_homogeneous + classtoml_1_1array.html + ad00610c0e18f02516de92b623dc4d0f5 + (node_type ntype, const node *&first_nonmatch) const noexcept final + + + bool + is_table + classtoml_1_1array.html + ad7ed894e54ad3aaef6d7693c26b887d9 + () const noexcept final + + + bool + is_array + classtoml_1_1array.html + a1f1e4d93f52778613d0a7bcf74a23427 + () const noexcept final + + + bool + is_array_of_tables + classtoml_1_1array.html + a87cd0dcbebcfd661a0ae387255c0605e + () const noexcept final + + + bool + is_value + classtoml_1_1array.html + acc533a7fa1ea5c68fce6f4fea5bc419c + () const noexcept final + + + bool + is_string + classtoml_1_1array.html + aeefdd01a2ce3f6bcd7aecfabd363d06b + () const noexcept final + + + bool + is_integer + classtoml_1_1array.html + a78db4190977034c4364674a2958855d4 + () const noexcept final + + + bool + is_floating_point + classtoml_1_1array.html + ab758b93eedbdc27112681f26440bee03 + () const noexcept final + + + bool + is_number + classtoml_1_1array.html + aa034144c580b3d8a4727c0cfbfebc214 + () const noexcept final + + + bool + is_boolean + classtoml_1_1array.html + abbecf0a51aa3e175bc5748ccf71063d8 + () const noexcept final + + + bool + is_date + classtoml_1_1array.html + a792dc3fd7105185415925d4f9ab3ca1d + () const noexcept final + + + bool + is_time + classtoml_1_1array.html + a2d2fc80512d08af7a934a6d02c7bf506 + () const noexcept final + + + bool + is_date_time + classtoml_1_1array.html + ae844f53a9604fb42f185a91616a72cbd + () const noexcept final + + + table * + as_table + classtoml_1_1array.html + a95985d66ecd4abf6c5822cbd0d239582 + () noexcept final + + + array * + as_array + classtoml_1_1array.html + a97b772796c962a635e8d5c50e7c03b3a + () noexcept final + + + toml::value< std::string > * + as_string + classtoml_1_1array.html + a5d4d3b502ef2e33107eb1d682b282c75 + () noexcept final + + + toml::value< int64_t > * + as_integer + classtoml_1_1array.html + a41d03d31a6ab168bc4b50046c4bbb50f + () noexcept final + + + toml::value< double > * + as_floating_point + classtoml_1_1array.html + a5e6ed524c4548fdd2131dcbb38b8c766 + () noexcept final + + + toml::value< bool > * + as_boolean + classtoml_1_1array.html + ac1989a2c4d50f8493f97c23ee22e15e6 + () noexcept final + + + toml::value< date > * + as_date + classtoml_1_1array.html + a78a9e7b1d44f90eb55403e54d6d31e2b + () noexcept final + + + toml::value< time > * + as_time + classtoml_1_1array.html + a3dedcb2261a528c59454fc9e0bb7c9fb + () noexcept final + + + toml::value< date_time > * + as_date_time + classtoml_1_1array.html + a58c350366cbbab3eb430751212ba9b18 + () noexcept final + + + const table * + as_table + classtoml_1_1array.html + ae45534b573d10c7e2e1c5624153608f9 + () const noexcept final + + + const array * + as_array + classtoml_1_1array.html + a8007db93bdeb82c8c77965ff72056f6b + () const noexcept final + + + const toml::value< std::string > * + as_string + classtoml_1_1array.html + a943378ff5912e9c732b4dee12d4bf2de + () const noexcept final + + + const toml::value< int64_t > * + as_integer + classtoml_1_1array.html + a79871c2b52557b74da8302925b5624ee + () const noexcept final + + + const toml::value< double > * + as_floating_point + classtoml_1_1array.html + a8f5736e45881203e362bcbb43ed90093 + () const noexcept final + + + const toml::value< bool > * + as_boolean + classtoml_1_1array.html + a48206827982b5cffe51662adfc3aec2b + () const noexcept final + + + const toml::value< date > * + as_date + classtoml_1_1array.html + afc3f86ca86c60deda39e69d24abcacca + () const noexcept final + + + const toml::value< time > * + as_time + classtoml_1_1array.html + a7708feaac3561b836e0789db0dfa6db4 + () const noexcept final + + + const toml::value< date_time > * + as_date_time + classtoml_1_1array.html + aa8fb689b36f44a4fa7c0ffccff20dbd9 + () const noexcept final + + + node * + get + classtoml_1_1array.html + a10664e00054ea4021fec5144b69b8792 + (size_t index) noexcept + + + const node * + get + classtoml_1_1array.html + a44db509dce6b7b77e563c822a5936abe + (size_t index) const noexcept + + + impl::wrap_node< ElemType > * + get_as + classtoml_1_1array.html + a5c2f4624498cba9e1e467b0eb2e9046e + (size_t index) noexcept + + + const impl::wrap_node< ElemType > * + get_as + classtoml_1_1array.html + ae47ca1cc4c61e94fed30aea72ca8d268 + (size_t index) const noexcept + + + node & + operator[] + classtoml_1_1array.html + a853bad0297ca4dcee57c97da2fe318e7 + (size_t index) noexcept + + + const node & + operator[] + classtoml_1_1array.html + ae9f72a1b877f2ac66327a152d55aa9c6 + (size_t index) const noexcept + + + node & + at + classtoml_1_1array.html + aeade4e0cafa3f57b4800e72baa843b1e + (size_t index) + + + const node & + at + classtoml_1_1array.html + a8a5957e22aa2d0f4f9e6feaf9bfffa55 + (size_t index) const + + + node & + front + classtoml_1_1array.html + a9c78848129a2a703c154e7cbe1a973d3 + () noexcept + + + const node & + front + classtoml_1_1array.html + a5ba3af18c63546da6f9d2ac3b5b77f64 + () const noexcept + + + node & + back + classtoml_1_1array.html + a4c58dea5e8795e4b9f8df4f1e1473204 + () noexcept + + + const node & + back + classtoml_1_1array.html + ac7652c1ab60af2ca1c7d52f0658639b4 + () const noexcept + + + bool + empty + classtoml_1_1array.html + a5d527ea6bfddad1025e90e4363c822cc + () const noexcept + + + size_t + size + classtoml_1_1array.html + af81d7b6a1257ad766a47d9276855a7c9 + () const noexcept + + + size_t + max_size + classtoml_1_1array.html + ae65a76add6d756fc7ba8f12a5aad983c + () const noexcept + + + size_t + capacity + classtoml_1_1array.html + a02b773a1ff337692e78da429030c1610 + () const noexcept + + + void + reserve + classtoml_1_1array.html + a1ba073adc52c3df5ad29cfd7e5daa1d5 + (size_t new_capacity) + + + void + shrink_to_fit + classtoml_1_1array.html + a718c2031ead428aa52912741f6d094aa + () + + + void + truncate + classtoml_1_1array.html + a6e3ac9962c706a88c1001ff83a4084f3 + (size_t new_size) + + + void + resize + classtoml_1_1array.html + ab1aca2337ffce7e583a2cf303f16259f + (size_t new_size, ElemType &&default_init_val, value_flags default_init_flags=preserve_source_value_flags) + + + iterator + erase + classtoml_1_1array.html + a22389a9ed9444fe52be10c4acbdec908 + (const_iterator pos) noexcept + + + iterator + erase + classtoml_1_1array.html + a723388860d72c9a162137d0293366fb2 + (const_iterator first, const_iterator last) noexcept + + + array & + flatten + classtoml_1_1array.html + aa2a21958705629bde15aafae9598a2ec + () & + + + array && + flatten + classtoml_1_1array.html + ad307bea17e7640c57715d67ab8a777d4 + () && + + + array & + prune + classtoml_1_1array.html + ae548cf1dc26ade60733548a00a39b175 + (bool recursive=true) &noexcept + + + array && + prune + classtoml_1_1array.html + a6fc918a151ada40c713d6855af3021c2 + (bool recursive=true) &&noexcept + + + void + pop_back + classtoml_1_1array.html + af99d72e29cef84f736d91d627b47a1dc + () noexcept + + + void + clear + classtoml_1_1array.html + adaa65bf63f29f898c27423306c165d68 + () noexcept + + + iterator + insert + classtoml_1_1array.html + a17c7e34b433ea8907186dbb1788c9d37 + (const_iterator pos, ElemType &&val, value_flags flags=preserve_source_value_flags) + + + iterator + insert + classtoml_1_1array.html + a55a9e6e742e556ea07573d29c23ce7df + (const_iterator pos, size_t count, ElemType &&val, value_flags flags=preserve_source_value_flags) + + + iterator + insert + classtoml_1_1array.html + a60a0d39bfd8721cef23e155f5504d54d + (const_iterator pos, Iter first, Iter last, value_flags flags=preserve_source_value_flags) + + + iterator + insert + classtoml_1_1array.html + a1baecd5d579afb508886572674b89781 + (const_iterator pos, std::initializer_list< ElemType > ilist, value_flags flags=preserve_source_value_flags) + + + iterator + emplace + classtoml_1_1array.html + a4110b96386b33097a255f3694ac01d4a + (const_iterator pos, Args &&... args) + + + iterator + replace + classtoml_1_1array.html + a37a8a283e6c1cbeef757b2e59489ee6c + (const_iterator pos, ElemType &&val, value_flags flags=preserve_source_value_flags) + + + void + push_back + classtoml_1_1array.html + ab7188537b351ef3a756b54b83e4b05b3 + (ElemType &&val, value_flags flags=preserve_source_value_flags) + + + decltype(auto) + emplace_back + classtoml_1_1array.html + ae9ceab13446e118333e3a486e81c2448 + (ElemArgs &&... args) + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + friend bool + operator== + classtoml_1_1array.html + a06cf25e3f80c98d88e041ef9823976c0 + (const array &lhs, const array &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1array.html + af06c7437a0946a9d5e093d903b59f6a4 + (const array &lhs, const array &rhs) noexcept + + + friend bool + operator== + classtoml_1_1array.html + ab87e435c5a41140e60cd2e703df96fbd + (const array &lhs, const std::initializer_list< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1array.html + a5b3c615e4ba8fd780b966f175070b554 + (const array &lhs, const std::vector< T > &rhs) noexcept + + + + toml::date + structtoml_1_1date.html + + + date + structtoml_1_1date.html + a5cbb79ab52538ec7a74022cf4fcfb129 + () noexcept=default + + + constexpr + date + structtoml_1_1date.html + a6025b77738bf7ed2db704cc85297e74d + (Y y, M m, D d) noexcept + + + uint16_t + year + structtoml_1_1date.html + ad1dc522b115c69dc908540b1c6ff792b + + + + uint8_t + month + structtoml_1_1date.html + a0528c722d0a81741a95f6e3a1116614e + + + + uint8_t + day + structtoml_1_1date.html + a8ec7a7238b8edd3341b450a7b43ec011 + + + + constexpr friend bool + operator== + structtoml_1_1date.html + af76134298f28a36f104515fa6ba018b0 + (const date &lhs, const date &rhs) noexcept + + + constexpr friend bool + operator!= + structtoml_1_1date.html + a5e1b63040c6d403b8e0a717c77d9509d + (const date &lhs, const date &rhs) noexcept + + + constexpr friend bool + operator< + structtoml_1_1date.html + a800189899a4daf5b8cdf1c5b252b772d + (const date &lhs, const date &rhs) noexcept + + + constexpr friend bool + operator<= + structtoml_1_1date.html + a0add90c8bea1fdc5ff50cbbeb5e169fc + (const date &lhs, const date &rhs) noexcept + + + constexpr friend bool + operator> + structtoml_1_1date.html + a1861ff6d5850f8148ce002c75b2ab952 + (const date &lhs, const date &rhs) noexcept + + + constexpr friend bool + operator>= + structtoml_1_1date.html + a8f74ab67a378a52e28478d5f768e4152 + (const date &lhs, const date &rhs) noexcept + + + friend std::ostream & + operator<< + structtoml_1_1date.html + aa24fddba6149a26f1dbeefe036126316 + (std::ostream &lhs, const date &rhs) + + + + toml::date_time + structtoml_1_1date__time.html + + + date_time + structtoml_1_1date__time.html + a2c9ee1c5c94a6623e9cac5db65289d1f + () noexcept=default + + + constexpr + date_time + structtoml_1_1date__time.html + a8b084d38079cf71db0d0ac8465928dc2 + (const toml::date &d, const toml::time &t) noexcept + + + constexpr + date_time + structtoml_1_1date__time.html + a5394c8e6690f59e627f92b614b06be58 + (const toml::date &d) noexcept + + + constexpr + date_time + structtoml_1_1date__time.html + a73df51041eee08b984d38462ba3fdda4 + (const toml::time &t) noexcept + + + constexpr + date_time + structtoml_1_1date__time.html + aacba153f96e9637d536add5159bad99a + (const toml::date &d, const toml::time &t, const toml::time_offset &off) noexcept + + + constexpr bool + is_local + structtoml_1_1date__time.html + af0d6119984645eb015f2fad0ef487bbc + () const noexcept + + + toml::date + date + structtoml_1_1date__time.html + a89f398585f373d1e7bd59fe440212074 + + + + toml::time + time + structtoml_1_1date__time.html + a18d5e772db4f61635643cda390c2b720 + + + + optional< toml::time_offset > + offset + structtoml_1_1date__time.html + af8596013f522b94a88d2caf69e90a1f5 + + + + constexpr friend bool + operator== + structtoml_1_1date__time.html + a885cbe902aeadacb0953230ade9d8b9a + (const date_time &lhs, const date_time &rhs) noexcept + + + constexpr friend bool + operator!= + structtoml_1_1date__time.html + a9ae0e032ffe90928c47b40bd8155dea3 + (const date_time &lhs, const date_time &rhs) noexcept + + + constexpr friend bool + operator< + structtoml_1_1date__time.html + a4f67803fdc02fb5549ba213a9273a63b + (const date_time &lhs, const date_time &rhs) noexcept + + + constexpr friend bool + operator<= + structtoml_1_1date__time.html + a7b2f0261ae38ef6dbb6de0fb35fbbf3b + (const date_time &lhs, const date_time &rhs) noexcept + + + constexpr friend bool + operator> + structtoml_1_1date__time.html + a1bceb05028f33a829d61ffc768eab78a + (const date_time &lhs, const date_time &rhs) noexcept + + + constexpr friend bool + operator>= + structtoml_1_1date__time.html + a361fb1904f477e0a1f7acaa3cdd14abf + (const date_time &lhs, const date_time &rhs) noexcept + + + friend std::ostream & + operator<< + structtoml_1_1date__time.html + a5a090cb9dfa0d6a3e74603ba702bbddc + (std::ostream &lhs, const date_time &rhs) + + + + toml::inserter + structtoml_1_1inserter.html + + + + toml::json_formatter + classtoml_1_1json__formatter.html + + + json_formatter + classtoml_1_1json__formatter.html + ade267ecca82e3bbac3d1392abab91be9 + (const toml::node &source, format_flags flags=default_flags) noexcept + + + + json_formatter + classtoml_1_1json__formatter.html + a51785aa8ef373a9136e896fafabd53be + (const toml::parse_result &result, format_flags flags=default_flags) noexcept + + + static constexpr format_flags + default_flags + classtoml_1_1json__formatter.html + a4541a4662894ce8936f6f2c3ab90fe2e + + + + friend std::ostream & + operator<< + classtoml_1_1json__formatter.html + a2b88bc230c589c1fad25ffd8df96b74e + (std::ostream &lhs, json_formatter &rhs) + + + friend std::ostream & + operator<< + classtoml_1_1json__formatter.html + a5eefe4e5ca640b12fbb09fd521eab335 + (std::ostream &lhs, json_formatter &&rhs) + + + + toml::key + classtoml_1_1key.html + + + key + classtoml_1_1key.html + ac978efd3b48ec0a5c14f08618e4dbe23 + () noexcept=default + + + + key + classtoml_1_1key.html + a5119f122c15687a2f0f81b270a627de2 + (std::string_view k, source_region &&src={}) + + + + key + classtoml_1_1key.html + a0718eb26f4d9c1a4c0fb928efb0d6f81 + (std::string_view k, const source_region &src) + + + + key + classtoml_1_1key.html + a788b1bbeaf636dccc4a78f832bf123e0 + (std::string &&k, source_region &&src={}) noexcept + + + + key + classtoml_1_1key.html + ab86ff590f222d57b8f4630901298d8da + (std::string &&k, const source_region &src) noexcept + + + + key + classtoml_1_1key.html + a981f5ee2fbd822d47d0b347c5df55f11 + (const char *k, source_region &&src={}) + + + + key + classtoml_1_1key.html + ad5f26b37172e34a8c70e848ad7911710 + (const char *k, const source_region &src) + + + + key + classtoml_1_1key.html + a67cfed717c84773ab3fe6ec1b7936fa7 + (std::wstring_view k, source_region &&src={}) + + + + key + classtoml_1_1key.html + aba2cb69db8cae7cbc60899a0ee7618d3 + (std::wstring_view k, const source_region &src) + + + std::string_view + str + classtoml_1_1key.html + a0ca779e816081627f78965683182d4dc + () const noexcept + + + + operator std::string_view + classtoml_1_1key.html + a0f580806c0894ea820c533a9f6e0fa91 + () const noexcept + + + bool + empty + classtoml_1_1key.html + a2baa48f26dac4a10a8328706f9386417 + () const noexcept + + + const char * + data + classtoml_1_1key.html + a49f230dc58174f399f49100115ee088f + () const noexcept + + + size_t + length + classtoml_1_1key.html + a5ffa3226fa66f1be190178572a87a000 + () const noexcept + + + const source_region & + source + classtoml_1_1key.html + a82a81d4a4e4d502b661ee2ba10810bea + () const noexcept + + + friend std::ostream & + operator<< + classtoml_1_1key.html + a78eb7afc69ecd78f4f6ded062f2f7ea7 + (std::ostream &lhs, const key &rhs) + + + friend bool + operator== + classtoml_1_1key.html + aa1d636ad061ad2c8e33c629e112bba5e + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1key.html + a1255e940048a362bda11ee240b3f1ffe + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator< + classtoml_1_1key.html + a7a6f49b1bdf3e234f7598481a4afd5db + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1key.html + ae300be177925b12b73568e194c1444ae + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator> + classtoml_1_1key.html + ae51dcf0f86bed0f6f5ce24d326c0badc + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1key.html + a3c20053f6eae90f946535a95225f522a + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator== + classtoml_1_1key.html + a545b27567960385af1c8ae669029d7dd + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator!= + classtoml_1_1key.html + a24ea2ab9799ab7fec679f2dae3afccf2 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator< + classtoml_1_1key.html + a5578fc46610d6f6e684fbffdf3f61a44 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator<= + classtoml_1_1key.html + a9c59103b835fb600dbb6c808f8c4f8a8 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator> + classtoml_1_1key.html + ad48d1d36a11a9434bc339987838b08f6 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator>= + classtoml_1_1key.html + a61e19637671ad5c5856eafd5753e9b65 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator== + classtoml_1_1key.html + aed4a71da8d0ffb75d847ab2c26948a1c + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1key.html + a165b2057b0144350b1c291ffb0956122 + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator< + classtoml_1_1key.html + a1bacd712822950e9594fd288a236c9cb + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1key.html + a780d9a226184919f080acf0b0a676400 + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator> + classtoml_1_1key.html + aa85755cf51a2ee6d616aa03a8de8b4b0 + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1key.html + aa89096b9f6b364702858f2dc6734987a + (std::string_view lhs, const key &rhs) noexcept + + + const char * + const_iterator + classtoml_1_1key.html + a38a33d5010936195ac2083e428165512 + + + + const_iterator + iterator + classtoml_1_1key.html + a40c42bc323383db54972b5752b9ad4dd + + + + const_iterator + begin + classtoml_1_1key.html + ab1691956be4ffe1c604e8e66acdc237e + () const noexcept + + + const_iterator + end + classtoml_1_1key.html + a9b37a10b4aff1e6e7902301789f579c8 + () const noexcept + + + std::string_view + str + classtoml_1_1key.html + a0ca779e816081627f78965683182d4dc + () const noexcept + + + + operator std::string_view + classtoml_1_1key.html + a0f580806c0894ea820c533a9f6e0fa91 + () const noexcept + + + bool + empty + classtoml_1_1key.html + a2baa48f26dac4a10a8328706f9386417 + () const noexcept + + + const char * + data + classtoml_1_1key.html + a49f230dc58174f399f49100115ee088f + () const noexcept + + + size_t + length + classtoml_1_1key.html + a5ffa3226fa66f1be190178572a87a000 + () const noexcept + + + const source_region & + source + classtoml_1_1key.html + a82a81d4a4e4d502b661ee2ba10810bea + () const noexcept + + + friend bool + operator== + classtoml_1_1key.html + aa1d636ad061ad2c8e33c629e112bba5e + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1key.html + a1255e940048a362bda11ee240b3f1ffe + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator< + classtoml_1_1key.html + a7a6f49b1bdf3e234f7598481a4afd5db + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1key.html + ae300be177925b12b73568e194c1444ae + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator> + classtoml_1_1key.html + ae51dcf0f86bed0f6f5ce24d326c0badc + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1key.html + a3c20053f6eae90f946535a95225f522a + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator== + classtoml_1_1key.html + a545b27567960385af1c8ae669029d7dd + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator!= + classtoml_1_1key.html + a24ea2ab9799ab7fec679f2dae3afccf2 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator< + classtoml_1_1key.html + a5578fc46610d6f6e684fbffdf3f61a44 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator<= + classtoml_1_1key.html + a9c59103b835fb600dbb6c808f8c4f8a8 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator> + classtoml_1_1key.html + ad48d1d36a11a9434bc339987838b08f6 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator>= + classtoml_1_1key.html + a61e19637671ad5c5856eafd5753e9b65 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator== + classtoml_1_1key.html + aed4a71da8d0ffb75d847ab2c26948a1c + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1key.html + a165b2057b0144350b1c291ffb0956122 + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator< + classtoml_1_1key.html + a1bacd712822950e9594fd288a236c9cb + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1key.html + a780d9a226184919f080acf0b0a676400 + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator> + classtoml_1_1key.html + aa85755cf51a2ee6d616aa03a8de8b4b0 + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1key.html + aa89096b9f6b364702858f2dc6734987a + (std::string_view lhs, const key &rhs) noexcept + + + + toml::node + classtoml_1_1node.html + + virtual bool + is_homogeneous + classtoml_1_1node.html + a68de6772e259ef122c00b0a9c7b63516 + (node_type ntype, node *&first_nonmatch) noexcept=0 + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a834e10ece19d04b4d774d5f224d50b8f + (node_type ntype, const node *&first_nonmatch) const noexcept=0 + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a5d9191dc545ecded3bc8f7706c63edad + (node_type ntype) const noexcept=0 + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + virtual node_type + type + classtoml_1_1node.html + a10f389035ce13abb00a1191358af6334 + () const noexcept=0 + + + virtual bool + is_table + classtoml_1_1node.html + a50a2501af7e42b0fab060206dde7a99e + () const noexcept=0 + + + virtual bool + is_array + classtoml_1_1node.html + accce7655b0cc340591a755412fde2ed7 + () const noexcept=0 + + + virtual bool + is_array_of_tables + classtoml_1_1node.html + aa09263a05ef361ad233e710308fce690 + () const noexcept=0 + + + virtual bool + is_value + classtoml_1_1node.html + aeddf9eebbd4ece799e5675e2d9d59e4a + () const noexcept=0 + + + virtual bool + is_string + classtoml_1_1node.html + aa95180487162e844129031842d8a9580 + () const noexcept=0 + + + virtual bool + is_integer + classtoml_1_1node.html + ac5390ac64f018947edc75802a53505a5 + () const noexcept=0 + + + virtual bool + is_floating_point + classtoml_1_1node.html + ad8cdb68a69bdc13cda7d4f7663e57847 + () const noexcept=0 + + + virtual bool + is_number + classtoml_1_1node.html + afcc263be60c33b3f92646b5cfa07393e + () const noexcept=0 + + + virtual bool + is_boolean + classtoml_1_1node.html + a422f765df7ee04fa13254adcda29ae8d + () const noexcept=0 + + + virtual bool + is_date + classtoml_1_1node.html + a1c86fb0bd8e241c4768108988a59332a + () const noexcept=0 + + + virtual bool + is_time + classtoml_1_1node.html + a9266c340ccc94b3349704e91bf12d42d + () const noexcept=0 + + + virtual bool + is_date_time + classtoml_1_1node.html + a900f7589762e01c91fb5b07a2c8e9202 + () const noexcept=0 + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + virtual table * + as_table + classtoml_1_1node.html + ac0ca09368b80436100a1eb042daccacc + () noexcept=0 + + + virtual array * + as_array + classtoml_1_1node.html + a43bc08c435e4fbf5ebbcf34f902a6377 + () noexcept=0 + + + virtual toml::value< std::string > * + as_string + classtoml_1_1node.html + a8560597586915efad21f288f591c23cd + () noexcept=0 + + + virtual toml::value< int64_t > * + as_integer + classtoml_1_1node.html + a9e1419c3f99eda7767d114095b1ad793 + () noexcept=0 + + + virtual toml::value< double > * + as_floating_point + classtoml_1_1node.html + a61d3f2c50952a1c989f82b54c5c2eeda + () noexcept=0 + + + virtual toml::value< bool > * + as_boolean + classtoml_1_1node.html + aea93e54eb94c6cb48d240766983fa493 + () noexcept=0 + + + virtual toml::value< date > * + as_date + classtoml_1_1node.html + adcf92e730609341bb1e3c0ae1d12c36f + () noexcept=0 + + + virtual toml::value< time > * + as_time + classtoml_1_1node.html + a2d88fef8e892aae05c3e9886fdef7dce + () noexcept=0 + + + virtual toml::value< date_time > * + as_date_time + classtoml_1_1node.html + ae1312e66ac95fc1cf6ae12f48e000b2a + () noexcept=0 + + + virtual const table * + as_table + classtoml_1_1node.html + aa167e4d8d6e6db784affe8490e178c8b + () const noexcept=0 + + + virtual const array * + as_array + classtoml_1_1node.html + a7ed34b94f3999b03db45fd5e0830637d + () const noexcept=0 + + + virtual const toml::value< std::string > * + as_string + classtoml_1_1node.html + a47c55af38414fdb32075c378b3405bfa + () const noexcept=0 + + + virtual const toml::value< int64_t > * + as_integer + classtoml_1_1node.html + a43bea93af60b57ecc98efaf50dccfe9b + () const noexcept=0 + + + virtual const toml::value< double > * + as_floating_point + classtoml_1_1node.html + a4ceaa3a398fa76c134c902ec1c4778aa + () const noexcept=0 + + + virtual const toml::value< bool > * + as_boolean + classtoml_1_1node.html + a45dd3436280deeb307127278f816e8e9 + () const noexcept=0 + + + virtual const toml::value< date > * + as_date + classtoml_1_1node.html + ac15b9b4e6aa05ca616bac37610af27fc + () const noexcept=0 + + + virtual const toml::value< time > * + as_time + classtoml_1_1node.html + a7ebf75d2978ae1ea32daff4c063217e7 + () const noexcept=0 + + + virtual const toml::value< date_time > * + as_date_time + classtoml_1_1node.html + a7d7b9d4defe5ffc3f1398715f5e325b3 + () const noexcept=0 + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a68de6772e259ef122c00b0a9c7b63516 + (node_type ntype, node *&first_nonmatch) noexcept=0 + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a834e10ece19d04b4d774d5f224d50b8f + (node_type ntype, const node *&first_nonmatch) const noexcept=0 + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a5d9191dc545ecded3bc8f7706c63edad + (node_type ntype) const noexcept=0 + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + virtual node_type + type + classtoml_1_1node.html + a10f389035ce13abb00a1191358af6334 + () const noexcept=0 + + + virtual bool + is_table + classtoml_1_1node.html + a50a2501af7e42b0fab060206dde7a99e + () const noexcept=0 + + + virtual bool + is_array + classtoml_1_1node.html + accce7655b0cc340591a755412fde2ed7 + () const noexcept=0 + + + virtual bool + is_array_of_tables + classtoml_1_1node.html + aa09263a05ef361ad233e710308fce690 + () const noexcept=0 + + + virtual bool + is_value + classtoml_1_1node.html + aeddf9eebbd4ece799e5675e2d9d59e4a + () const noexcept=0 + + + virtual bool + is_string + classtoml_1_1node.html + aa95180487162e844129031842d8a9580 + () const noexcept=0 + + + virtual bool + is_integer + classtoml_1_1node.html + ac5390ac64f018947edc75802a53505a5 + () const noexcept=0 + + + virtual bool + is_floating_point + classtoml_1_1node.html + ad8cdb68a69bdc13cda7d4f7663e57847 + () const noexcept=0 + + + virtual bool + is_number + classtoml_1_1node.html + afcc263be60c33b3f92646b5cfa07393e + () const noexcept=0 + + + virtual bool + is_boolean + classtoml_1_1node.html + a422f765df7ee04fa13254adcda29ae8d + () const noexcept=0 + + + virtual bool + is_date + classtoml_1_1node.html + a1c86fb0bd8e241c4768108988a59332a + () const noexcept=0 + + + virtual bool + is_time + classtoml_1_1node.html + a9266c340ccc94b3349704e91bf12d42d + () const noexcept=0 + + + virtual bool + is_date_time + classtoml_1_1node.html + a900f7589762e01c91fb5b07a2c8e9202 + () const noexcept=0 + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + virtual table * + as_table + classtoml_1_1node.html + ac0ca09368b80436100a1eb042daccacc + () noexcept=0 + + + virtual array * + as_array + classtoml_1_1node.html + a43bc08c435e4fbf5ebbcf34f902a6377 + () noexcept=0 + + + virtual toml::value< std::string > * + as_string + classtoml_1_1node.html + a8560597586915efad21f288f591c23cd + () noexcept=0 + + + virtual toml::value< int64_t > * + as_integer + classtoml_1_1node.html + a9e1419c3f99eda7767d114095b1ad793 + () noexcept=0 + + + virtual toml::value< double > * + as_floating_point + classtoml_1_1node.html + a61d3f2c50952a1c989f82b54c5c2eeda + () noexcept=0 + + + virtual toml::value< bool > * + as_boolean + classtoml_1_1node.html + aea93e54eb94c6cb48d240766983fa493 + () noexcept=0 + + + virtual toml::value< date > * + as_date + classtoml_1_1node.html + adcf92e730609341bb1e3c0ae1d12c36f + () noexcept=0 + + + virtual toml::value< time > * + as_time + classtoml_1_1node.html + a2d88fef8e892aae05c3e9886fdef7dce + () noexcept=0 + + + virtual toml::value< date_time > * + as_date_time + classtoml_1_1node.html + ae1312e66ac95fc1cf6ae12f48e000b2a + () noexcept=0 + + + virtual const table * + as_table + classtoml_1_1node.html + aa167e4d8d6e6db784affe8490e178c8b + () const noexcept=0 + + + virtual const array * + as_array + classtoml_1_1node.html + a7ed34b94f3999b03db45fd5e0830637d + () const noexcept=0 + + + virtual const toml::value< std::string > * + as_string + classtoml_1_1node.html + a47c55af38414fdb32075c378b3405bfa + () const noexcept=0 + + + virtual const toml::value< int64_t > * + as_integer + classtoml_1_1node.html + a43bea93af60b57ecc98efaf50dccfe9b + () const noexcept=0 + + + virtual const toml::value< double > * + as_floating_point + classtoml_1_1node.html + a4ceaa3a398fa76c134c902ec1c4778aa + () const noexcept=0 + + + virtual const toml::value< bool > * + as_boolean + classtoml_1_1node.html + a45dd3436280deeb307127278f816e8e9 + () const noexcept=0 + + + virtual const toml::value< date > * + as_date + classtoml_1_1node.html + ac15b9b4e6aa05ca616bac37610af27fc + () const noexcept=0 + + + virtual const toml::value< time > * + as_time + classtoml_1_1node.html + a7ebf75d2978ae1ea32daff4c063217e7 + () const noexcept=0 + + + virtual const toml::value< date_time > * + as_date_time + classtoml_1_1node.html + a7d7b9d4defe5ffc3f1398715f5e325b3 + () const noexcept=0 + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + + toml::node_view + classtoml_1_1node__view.html + + + ViewedType + viewed_type + classtoml_1_1node__view.html + a1550f4e57532fd03b6c3e9d87805c03a + + + + + node_view + classtoml_1_1node__view.html + a0d8bf511db11b67081bea35c25e4ca9e + () noexcept=default + + + + node_view + classtoml_1_1node__view.html + a199ca0c01e27a74b2ad6dbe554113fb8 + (viewed_type *node) noexcept + + + + node_view + classtoml_1_1node__view.html + af40ced8902e81e354af44a033f05d682 + (viewed_type &node) noexcept + + + + node_view + classtoml_1_1node__view.html + a6f2a4c199237385a61741ab30a64b500 + (const node_view &) noexcept=default + + + + node_view + classtoml_1_1node__view.html + a79091432e79c07c4bb8700f44adfb8d6 + (node_view &&) noexcept=default + + + node_view & + operator= + classtoml_1_1node__view.html + afa455c0337a6fe4d1ca533e10750ba9e + (const node_view &) &noexcept=default + + + node_view & + operator= + classtoml_1_1node__view.html + a3dd8195e3971ebb2110b812783cff136 + (node_view &&) &noexcept=default + + + + operator bool + classtoml_1_1node__view.html + ab8ee0ffcb999601a9b0247c099aa9250 + () const noexcept + + + viewed_type * + node + classtoml_1_1node__view.html + afb42ba6fdddfb407bd37b697a407246d + () const noexcept + + + node_type + type + classtoml_1_1node__view.html + a2483cf1a8314661919b9066ce62c9621 + () const noexcept + + + bool + is_table + classtoml_1_1node__view.html + a70b567ea582c472fe95a89b5b842cee6 + () const noexcept + + + bool + is_array + classtoml_1_1node__view.html + a879d945d2880fc216085d7deb087ad38 + () const noexcept + + + bool + is_value + classtoml_1_1node__view.html + aa58f8de47be5f53738b1a04d7e9d05af + () const noexcept + + + bool + is_string + classtoml_1_1node__view.html + a79b47268155d955b8e2c027b0c2ae983 + () const noexcept + + + bool + is_integer + classtoml_1_1node__view.html + ab9c835ddf017f250d84fa5d5736e8520 + () const noexcept + + + bool + is_floating_point + classtoml_1_1node__view.html + a43ea3eed7b0f133fa7d752a9322c758e + () const noexcept + + + bool + is_number + classtoml_1_1node__view.html + a107732370c62402b1101a78e7382fd8b + () const noexcept + + + bool + is_boolean + classtoml_1_1node__view.html + aa7ee0d1f396e1283c4a11d07b9400897 + () const noexcept + + + bool + is_date + classtoml_1_1node__view.html + a4dc7cf8a57db73fa799a939f7acd549d + () const noexcept + + + bool + is_time + classtoml_1_1node__view.html + a98a6bc33e3ba573c37a069126acf0b8c + () const noexcept + + + bool + is_date_time + classtoml_1_1node__view.html + a5a380f773ae291c942a03e45a88c94b0 + () const noexcept + + + bool + is_array_of_tables + classtoml_1_1node__view.html + a6cc459be36698ec5a9ac0d00b4480eae + () const noexcept + + + bool + is + classtoml_1_1node__view.html + a21d7c55a33aa1c868dde5cbaa7e54ec2 + () const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + a2a2902064421f401e80ea687cef536da + (node_type ntype, viewed_type *&first_nonmatch) const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + afe0abd51e0e108b306be2a3ee9561cca + (node_type ntype) const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + a29c82d83b1d64f016eb42f95fd37e346 + () const noexcept + + + auto * + as + classtoml_1_1node__view.html + a5cd619f292f91fc9d417c61905ea8204 + () const noexcept + + + auto * + as_table + classtoml_1_1node__view.html + a5b73b7eeaa97666ebee3d604171a5576 + () const noexcept + + + auto * + as_array + classtoml_1_1node__view.html + a8593d229d139b05dc81d5d2d97ce3a1f + () const noexcept + + + auto * + as_string + classtoml_1_1node__view.html + a33c4dd8fb9498f6de6fb06714b508d17 + () const noexcept + + + auto * + as_integer + classtoml_1_1node__view.html + ad21750582ec6303e0b257b132ec4409d + () const noexcept + + + auto * + as_floating_point + classtoml_1_1node__view.html + a926821efb73ad7292e3f14841c54871b + () const noexcept + + + auto * + as_boolean + classtoml_1_1node__view.html + a9fec898a7fa88ddbb396fe3b2a81c945 + () const noexcept + + + auto * + as_date + classtoml_1_1node__view.html + a94a7cf14d6ca777de56abd5cdbe8eece + () const noexcept + + + auto * + as_time + classtoml_1_1node__view.html + a94087a35223d51ca76f22a361031bd7e + () const noexcept + + + auto * + as_date_time + classtoml_1_1node__view.html + a5bcb3ac0edcc516efda53fd022057282 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node__view.html + a2d558e7799bc4e24adda096446eb384d + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node__view.html + abb51a912462a258379b968c4074f8324 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node__view.html + a314e5d666dcda3493ff9aa2c0816f53c + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node__view.html + aec5c764293a7eeb20009a484b34d7c3a + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node__view.html + aa5f84bfab779c71a07b04ca0b2db863f + (Func &&visitor) const noexcept(visit_is_nothrow< Func && >) + + + node_view + operator[] + classtoml_1_1node__view.html + a2dde12894f70530d80de45a03eae78fa + (std::string_view key) const noexcept + + + node_view + at_path + classtoml_1_1node__view.html + a59c5432fb77b50ef22098e17d4f956d5 + (std::string_view path) const noexcept + + + node_view + operator[] + classtoml_1_1node__view.html + a35021e65758dc0be505916532b69a7d8 + (std::wstring_view key) const + + + node_view + at_path + classtoml_1_1node__view.html + a157c1eafb7bdf8f33398106017d1b20c + (std::wstring_view path) const + + + node_view + operator[] + classtoml_1_1node__view.html + a5d13b026efcd31812415ead30eeb69db + (size_t index) const noexcept + + + friend std::ostream & + operator<< + classtoml_1_1node__view.html + a170109f0b77888f54b2fcdb8fee0ab90 + (std::ostream &os, const node_view &nv) + + + friend bool + operator== + classtoml_1_1node__view.html + a191820d030035d564fe09f5eb251b927 + (const node_view &lhs, const node_view< T > &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1node__view.html + a3dc82b95849d7e6bd89b5496fe96beaa + (const node_view &lhs, const node_view< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a754bdba78869afe6bccb4b51e0a77e45 + (const node_view &lhs, const table &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a3b39aedbada6221a4e3857b0f0235843 + (const node_view &lhs, const array &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + ad9fd96826fcee43cd1ea1ccf6e22c895 + (const node_view &lhs, const toml::value< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a4dba3ed7356704669e4175fa7c8f5c34 + (const node_view &lhs, const T &rhs) noexcept(!impl::is_wide_string< T >) + + + friend bool + operator== + classtoml_1_1node__view.html + abe826c97f2b451ee287ecf37f46517fb + (const node_view &lhs, const std::initializer_list< T > &rhs) noexcept(!impl::is_wide_string< T >) + + + friend bool + operator== + classtoml_1_1node__view.html + ad4b4144f8033c78e5410f701e5ae7e30 + (const node_view &lhs, const std::vector< T > &rhs) noexcept(!impl::is_wide_string< T >) + + + friend bool + operator== + classtoml_1_1node__view.html + a191820d030035d564fe09f5eb251b927 + (const node_view &lhs, const node_view< T > &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1node__view.html + a3dc82b95849d7e6bd89b5496fe96beaa + (const node_view &lhs, const node_view< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a754bdba78869afe6bccb4b51e0a77e45 + (const node_view &lhs, const table &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a3b39aedbada6221a4e3857b0f0235843 + (const node_view &lhs, const array &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + ad9fd96826fcee43cd1ea1ccf6e22c895 + (const node_view &lhs, const toml::value< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a4dba3ed7356704669e4175fa7c8f5c34 + (const node_view &lhs, const T &rhs) noexcept(!impl::is_wide_string< T >) + + + friend bool + operator== + classtoml_1_1node__view.html + abe826c97f2b451ee287ecf37f46517fb + (const node_view &lhs, const std::initializer_list< T > &rhs) noexcept(!impl::is_wide_string< T >) + + + friend bool + operator== + classtoml_1_1node__view.html + ad4b4144f8033c78e5410f701e5ae7e30 + (const node_view &lhs, const std::vector< T > &rhs) noexcept(!impl::is_wide_string< T >) + + + node_type + type + classtoml_1_1node__view.html + a2483cf1a8314661919b9066ce62c9621 + () const noexcept + + + bool + is_table + classtoml_1_1node__view.html + a70b567ea582c472fe95a89b5b842cee6 + () const noexcept + + + bool + is_array + classtoml_1_1node__view.html + a879d945d2880fc216085d7deb087ad38 + () const noexcept + + + bool + is_value + classtoml_1_1node__view.html + aa58f8de47be5f53738b1a04d7e9d05af + () const noexcept + + + bool + is_string + classtoml_1_1node__view.html + a79b47268155d955b8e2c027b0c2ae983 + () const noexcept + + + bool + is_integer + classtoml_1_1node__view.html + ab9c835ddf017f250d84fa5d5736e8520 + () const noexcept + + + bool + is_floating_point + classtoml_1_1node__view.html + a43ea3eed7b0f133fa7d752a9322c758e + () const noexcept + + + bool + is_number + classtoml_1_1node__view.html + a107732370c62402b1101a78e7382fd8b + () const noexcept + + + bool + is_boolean + classtoml_1_1node__view.html + aa7ee0d1f396e1283c4a11d07b9400897 + () const noexcept + + + bool + is_date + classtoml_1_1node__view.html + a4dc7cf8a57db73fa799a939f7acd549d + () const noexcept + + + bool + is_time + classtoml_1_1node__view.html + a98a6bc33e3ba573c37a069126acf0b8c + () const noexcept + + + bool + is_date_time + classtoml_1_1node__view.html + a5a380f773ae291c942a03e45a88c94b0 + () const noexcept + + + bool + is_array_of_tables + classtoml_1_1node__view.html + a6cc459be36698ec5a9ac0d00b4480eae + () const noexcept + + + bool + is + classtoml_1_1node__view.html + a21d7c55a33aa1c868dde5cbaa7e54ec2 + () const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + a2a2902064421f401e80ea687cef536da + (node_type ntype, viewed_type *&first_nonmatch) const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + afe0abd51e0e108b306be2a3ee9561cca + (node_type ntype) const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + a29c82d83b1d64f016eb42f95fd37e346 + () const noexcept + + + auto * + as + classtoml_1_1node__view.html + a5cd619f292f91fc9d417c61905ea8204 + () const noexcept + + + auto * + as_table + classtoml_1_1node__view.html + a5b73b7eeaa97666ebee3d604171a5576 + () const noexcept + + + auto * + as_array + classtoml_1_1node__view.html + a8593d229d139b05dc81d5d2d97ce3a1f + () const noexcept + + + auto * + as_string + classtoml_1_1node__view.html + a33c4dd8fb9498f6de6fb06714b508d17 + () const noexcept + + + auto * + as_integer + classtoml_1_1node__view.html + ad21750582ec6303e0b257b132ec4409d + () const noexcept + + + auto * + as_floating_point + classtoml_1_1node__view.html + a926821efb73ad7292e3f14841c54871b + () const noexcept + + + auto * + as_boolean + classtoml_1_1node__view.html + a9fec898a7fa88ddbb396fe3b2a81c945 + () const noexcept + + + auto * + as_date + classtoml_1_1node__view.html + a94a7cf14d6ca777de56abd5cdbe8eece + () const noexcept + + + auto * + as_time + classtoml_1_1node__view.html + a94087a35223d51ca76f22a361031bd7e + () const noexcept + + + auto * + as_date_time + classtoml_1_1node__view.html + a5bcb3ac0edcc516efda53fd022057282 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node__view.html + a2d558e7799bc4e24adda096446eb384d + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node__view.html + abb51a912462a258379b968c4074f8324 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node__view.html + a314e5d666dcda3493ff9aa2c0816f53c + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node__view.html + aec5c764293a7eeb20009a484b34d7c3a + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node__view.html + aa5f84bfab779c71a07b04ca0b2db863f + (Func &&visitor) const noexcept(visit_is_nothrow< Func && >) + + + node_view + operator[] + classtoml_1_1node__view.html + a2dde12894f70530d80de45a03eae78fa + (std::string_view key) const noexcept + + + node_view + at_path + classtoml_1_1node__view.html + a59c5432fb77b50ef22098e17d4f956d5 + (std::string_view path) const noexcept + + + node_view + operator[] + classtoml_1_1node__view.html + a35021e65758dc0be505916532b69a7d8 + (std::wstring_view key) const + + + node_view + at_path + classtoml_1_1node__view.html + a157c1eafb7bdf8f33398106017d1b20c + (std::wstring_view path) const + + + node_view + operator[] + classtoml_1_1node__view.html + a5d13b026efcd31812415ead30eeb69db + (size_t index) const noexcept + + + + toml::parse_error + classtoml_1_1parse__error.html + + std::string_view + description + classtoml_1_1parse__error.html + a5582e9d66f8aa3f6ef442c0a04d5282f + () const noexcept + + + const source_region & + source + classtoml_1_1parse__error.html + a8168b4941305654cf4ba8fc96efd0514 + () const noexcept + + + friend std::ostream & + operator<< + classtoml_1_1parse__error.html + a90796878877b2a028354f643be725cf6 + (std::ostream &lhs, const parse_error &rhs) + + + + toml::parse_result + classtoml_1_1parse__result.html + + + parse_result + classtoml_1_1parse__result.html + a49f926286dae7ed5a6298f5a3656548b + () noexcept + + + + parse_result + classtoml_1_1parse__result.html + a058b76f39fb5a971585538f2d4098ba5 + (parse_result &&res) noexcept + + + parse_result & + operator= + classtoml_1_1parse__result.html + aa4c2c770a8d214f9d508582233ff1d84 + (parse_result &&rhs) noexcept + + + + ~parse_result + classtoml_1_1parse__result.html + ad9e22f09854af4c36860d61e0c0f25b1 + () noexcept + + + bool + succeeded + classtoml_1_1parse__result.html + ab5bfcd6ed385016395029bd69ad78a3c + () const noexcept + + + bool + failed + classtoml_1_1parse__result.html + a9097bc552007537f840602ceca00e99b + () const noexcept + + + + operator bool + classtoml_1_1parse__result.html + af66ea78a6dd881521ce865a372298e12 + () const noexcept + + + toml::table & + table + classtoml_1_1parse__result.html + a47d2ead20ae9d1681210c63319a6a162 + () &noexcept + + + toml::table && + table + classtoml_1_1parse__result.html + a77b470b66dd401a0a929006dd788b882 + () &&noexcept + + + const toml::table & + table + classtoml_1_1parse__result.html + a993f5d59c4b10f87138f8abb8a16d51d + () const &noexcept + + + + operator toml::table & + classtoml_1_1parse__result.html + a5e14e22d4d68b27c11711a3319dc6bf9 + () noexcept + + + + operator toml::table && + classtoml_1_1parse__result.html + a8dca1600886954b38b99a4a4f9cb77c4 + () noexcept + + + + operator const toml::table & + classtoml_1_1parse__result.html + a9d059289edaf6c7fb71916b21a2f9c9f + () const noexcept + + + parse_error & + error + classtoml_1_1parse__result.html + aefbb9aafdf00fa1ac979962d22e12e68 + () &noexcept + + + parse_error && + error + classtoml_1_1parse__result.html + ab07914228f9f7436628c99df454f177d + () &&noexcept + + + const parse_error & + error + classtoml_1_1parse__result.html + a9a5929b01df9a7f7f986b8431cefd2b8 + () const &noexcept + + + + operator parse_error & + classtoml_1_1parse__result.html + abc8a693cb538441b5974eff38c716669 + () noexcept + + + + operator parse_error && + classtoml_1_1parse__result.html + a9f70aa665d84aaf5f936dd27f6c95c4a + () noexcept + + + + operator const parse_error & + classtoml_1_1parse__result.html + a43df64e02443b2abfd9d2c86c5e4c30a + () const noexcept + + + node_view< node > + operator[] + classtoml_1_1parse__result.html + a8825eaef011c7dbb5c1d1e46584e90bc + (std::string_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1parse__result.html + a1d91207197c22f396acba5d46995d8ab + (std::string_view key) const noexcept + + + node_view< node > + at_path + classtoml_1_1parse__result.html + a09972ac3195147c36fcb40386c863a35 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1parse__result.html + a1296ae08b7d147c6b83f1ba07fc4186f + (std::string_view path) const noexcept + + + node_view< node > + operator[] + classtoml_1_1parse__result.html + ade8c625d35dcc5b4fdec97d9f5a7f96f + (std::wstring_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1parse__result.html + a58a3ee971220497ef922fc2ab5c7a9c0 + (std::wstring_view key) const noexcept + + + node_view< node > + at_path + classtoml_1_1parse__result.html + aafcd481c363a53ef525543373f5d8f68 + (std::wstring_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1parse__result.html + ac8db081d83ce6f41a46e586e41c58b5a + (std::wstring_view path) const noexcept + + + friend std::ostream & + operator<< + classtoml_1_1parse__result.html + ad4eaa8dc3cc144a912a63d9f95331572 + (std::ostream &os, const parse_result &result) + + + table_iterator + iterator + classtoml_1_1parse__result.html + aae503c11e9f9162de5cbef5e2c9f4863 + + + + const_table_iterator + const_iterator + classtoml_1_1parse__result.html + abf92ffb48c1f4d0f129f4032708d4ab0 + + + + table_iterator + begin + classtoml_1_1parse__result.html + a3f641e942f1518dffad6fcc7dc13893d + () noexcept + + + const_table_iterator + begin + classtoml_1_1parse__result.html + a910f13933a0547a2920404287829781f + () const noexcept + + + const_table_iterator + cbegin + classtoml_1_1parse__result.html + af58212d8a367e5c1d38eb5d58708754b + () const noexcept + + + table_iterator + end + classtoml_1_1parse__result.html + a336d398e329f08195d714ff02fdffca6 + () noexcept + + + const_table_iterator + end + classtoml_1_1parse__result.html + a154d32bca3ea50dc5030372675a85a65 + () const noexcept + + + const_table_iterator + cend + classtoml_1_1parse__result.html + afa4f821ad60ceb06327cec6b42b05071 + () const noexcept + + + bool + succeeded + classtoml_1_1parse__result.html + ab5bfcd6ed385016395029bd69ad78a3c + () const noexcept + + + bool + failed + classtoml_1_1parse__result.html + a9097bc552007537f840602ceca00e99b + () const noexcept + + + + operator bool + classtoml_1_1parse__result.html + af66ea78a6dd881521ce865a372298e12 + () const noexcept + + + toml::table & + table + classtoml_1_1parse__result.html + a47d2ead20ae9d1681210c63319a6a162 + () &noexcept + + + toml::table && + table + classtoml_1_1parse__result.html + a77b470b66dd401a0a929006dd788b882 + () &&noexcept + + + const toml::table & + table + classtoml_1_1parse__result.html + a993f5d59c4b10f87138f8abb8a16d51d + () const &noexcept + + + + operator toml::table & + classtoml_1_1parse__result.html + a5e14e22d4d68b27c11711a3319dc6bf9 + () noexcept + + + + operator toml::table && + classtoml_1_1parse__result.html + a8dca1600886954b38b99a4a4f9cb77c4 + () noexcept + + + + operator const toml::table & + classtoml_1_1parse__result.html + a9d059289edaf6c7fb71916b21a2f9c9f + () const noexcept + + + parse_error & + error + classtoml_1_1parse__result.html + aefbb9aafdf00fa1ac979962d22e12e68 + () &noexcept + + + parse_error && + error + classtoml_1_1parse__result.html + ab07914228f9f7436628c99df454f177d + () &&noexcept + + + const parse_error & + error + classtoml_1_1parse__result.html + a9a5929b01df9a7f7f986b8431cefd2b8 + () const &noexcept + + + + operator parse_error & + classtoml_1_1parse__result.html + abc8a693cb538441b5974eff38c716669 + () noexcept + + + + operator parse_error && + classtoml_1_1parse__result.html + a9f70aa665d84aaf5f936dd27f6c95c4a + () noexcept + + + + operator const parse_error & + classtoml_1_1parse__result.html + a43df64e02443b2abfd9d2c86c5e4c30a + () const noexcept + + + node_view< node > + operator[] + classtoml_1_1parse__result.html + a8825eaef011c7dbb5c1d1e46584e90bc + (std::string_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1parse__result.html + a1d91207197c22f396acba5d46995d8ab + (std::string_view key) const noexcept + + + node_view< node > + at_path + classtoml_1_1parse__result.html + a09972ac3195147c36fcb40386c863a35 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1parse__result.html + a1296ae08b7d147c6b83f1ba07fc4186f + (std::string_view path) const noexcept + + + node_view< node > + operator[] + classtoml_1_1parse__result.html + ade8c625d35dcc5b4fdec97d9f5a7f96f + (std::wstring_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1parse__result.html + a58a3ee971220497ef922fc2ab5c7a9c0 + (std::wstring_view key) const noexcept + + + node_view< node > + at_path + classtoml_1_1parse__result.html + aafcd481c363a53ef525543373f5d8f68 + (std::wstring_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1parse__result.html + ac8db081d83ce6f41a46e586e41c58b5a + (std::wstring_view path) const noexcept + + + + toml::source_position + structtoml_1_1source__position.html + + constexpr + operator bool + structtoml_1_1source__position.html + accba2f34a07d8b453b8f2f6baf2d73cf + () const noexcept + + + source_index + line + structtoml_1_1source__position.html + ab21cac59798d70e25fe97ac7433763cc + + + + source_index + column + structtoml_1_1source__position.html + a1ca6d0db40c69d2784703011f7cf5434 + + + + constexpr friend bool + operator== + structtoml_1_1source__position.html + a2661adb822c0291c5328d9d00e4b9a8f + (const source_position &lhs, const source_position &rhs) noexcept + + + constexpr friend bool + operator!= + structtoml_1_1source__position.html + a90fec8fa1014a1358a362f9171cdb073 + (const source_position &lhs, const source_position &rhs) noexcept + + + constexpr friend bool + operator< + structtoml_1_1source__position.html + a771714902fb113445597a1fd2a24e8cd + (const source_position &lhs, const source_position &rhs) noexcept + + + constexpr friend bool + operator<= + structtoml_1_1source__position.html + abb7d47c85374301ec48e7c5f3ee1c71a + (const source_position &lhs, const source_position &rhs) noexcept + + + friend std::ostream & + operator<< + structtoml_1_1source__position.html + a40b4b23ccd23a205a2c2298853066aba + (std::ostream &lhs, const source_position &rhs) + + + + toml::source_region + structtoml_1_1source__region.html + + optional< std::wstring > + wide_path + structtoml_1_1source__region.html + a8e9110cd42e834f95e9a12c59909c1c0 + () const + + + source_position + begin + structtoml_1_1source__region.html + ab36a5db15201864a13fb628f331196d0 + + + + source_position + end + structtoml_1_1source__region.html + a054940b42dcf83391697ec2b8690531d + + + + source_path_ptr + path + structtoml_1_1source__region.html + a25fc23f579edb8afc0818c013c5ac5d7 + + + + friend std::ostream & + operator<< + structtoml_1_1source__region.html + a9de8ac24a607abd098bb4179520f3734 + (std::ostream &lhs, const source_region &rhs) + + + + toml::table + classtoml_1_1table.html + toml::node + + + table + classtoml_1_1table.html + a2a7795e3ab96d9549ac17e30c53c66d0 + () noexcept=default + + + + table + classtoml_1_1table.html + a8c06941e05e31602d46f26ba84d14b23 + (const table &) + + + + table + classtoml_1_1table.html + ab47a76ab242afa13f1a74e5e2bcded44 + (table &&other) noexcept + + + + table + classtoml_1_1table.html + a7fdc52c0aa1bd67ae6738f029787bc2f + (std::initializer_list< impl::table_init_pair > kvps) + + + table & + operator= + classtoml_1_1table.html + ac4bdf5ade95ac5afa472ae1219b8b89d + (const table &) + + + table & + operator= + classtoml_1_1table.html + a5c5fd0e11db828ab264eccc96dfdd619 + (table &&rhs) noexcept + + + node_type + type + classtoml_1_1table.html + a03d15150652176b1714b70fb035cdeb0 + () const noexcept final + + + bool + is_homogeneous + classtoml_1_1table.html + abe1cc42533dc108b2062de2666471faa + (node_type ntype) const noexcept final + + + bool + is_homogeneous + classtoml_1_1table.html + af1a2f48edbb3afa9363c392595830846 + (node_type ntype, node *&first_nonmatch) noexcept final + + + bool + is_homogeneous + classtoml_1_1table.html + a8a0a8d4e44883a2467798dad07ddcb43 + (node_type ntype, const node *&first_nonmatch) const noexcept final + + + bool + is_table + classtoml_1_1table.html + a2cdfa1fd3e9d5c64cb5d4089a1d4344e + () const noexcept final + + + bool + is_array + classtoml_1_1table.html + a56d186a17d8e24bfa90fa6578e7b3872 + () const noexcept final + + + bool + is_array_of_tables + classtoml_1_1table.html + a52e6d4f667e464a49ac4928c8ed31fec + () const noexcept final + + + bool + is_value + classtoml_1_1table.html + aae222bf8089461dd4954311d1e403386 + () const noexcept final + + + bool + is_string + classtoml_1_1table.html + a6bf5f3666709891c5c6beba70835604a + () const noexcept final + + + bool + is_integer + classtoml_1_1table.html + a1a8b05c8de343cff20b47189d309862b + () const noexcept final + + + bool + is_floating_point + classtoml_1_1table.html + a6eafaab181b8ce2632b5c0556941fb76 + () const noexcept final + + + bool + is_number + classtoml_1_1table.html + a89392000e892868540f0513f4be45ba2 + () const noexcept final + + + bool + is_boolean + classtoml_1_1table.html + a60c4177e5d411c2f8be30f0b99b68189 + () const noexcept final + + + bool + is_date + classtoml_1_1table.html + a3052f7b2bce6add8ef50ea77c59338c4 + () const noexcept final + + + bool + is_time + classtoml_1_1table.html + a1fc645d975ce2b07348e1e9f8029d0c1 + () const noexcept final + + + bool + is_date_time + classtoml_1_1table.html + a38d82efe9d6fc89b5140e5abdde9127d + () const noexcept final + + + table * + as_table + classtoml_1_1table.html + af9cb47ecee9c13ded1308b64902f8a5c + () noexcept final + + + array * + as_array + classtoml_1_1table.html + a673bdcac9903b7da00c5893f6d7fe8e0 + () noexcept final + + + toml::value< std::string > * + as_string + classtoml_1_1table.html + aa8e3920bff569dee33fe8e34ffb6361d + () noexcept final + + + toml::value< int64_t > * + as_integer + classtoml_1_1table.html + a5b86281620ba34efabf7e3c4bef9675b + () noexcept final + + + toml::value< double > * + as_floating_point + classtoml_1_1table.html + ac3b5e969c4aaeebc3c36d514c3b54d5f + () noexcept final + + + toml::value< bool > * + as_boolean + classtoml_1_1table.html + a0cd6412f40c200939645028417d789cf + () noexcept final + + + toml::value< date > * + as_date + classtoml_1_1table.html + a1b5f7025e387eb10f16d4b3a763db501 + () noexcept final + + + toml::value< time > * + as_time + classtoml_1_1table.html + a980f61149308e193282b8f5bfaeda284 + () noexcept final + + + toml::value< date_time > * + as_date_time + classtoml_1_1table.html + a6a33617f7d6d95ef676ce0cb098d2970 + () noexcept final + + + const table * + as_table + classtoml_1_1table.html + a84fc8b87acc1f9f86384d375893f5d3c + () const noexcept final + + + const array * + as_array + classtoml_1_1table.html + af2dda58dc42b782b0c36a2367d948957 + () const noexcept final + + + const toml::value< std::string > * + as_string + classtoml_1_1table.html + aa8ab32e1b60f5b3b0bf9539076c89acc + () const noexcept final + + + const toml::value< int64_t > * + as_integer + classtoml_1_1table.html + a98c296e8a635190bab97e886c83f2648 + () const noexcept final + + + const toml::value< double > * + as_floating_point + classtoml_1_1table.html + aaf302e3edd84df4c31765ffb15aed0f2 + () const noexcept final + + + const toml::value< bool > * + as_boolean + classtoml_1_1table.html + abc2f126a04989073083065662df9e72b + () const noexcept final + + + const toml::value< date > * + as_date + classtoml_1_1table.html + a5759fb6852495964827f9982e9c8ce12 + () const noexcept final + + + const toml::value< time > * + as_time + classtoml_1_1table.html + a19e3aa65fd09b2f36d98627c432638b1 + () const noexcept final + + + const toml::value< date_time > * + as_date_time + classtoml_1_1table.html + a2fd53fcb036c335021e3ad098cf4d883 + () const noexcept final + + + bool + is_inline + classtoml_1_1table.html + a53be1b93aa90608ed378323df835a2f3 + () const noexcept + + + void + is_inline + classtoml_1_1table.html + a8e797a683ff2bacd14d7e7461ecd2780 + (bool val) noexcept + + + node * + get + classtoml_1_1table.html + ae6811ea7c692ac71880693e225c66aed + (std::string_view key) noexcept + + + const node * + get + classtoml_1_1table.html + a43afae4f760f715c69b0b8aa0a7ef071 + (std::string_view key) const noexcept + + + node * + get + classtoml_1_1table.html + a637ff9b8eb2880a1084f01b7b0725b12 + (std::wstring_view key) + + + const node * + get + classtoml_1_1table.html + add0f0c51c63d385f881022cab988744c + (std::wstring_view key) const + + + impl::wrap_node< T > * + get_as + classtoml_1_1table.html + afb960c9b2ea8066f917d22d348758513 + (std::string_view key) noexcept + + + const impl::wrap_node< T > * + get_as + classtoml_1_1table.html + aa21b91ee2ed48b24bf684b762f01c684 + (std::string_view key) const noexcept + + + impl::wrap_node< T > * + get_as + classtoml_1_1table.html + a32bfcd190cb9a8e06f381097a23d0b66 + (std::wstring_view key) + + + const impl::wrap_node< T > * + get_as + classtoml_1_1table.html + a0099ccf5df2f15ca17309c1897cb5e61 + (std::wstring_view key) const + + + node & + at + classtoml_1_1table.html + ae1e3925fca9b027958934a5c015c6c98 + (std::string_view key) + + + const node & + at + classtoml_1_1table.html + acadf9153fcdc5019add35426044f369e + (std::string_view key) const + + + node & + at + classtoml_1_1table.html + aef4d6369cf64a56322b96f1a15f761c6 + (std::wstring_view key) + + + const node & + at + classtoml_1_1table.html + ae8429bf4d0d3dd15b82344b575ec2a15 + (std::wstring_view key) const + + + bool + empty + classtoml_1_1table.html + a554f495f6f2ebc993be1bd0379447051 + () const noexcept + + + size_t + size + classtoml_1_1table.html + ad7c4105854cc817bf6e781fa7fb1b6d6 + () const noexcept + + + iterator + lower_bound + classtoml_1_1table.html + acc5180d0f3b1a78f45962f246a5d9605 + (std::string_view key) noexcept + + + const_iterator + lower_bound + classtoml_1_1table.html + a3b678ac60d00790308b96f5e51da4274 + (std::string_view key) const noexcept + + + iterator + lower_bound + classtoml_1_1table.html + aaaffca1b5d53d7b72d2f29c14f06d75e + (std::wstring_view key) + + + const_iterator + lower_bound + classtoml_1_1table.html + a2799383d484028ef5f466f8d1d34f315 + (std::wstring_view key) const + + + iterator + find + classtoml_1_1table.html + a087ecb9d9fd4562d79f83341f0c643c0 + (std::string_view key) noexcept + + + const_iterator + find + classtoml_1_1table.html + a65a894481bab5dd2bd00690931ed2692 + (std::string_view key) const noexcept + + + bool + contains + classtoml_1_1table.html + aacf6efa6e7865211f7a1283f79a88ee0 + (std::string_view key) const noexcept + + + iterator + find + classtoml_1_1table.html + ab1f12a827212d23ee0895fda92a5113c + (std::wstring_view key) + + + const_iterator + find + classtoml_1_1table.html + a25f8f4a8c4672042d75b810856bd676f + (std::wstring_view key) const + + + bool + contains + classtoml_1_1table.html + a7bec8d45353adeac918668a9fc5cb6a2 + (std::wstring_view key) const + + + iterator + erase + classtoml_1_1table.html + a1a90984876ccdd03aaa9e0f9801a839f + (iterator pos) noexcept + + + iterator + erase + classtoml_1_1table.html + a4dafb4ae116d92add973e5f27f880a9d + (const_iterator pos) noexcept + + + iterator + erase + classtoml_1_1table.html + a59f4dd9e42b73c9c1ec43134bef7e113 + (const_iterator begin, const_iterator end) noexcept + + + size_t + erase + classtoml_1_1table.html + ac6064df3f6f23b022884390a9963c1bc + (std::string_view key) noexcept + + + size_t + erase + classtoml_1_1table.html + add732807ee5e8fde81ceaa33acbaa7c6 + (std::wstring_view key) + + + table & + prune + classtoml_1_1table.html + a7f4d1d90dcea74d84f70db7e2d70c78a + (bool recursive=true) &noexcept + + + table && + prune + classtoml_1_1table.html + a14a59eed720b4d01840e290f82bb87b5 + (bool recursive=true) &&noexcept + + + void + clear + classtoml_1_1table.html + aa710f85c588a1b00c3192d1553de4eef + () noexcept + + + iterator + emplace_hint + classtoml_1_1table.html + a0d2378b5d13432bf8e325c388c650189 + (const_iterator hint, KeyType &&key, ValueArgs &&... args) + + + std::pair< iterator, bool > + insert + classtoml_1_1table.html + aed4c994aec5209b69d54d19f306b31bc + (KeyType &&key, ValueType &&val, value_flags flags=preserve_source_value_flags) + + + void + insert + classtoml_1_1table.html + a331eb6de04d95c3f76bf64e6f84d4ad6 + (Iter begin, Iter end, value_flags flags=preserve_source_value_flags) + + + std::pair< iterator, bool > + insert_or_assign + classtoml_1_1table.html + aa160b71ed6bc6fc638b19b5d9a8ef569 + (KeyType &&key, ValueType &&val, value_flags flags=preserve_source_value_flags) + + + std::pair< iterator, bool > + emplace + classtoml_1_1table.html + a485d7763c578d716b4f22abb1db3c975 + (KeyType &&key, ValueArgs &&... args) + + + node_view< node > + operator[] + classtoml_1_1table.html + a6d8386049f630c8551597a2180479c7c + (std::string_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1table.html + a9b13a19ddfcd2f76685f57587d28701c + (std::string_view key) const noexcept + + + node_view< node > + operator[] + classtoml_1_1table.html + a06fd3d9032b031b0363818939cd5cf38 + (std::wstring_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1table.html + a404ae83ed52c7b8ce294d3d4925c8a16 + (std::wstring_view key) const noexcept + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + friend std::ostream & + operator<< + classtoml_1_1table.html + a3d8aefefc9701472d2a314a43deba6d2 + (std::ostream &lhs, const table &rhs) + + + friend bool + operator== + classtoml_1_1table.html + af8ebaed8105e5de2098992764f2d534a + (const table &lhs, const table &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1table.html + abdeb5d9d9fc23c031c78e544c6196ea6 + (const table &lhs, const table &rhs) noexcept + + + toml::table_iterator + iterator + classtoml_1_1table.html + a87e055bad435d5332dc496c518733a4d + + + + toml::const_table_iterator + const_iterator + classtoml_1_1table.html + a68fea8ca9b1018f9675fd346b9f4512e + + + + iterator + begin + classtoml_1_1table.html + a334f050427eb20c8530254f4cd6dddf3 + () noexcept + + + const_iterator + begin + classtoml_1_1table.html + a3352f9954e03087b6f596ae23283bd3c + () const noexcept + + + const_iterator + cbegin + classtoml_1_1table.html + a15a5f8bd6d194fcbe925a24e5b73b1fb + () const noexcept + + + iterator + end + classtoml_1_1table.html + a96da67654c5ca131cfec2e3c07aa2730 + () noexcept + + + const_iterator + end + classtoml_1_1table.html + a40c72e81de1da66b7083cad11442cb05 + () const noexcept + + + const_iterator + cend + classtoml_1_1table.html + a311451209f990931ea25828c6091714f + () const noexcept + + + node_type + type + classtoml_1_1table.html + a03d15150652176b1714b70fb035cdeb0 + () const noexcept final + + + bool + is_homogeneous + classtoml_1_1table.html + abe1cc42533dc108b2062de2666471faa + (node_type ntype) const noexcept final + + + bool + is_homogeneous + classtoml_1_1table.html + af1a2f48edbb3afa9363c392595830846 + (node_type ntype, node *&first_nonmatch) noexcept final + + + bool + is_homogeneous + classtoml_1_1table.html + a8a0a8d4e44883a2467798dad07ddcb43 + (node_type ntype, const node *&first_nonmatch) const noexcept final + + + bool + is_table + classtoml_1_1table.html + a2cdfa1fd3e9d5c64cb5d4089a1d4344e + () const noexcept final + + + bool + is_array + classtoml_1_1table.html + a56d186a17d8e24bfa90fa6578e7b3872 + () const noexcept final + + + bool + is_array_of_tables + classtoml_1_1table.html + a52e6d4f667e464a49ac4928c8ed31fec + () const noexcept final + + + bool + is_value + classtoml_1_1table.html + aae222bf8089461dd4954311d1e403386 + () const noexcept final + + + bool + is_string + classtoml_1_1table.html + a6bf5f3666709891c5c6beba70835604a + () const noexcept final + + + bool + is_integer + classtoml_1_1table.html + a1a8b05c8de343cff20b47189d309862b + () const noexcept final + + + bool + is_floating_point + classtoml_1_1table.html + a6eafaab181b8ce2632b5c0556941fb76 + () const noexcept final + + + bool + is_number + classtoml_1_1table.html + a89392000e892868540f0513f4be45ba2 + () const noexcept final + + + bool + is_boolean + classtoml_1_1table.html + a60c4177e5d411c2f8be30f0b99b68189 + () const noexcept final + + + bool + is_date + classtoml_1_1table.html + a3052f7b2bce6add8ef50ea77c59338c4 + () const noexcept final + + + bool + is_time + classtoml_1_1table.html + a1fc645d975ce2b07348e1e9f8029d0c1 + () const noexcept final + + + bool + is_date_time + classtoml_1_1table.html + a38d82efe9d6fc89b5140e5abdde9127d + () const noexcept final + + + table * + as_table + classtoml_1_1table.html + af9cb47ecee9c13ded1308b64902f8a5c + () noexcept final + + + array * + as_array + classtoml_1_1table.html + a673bdcac9903b7da00c5893f6d7fe8e0 + () noexcept final + + + toml::value< std::string > * + as_string + classtoml_1_1table.html + aa8e3920bff569dee33fe8e34ffb6361d + () noexcept final + + + toml::value< int64_t > * + as_integer + classtoml_1_1table.html + a5b86281620ba34efabf7e3c4bef9675b + () noexcept final + + + toml::value< double > * + as_floating_point + classtoml_1_1table.html + ac3b5e969c4aaeebc3c36d514c3b54d5f + () noexcept final + + + toml::value< bool > * + as_boolean + classtoml_1_1table.html + a0cd6412f40c200939645028417d789cf + () noexcept final + + + toml::value< date > * + as_date + classtoml_1_1table.html + a1b5f7025e387eb10f16d4b3a763db501 + () noexcept final + + + toml::value< time > * + as_time + classtoml_1_1table.html + a980f61149308e193282b8f5bfaeda284 + () noexcept final + + + toml::value< date_time > * + as_date_time + classtoml_1_1table.html + a6a33617f7d6d95ef676ce0cb098d2970 + () noexcept final + + + const table * + as_table + classtoml_1_1table.html + a84fc8b87acc1f9f86384d375893f5d3c + () const noexcept final + + + const array * + as_array + classtoml_1_1table.html + af2dda58dc42b782b0c36a2367d948957 + () const noexcept final + + + const toml::value< std::string > * + as_string + classtoml_1_1table.html + aa8ab32e1b60f5b3b0bf9539076c89acc + () const noexcept final + + + const toml::value< int64_t > * + as_integer + classtoml_1_1table.html + a98c296e8a635190bab97e886c83f2648 + () const noexcept final + + + const toml::value< double > * + as_floating_point + classtoml_1_1table.html + aaf302e3edd84df4c31765ffb15aed0f2 + () const noexcept final + + + const toml::value< bool > * + as_boolean + classtoml_1_1table.html + abc2f126a04989073083065662df9e72b + () const noexcept final + + + const toml::value< date > * + as_date + classtoml_1_1table.html + a5759fb6852495964827f9982e9c8ce12 + () const noexcept final + + + const toml::value< time > * + as_time + classtoml_1_1table.html + a19e3aa65fd09b2f36d98627c432638b1 + () const noexcept final + + + const toml::value< date_time > * + as_date_time + classtoml_1_1table.html + a2fd53fcb036c335021e3ad098cf4d883 + () const noexcept final + + + bool + is_inline + classtoml_1_1table.html + a53be1b93aa90608ed378323df835a2f3 + () const noexcept + + + void + is_inline + classtoml_1_1table.html + a8e797a683ff2bacd14d7e7461ecd2780 + (bool val) noexcept + + + node * + get + classtoml_1_1table.html + ae6811ea7c692ac71880693e225c66aed + (std::string_view key) noexcept + + + const node * + get + classtoml_1_1table.html + a43afae4f760f715c69b0b8aa0a7ef071 + (std::string_view key) const noexcept + + + node * + get + classtoml_1_1table.html + a637ff9b8eb2880a1084f01b7b0725b12 + (std::wstring_view key) + + + const node * + get + classtoml_1_1table.html + add0f0c51c63d385f881022cab988744c + (std::wstring_view key) const + + + impl::wrap_node< T > * + get_as + classtoml_1_1table.html + afb960c9b2ea8066f917d22d348758513 + (std::string_view key) noexcept + + + const impl::wrap_node< T > * + get_as + classtoml_1_1table.html + aa21b91ee2ed48b24bf684b762f01c684 + (std::string_view key) const noexcept + + + impl::wrap_node< T > * + get_as + classtoml_1_1table.html + a32bfcd190cb9a8e06f381097a23d0b66 + (std::wstring_view key) + + + const impl::wrap_node< T > * + get_as + classtoml_1_1table.html + a0099ccf5df2f15ca17309c1897cb5e61 + (std::wstring_view key) const + + + node & + at + classtoml_1_1table.html + ae1e3925fca9b027958934a5c015c6c98 + (std::string_view key) + + + const node & + at + classtoml_1_1table.html + acadf9153fcdc5019add35426044f369e + (std::string_view key) const + + + node & + at + classtoml_1_1table.html + aef4d6369cf64a56322b96f1a15f761c6 + (std::wstring_view key) + + + const node & + at + classtoml_1_1table.html + ae8429bf4d0d3dd15b82344b575ec2a15 + (std::wstring_view key) const + + + bool + empty + classtoml_1_1table.html + a554f495f6f2ebc993be1bd0379447051 + () const noexcept + + + size_t + size + classtoml_1_1table.html + ad7c4105854cc817bf6e781fa7fb1b6d6 + () const noexcept + + + iterator + lower_bound + classtoml_1_1table.html + acc5180d0f3b1a78f45962f246a5d9605 + (std::string_view key) noexcept + + + const_iterator + lower_bound + classtoml_1_1table.html + a3b678ac60d00790308b96f5e51da4274 + (std::string_view key) const noexcept + + + iterator + lower_bound + classtoml_1_1table.html + aaaffca1b5d53d7b72d2f29c14f06d75e + (std::wstring_view key) + + + const_iterator + lower_bound + classtoml_1_1table.html + a2799383d484028ef5f466f8d1d34f315 + (std::wstring_view key) const + + + iterator + find + classtoml_1_1table.html + a087ecb9d9fd4562d79f83341f0c643c0 + (std::string_view key) noexcept + + + const_iterator + find + classtoml_1_1table.html + a65a894481bab5dd2bd00690931ed2692 + (std::string_view key) const noexcept + + + bool + contains + classtoml_1_1table.html + aacf6efa6e7865211f7a1283f79a88ee0 + (std::string_view key) const noexcept + + + iterator + find + classtoml_1_1table.html + ab1f12a827212d23ee0895fda92a5113c + (std::wstring_view key) + + + const_iterator + find + classtoml_1_1table.html + a25f8f4a8c4672042d75b810856bd676f + (std::wstring_view key) const + + + bool + contains + classtoml_1_1table.html + a7bec8d45353adeac918668a9fc5cb6a2 + (std::wstring_view key) const + + + iterator + erase + classtoml_1_1table.html + a1a90984876ccdd03aaa9e0f9801a839f + (iterator pos) noexcept + + + iterator + erase + classtoml_1_1table.html + a4dafb4ae116d92add973e5f27f880a9d + (const_iterator pos) noexcept + + + iterator + erase + classtoml_1_1table.html + a59f4dd9e42b73c9c1ec43134bef7e113 + (const_iterator begin, const_iterator end) noexcept + + + size_t + erase + classtoml_1_1table.html + ac6064df3f6f23b022884390a9963c1bc + (std::string_view key) noexcept + + + size_t + erase + classtoml_1_1table.html + add732807ee5e8fde81ceaa33acbaa7c6 + (std::wstring_view key) + + + table & + prune + classtoml_1_1table.html + a7f4d1d90dcea74d84f70db7e2d70c78a + (bool recursive=true) &noexcept + + + table && + prune + classtoml_1_1table.html + a14a59eed720b4d01840e290f82bb87b5 + (bool recursive=true) &&noexcept + + + void + clear + classtoml_1_1table.html + aa710f85c588a1b00c3192d1553de4eef + () noexcept + + + iterator + emplace_hint + classtoml_1_1table.html + a0d2378b5d13432bf8e325c388c650189 + (const_iterator hint, KeyType &&key, ValueArgs &&... args) + + + std::pair< iterator, bool > + insert + classtoml_1_1table.html + aed4c994aec5209b69d54d19f306b31bc + (KeyType &&key, ValueType &&val, value_flags flags=preserve_source_value_flags) + + + void + insert + classtoml_1_1table.html + a331eb6de04d95c3f76bf64e6f84d4ad6 + (Iter begin, Iter end, value_flags flags=preserve_source_value_flags) + + + std::pair< iterator, bool > + insert_or_assign + classtoml_1_1table.html + aa160b71ed6bc6fc638b19b5d9a8ef569 + (KeyType &&key, ValueType &&val, value_flags flags=preserve_source_value_flags) + + + std::pair< iterator, bool > + emplace + classtoml_1_1table.html + a485d7763c578d716b4f22abb1db3c975 + (KeyType &&key, ValueArgs &&... args) + + + node_view< node > + operator[] + classtoml_1_1table.html + a6d8386049f630c8551597a2180479c7c + (std::string_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1table.html + a9b13a19ddfcd2f76685f57587d28701c + (std::string_view key) const noexcept + + + node_view< node > + operator[] + classtoml_1_1table.html + a06fd3d9032b031b0363818939cd5cf38 + (std::wstring_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1table.html + a404ae83ed52c7b8ce294d3d4925c8a16 + (std::wstring_view key) const noexcept + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + friend bool + operator== + classtoml_1_1table.html + af8ebaed8105e5de2098992764f2d534a + (const table &lhs, const table &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1table.html + abdeb5d9d9fc23c031c78e544c6196ea6 + (const table &lhs, const table &rhs) noexcept + + + + toml::time + structtoml_1_1time.html + + + time + structtoml_1_1time.html + a460d6626a20b992f38c676bf5ee62a20 + () noexcept=default + + + constexpr + time + structtoml_1_1time.html + acaec3dc6784706c57cc712ab403123e6 + (H h, M m, S s=S{}, NS ns=NS{}) noexcept + + + uint8_t + hour + structtoml_1_1time.html + a18f32a58846d333f9e866b725b7b7ae4 + + + + uint8_t + minute + structtoml_1_1time.html + a02de4fe041dfa9535eb4df60d86f7fb4 + + + + uint8_t + second + structtoml_1_1time.html + a8ae0ab849a761543207ca86a2e1d0fdf + + + + uint32_t + nanosecond + structtoml_1_1time.html + a3e9c60650ccd21f1e47132b777547185 + + + + constexpr friend bool + operator== + structtoml_1_1time.html + aa88d156f8ea405513e00702b3c88de2f + (const time &lhs, const time &rhs) noexcept + + + constexpr friend bool + operator!= + structtoml_1_1time.html + a76766a077e105960758caa4a9cbfd25b + (const time &lhs, const time &rhs) noexcept + + + constexpr friend bool + operator< + structtoml_1_1time.html + a220d5428532dc59f1846f29159430be8 + (const time &lhs, const time &rhs) noexcept + + + constexpr friend bool + operator<= + structtoml_1_1time.html + a459d4906732bd6c6129de62f1c601a60 + (const time &lhs, const time &rhs) noexcept + + + constexpr friend bool + operator> + structtoml_1_1time.html + a8564e5d443652ec48b50acedee1ab64c + (const time &lhs, const time &rhs) noexcept + + + constexpr friend bool + operator>= + structtoml_1_1time.html + ae551c63caf265a78d5a73c797ee538f5 + (const time &lhs, const time &rhs) noexcept + + + friend std::ostream & + operator<< + structtoml_1_1time.html + aad81b91942de3b3f2d54656c8a686ee7 + (std::ostream &lhs, const time &rhs) + + + + toml::time_offset + structtoml_1_1time__offset.html + + + time_offset + structtoml_1_1time__offset.html + a49af2cb136f213443f15e108657f5f0e + () noexcept=default + + + constexpr + time_offset + structtoml_1_1time__offset.html + a9e963488f164473ee9af35ddf7d4f93e + (H h, M m) noexcept + + + int16_t + minutes + structtoml_1_1time__offset.html + a2f4cd0259300e318defc0c5efde592dd + + + + constexpr friend bool + operator== + structtoml_1_1time__offset.html + ad9423ee067d0a4c0ba39deb2679a07f6 + (time_offset lhs, time_offset rhs) noexcept + + + constexpr friend bool + operator!= + structtoml_1_1time__offset.html + a77e5bb056ffcd6a91b1740333f23b806 + (time_offset lhs, time_offset rhs) noexcept + + + constexpr friend bool + operator< + structtoml_1_1time__offset.html + afe1582662b6922546524d14c1588cf9d + (time_offset lhs, time_offset rhs) noexcept + + + constexpr friend bool + operator<= + structtoml_1_1time__offset.html + a4a0886d9ad65963a4e812576ba0c6928 + (time_offset lhs, time_offset rhs) noexcept + + + constexpr friend bool + operator> + structtoml_1_1time__offset.html + aa5270a5c11af2a9344d2c20911643429 + (time_offset lhs, time_offset rhs) noexcept + + + constexpr friend bool + operator>= + structtoml_1_1time__offset.html + a0146123daf63c677b2559aaf9bda1338 + (time_offset lhs, time_offset rhs) noexcept + + + friend std::ostream & + operator<< + structtoml_1_1time__offset.html + ac87df01b4e60bd303d75712470517451 + (std::ostream &lhs, const time_offset &rhs) + + + + toml::toml_formatter + classtoml_1_1toml__formatter.html + + + toml_formatter + classtoml_1_1toml__formatter.html + a8110aaa1057d7633428f6795ac14983a + (const toml::node &source, format_flags flags=default_flags) noexcept + + + + toml_formatter + classtoml_1_1toml__formatter.html + a3af0ca99139edbd30845a5cd7d2c0137 + (const toml::parse_result &result, format_flags flags=default_flags) noexcept + + + static constexpr format_flags + default_flags + classtoml_1_1toml__formatter.html + a0aa00006896f1b23e8bb2ec1a6842845 + + + + friend std::ostream & + operator<< + classtoml_1_1toml__formatter.html + a50815f484095776407f34b1694bbf73e + (std::ostream &lhs, toml_formatter &rhs) + + + friend std::ostream & + operator<< + classtoml_1_1toml__formatter.html + af02b5eabe1e84be843255c7cf02e8dda + (std::ostream &lhs, toml_formatter &&rhs) + + + + toml::value + classtoml_1_1value.html + + toml::node + + ValueType + value_type + classtoml_1_1value.html + ad87b8c7ec465c424b861aba2d4cd5526 + + + + POXY_IMPLEMENTATION_DETAIL_IMPL + value_arg + classtoml_1_1value.html + ac1316850f0671bab2505d126570e3660 + + + + + value + classtoml_1_1value.html + addb06e973867c52b1ea77efae1c6ad10 + (Args &&... args) noexcept(noexcept(value_type(impl::native_value_maker< value_type, std::decay_t< Args >... >::make(static_cast< Args && >(args)...)))) + + + + value + classtoml_1_1value.html + a62ace5d37c6cf09fdc589efa5e0a0905 + (const value &other) noexcept + + + + value + classtoml_1_1value.html + a65e6e8fa27455d83ad3ada020e11cf91 + (const value &other, value_flags flags) noexcept + + + + value + classtoml_1_1value.html + adfb0250a9769fea9d585609db77bc64a + (value &&other) noexcept + + + + value + classtoml_1_1value.html + a5f6f5a83b2dc3f5842f7fd5fbc0e4f59 + (value &&other, value_flags flags) noexcept + + + value & + operator= + classtoml_1_1value.html + a339731a8213b5e0993b5547067fde1f7 + (const value &rhs) noexcept + + + value & + operator= + classtoml_1_1value.html + a958da7aae3ff90094e348ebceaa4aa5d + (value &&rhs) noexcept + + + value & + operator= + classtoml_1_1value.html + a08950deffd1a5568154d58d27517c973 + (value_arg rhs) noexcept + + + node_type + type + classtoml_1_1value.html + a69ed0d45e2de5929fea3375cd68960eb + () const noexcept final + + + bool + is_homogeneous + classtoml_1_1value.html + a66f31db0fe4aa1a65fff1ce3bb8be1eb + (node_type ntype) const noexcept final + + + bool + is_homogeneous + classtoml_1_1value.html + a5097925569d4e2f581907dc692aefe02 + (node_type ntype, node *&first_nonmatch) noexcept final + + + bool + is_homogeneous + classtoml_1_1value.html + a40d4ea2ff0d393245fc31dfc6a0f27fb + (node_type ntype, const node *&first_nonmatch) const noexcept final + + + bool + is_table + classtoml_1_1value.html + a4169ed284f3a6d31e838f117dc2f3df0 + () const noexcept final + + + bool + is_array + classtoml_1_1value.html + a160b4dd33afd4d8c02b1a4c7bc48f17f + () const noexcept final + + + bool + is_array_of_tables + classtoml_1_1value.html + a6676776ebf94891825c658432252cab0 + () const noexcept final + + + bool + is_value + classtoml_1_1value.html + a5d1d988a74ab5c6e6cae9706891083f3 + () const noexcept final + + + bool + is_string + classtoml_1_1value.html + a98d477b7ee151d7fc68c49ea7c52a314 + () const noexcept final + + + bool + is_integer + classtoml_1_1value.html + ad5b1844c180a0fb2de06ed4cdbb259a4 + () const noexcept final + + + bool + is_floating_point + classtoml_1_1value.html + aa5b3aac577c60b24f31550f8b7add69f + () const noexcept final + + + bool + is_number + classtoml_1_1value.html + ad40ad64d9a8f0256e550a9226dbed121 + () const noexcept final + + + bool + is_boolean + classtoml_1_1value.html + a6816cd2fbae35e21990d3d5616da595a + () const noexcept final + + + bool + is_date + classtoml_1_1value.html + a47ebc97c4b51999c81eb053d453ac916 + () const noexcept final + + + bool + is_time + classtoml_1_1value.html + a9a1a2e0a15181c6677d14a2812e34878 + () const noexcept final + + + bool + is_date_time + classtoml_1_1value.html + a1e8fb6a37f65fff99a631ade34ab6db4 + () const noexcept final + + + table * + as_table + classtoml_1_1value.html + a684976e4e2ea671e7bd21c39a4f73575 + () noexcept final + + + array * + as_array + classtoml_1_1value.html + a5e2f5338ace567ec7bc755885b793c01 + () noexcept final + + + value< std::string > * + as_string + classtoml_1_1value.html + a9a7177395eb559e2ed2c117832dace2a + () noexcept final + + + value< int64_t > * + as_integer + classtoml_1_1value.html + a170f66cced91fc2886c22df7d45f8f73 + () noexcept final + + + value< double > * + as_floating_point + classtoml_1_1value.html + ab95947fa235b163c138d925425035059 + () noexcept final + + + value< bool > * + as_boolean + classtoml_1_1value.html + ab06706bf668f496a6d24d6891b34b464 + () noexcept final + + + value< date > * + as_date + classtoml_1_1value.html + afd03f397e42e97c8c3e045c4b19b609e + () noexcept final + + + value< time > * + as_time + classtoml_1_1value.html + a4314057128266b74095454cca743a27d + () noexcept final + + + value< date_time > * + as_date_time + classtoml_1_1value.html + a49cf272fa0f71b73938df7ddffcc8b1c + () noexcept final + + + const table * + as_table + classtoml_1_1value.html + a8b5c3b02c365287e9b563dbe11c7172c + () const noexcept final + + + const array * + as_array + classtoml_1_1value.html + a5d7017fd9eec74756496960956a92d6a + () const noexcept final + + + const value< std::string > * + as_string + classtoml_1_1value.html + a316fa5b1b2764447c8d51c38071f79c1 + () const noexcept final + + + const value< int64_t > * + as_integer + classtoml_1_1value.html + aac0acf026dfb903349ce49321153f55d + () const noexcept final + + + const value< double > * + as_floating_point + classtoml_1_1value.html + af2a3d05b2ef1ff57291d3d4c660b86d6 + () const noexcept final + + + const value< bool > * + as_boolean + classtoml_1_1value.html + a3a81671d39b75363ba7c2b3fd6b7644a + () const noexcept final + + + const value< date > * + as_date + classtoml_1_1value.html + a40247e128f2ffdb5386ee41b2a84b52d + () const noexcept final + + + const value< time > * + as_time + classtoml_1_1value.html + a725874485bb19ade041deb8869bff6d5 + () const noexcept final + + + const value< date_time > * + as_date_time + classtoml_1_1value.html + ad297cd1ba10960e125e5a0c75ea51ff4 + () const noexcept final + + + value_type & + get + classtoml_1_1value.html + af607a8347e5918b35fcfb11e8f7d4398 + () &noexcept + + + value_type && + get + classtoml_1_1value.html + a0b4ea781b83a3c164df24129d0e73341 + () &&noexcept + + + const value_type & + get + classtoml_1_1value.html + a3a0ec9ea9604d68ba9a9a4692868f8d8 + () const &noexcept + + + const value_type && + get + classtoml_1_1value.html + ae3bb95e7af4622ded16328b827a6089d + () const &&noexcept + + + value_type & + operator* + classtoml_1_1value.html + a054c1fb796a4e560d4afb27019bb1aef + () &noexcept + + + value_type && + operator* + classtoml_1_1value.html + a64ad94a1086eedde1a94f12f020498d2 + () &&noexcept + + + const value_type & + operator* + classtoml_1_1value.html + a15e56286d17f11a4d567eaddb36368f8 + () const &noexcept + + + const value_type && + operator* + classtoml_1_1value.html + a752f50ec7dac91b579e48db6a15f388e + () const &&noexcept + + + + operator value_type & + classtoml_1_1value.html + adaf04b51fea2bdc3da39fbf63c240b3b + () &noexcept + + + + operator value_type && + classtoml_1_1value.html + ad5d4a1c818d7004bc4c42219edf84dd9 + () &&noexcept + + + + operator const value_type & + classtoml_1_1value.html + aeaa7f385c753bc7f11f0758d8ae325b6 + () const &noexcept + + + + operator const value_type && + classtoml_1_1value.html + aef9bb783e7c8ba475838742b7cfc3178 + () &&noexcept + + + value_type * + operator-> + classtoml_1_1value.html + a79983137e697848cb82a95b265b03d4d + () noexcept + + + const value_type * + operator-> + classtoml_1_1value.html + a23ab1c59bf4ec4bc19b6fa3fcf399171 + () const noexcept + + + value_flags + flags + classtoml_1_1value.html + a1a213908a7297491a07e647967897fcb + () const noexcept + + + value & + flags + classtoml_1_1value.html + a4311828058d75bfaa2c01c3395d09385 + (value_flags new_flags) noexcept + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + friend std::ostream & + operator<< + classtoml_1_1value.html + ae160ab8204a4ed57dac2ad6c5aebb683 + (std::ostream &lhs, const value &rhs) + + + friend bool + operator== + classtoml_1_1value.html + a0b90e4f85ecaf2c81e4ba8b42aa5ce34 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a1771aa33bd2d425b542d0b9d0e90866d + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a6bbe09942bd6046fa94addb911940491 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + a7d02565c608c663afc8f3d2102639740 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + a2f37f69d3e477c0c2e2ba16f6919815e + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + ace8c00e345c69ee93e5d2bd2df694340 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + af200f2be4273ed0923743f4b918f86e6 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a80417b5055072f20d3a6985d1b78af21 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a727e2acd21edf04a144918d174706ba6 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator== + classtoml_1_1value.html + a2fa446100047d052d0cca2c1f3f60085 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1value.html + a872e565adfbcd201f2ab1e3103699758 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a7fdc4f87f9ec3efb896cc3e09694328b + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + ac6af15f59d537d95d1afe887b12b697e + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + ab95d07a7f48e44baefbacbf5f6072837 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a0ebdea821d98546de4b686f450506637 + (const value &lhs, const value< T > &rhs) noexcept + + + node_type + type + classtoml_1_1value.html + a69ed0d45e2de5929fea3375cd68960eb + () const noexcept final + + + bool + is_homogeneous + classtoml_1_1value.html + a66f31db0fe4aa1a65fff1ce3bb8be1eb + (node_type ntype) const noexcept final + + + bool + is_homogeneous + classtoml_1_1value.html + a5097925569d4e2f581907dc692aefe02 + (node_type ntype, node *&first_nonmatch) noexcept final + + + bool + is_homogeneous + classtoml_1_1value.html + a40d4ea2ff0d393245fc31dfc6a0f27fb + (node_type ntype, const node *&first_nonmatch) const noexcept final + + + bool + is_table + classtoml_1_1value.html + a4169ed284f3a6d31e838f117dc2f3df0 + () const noexcept final + + + bool + is_array + classtoml_1_1value.html + a160b4dd33afd4d8c02b1a4c7bc48f17f + () const noexcept final + + + bool + is_array_of_tables + classtoml_1_1value.html + a6676776ebf94891825c658432252cab0 + () const noexcept final + + + bool + is_value + classtoml_1_1value.html + a5d1d988a74ab5c6e6cae9706891083f3 + () const noexcept final + + + bool + is_string + classtoml_1_1value.html + a98d477b7ee151d7fc68c49ea7c52a314 + () const noexcept final + + + bool + is_integer + classtoml_1_1value.html + ad5b1844c180a0fb2de06ed4cdbb259a4 + () const noexcept final + + + bool + is_floating_point + classtoml_1_1value.html + aa5b3aac577c60b24f31550f8b7add69f + () const noexcept final + + + bool + is_number + classtoml_1_1value.html + ad40ad64d9a8f0256e550a9226dbed121 + () const noexcept final + + + bool + is_boolean + classtoml_1_1value.html + a6816cd2fbae35e21990d3d5616da595a + () const noexcept final + + + bool + is_date + classtoml_1_1value.html + a47ebc97c4b51999c81eb053d453ac916 + () const noexcept final + + + bool + is_time + classtoml_1_1value.html + a9a1a2e0a15181c6677d14a2812e34878 + () const noexcept final + + + bool + is_date_time + classtoml_1_1value.html + a1e8fb6a37f65fff99a631ade34ab6db4 + () const noexcept final + + + table * + as_table + classtoml_1_1value.html + a684976e4e2ea671e7bd21c39a4f73575 + () noexcept final + + + array * + as_array + classtoml_1_1value.html + a5e2f5338ace567ec7bc755885b793c01 + () noexcept final + + + value< std::string > * + as_string + classtoml_1_1value.html + a9a7177395eb559e2ed2c117832dace2a + () noexcept final + + + value< int64_t > * + as_integer + classtoml_1_1value.html + a170f66cced91fc2886c22df7d45f8f73 + () noexcept final + + + value< double > * + as_floating_point + classtoml_1_1value.html + ab95947fa235b163c138d925425035059 + () noexcept final + + + value< bool > * + as_boolean + classtoml_1_1value.html + ab06706bf668f496a6d24d6891b34b464 + () noexcept final + + + value< date > * + as_date + classtoml_1_1value.html + afd03f397e42e97c8c3e045c4b19b609e + () noexcept final + + + value< time > * + as_time + classtoml_1_1value.html + a4314057128266b74095454cca743a27d + () noexcept final + + + value< date_time > * + as_date_time + classtoml_1_1value.html + a49cf272fa0f71b73938df7ddffcc8b1c + () noexcept final + + + const table * + as_table + classtoml_1_1value.html + a8b5c3b02c365287e9b563dbe11c7172c + () const noexcept final + + + const array * + as_array + classtoml_1_1value.html + a5d7017fd9eec74756496960956a92d6a + () const noexcept final + + + const value< std::string > * + as_string + classtoml_1_1value.html + a316fa5b1b2764447c8d51c38071f79c1 + () const noexcept final + + + const value< int64_t > * + as_integer + classtoml_1_1value.html + aac0acf026dfb903349ce49321153f55d + () const noexcept final + + + const value< double > * + as_floating_point + classtoml_1_1value.html + af2a3d05b2ef1ff57291d3d4c660b86d6 + () const noexcept final + + + const value< bool > * + as_boolean + classtoml_1_1value.html + a3a81671d39b75363ba7c2b3fd6b7644a + () const noexcept final + + + const value< date > * + as_date + classtoml_1_1value.html + a40247e128f2ffdb5386ee41b2a84b52d + () const noexcept final + + + const value< time > * + as_time + classtoml_1_1value.html + a725874485bb19ade041deb8869bff6d5 + () const noexcept final + + + const value< date_time > * + as_date_time + classtoml_1_1value.html + ad297cd1ba10960e125e5a0c75ea51ff4 + () const noexcept final + + + value_type & + get + classtoml_1_1value.html + af607a8347e5918b35fcfb11e8f7d4398 + () &noexcept + + + value_type && + get + classtoml_1_1value.html + a0b4ea781b83a3c164df24129d0e73341 + () &&noexcept + + + const value_type & + get + classtoml_1_1value.html + a3a0ec9ea9604d68ba9a9a4692868f8d8 + () const &noexcept + + + const value_type && + get + classtoml_1_1value.html + ae3bb95e7af4622ded16328b827a6089d + () const &&noexcept + + + value_type & + operator* + classtoml_1_1value.html + a054c1fb796a4e560d4afb27019bb1aef + () &noexcept + + + value_type && + operator* + classtoml_1_1value.html + a64ad94a1086eedde1a94f12f020498d2 + () &&noexcept + + + const value_type & + operator* + classtoml_1_1value.html + a15e56286d17f11a4d567eaddb36368f8 + () const &noexcept + + + const value_type && + operator* + classtoml_1_1value.html + a752f50ec7dac91b579e48db6a15f388e + () const &&noexcept + + + + operator value_type & + classtoml_1_1value.html + adaf04b51fea2bdc3da39fbf63c240b3b + () &noexcept + + + + operator value_type && + classtoml_1_1value.html + ad5d4a1c818d7004bc4c42219edf84dd9 + () &&noexcept + + + + operator const value_type & + classtoml_1_1value.html + aeaa7f385c753bc7f11f0758d8ae325b6 + () const &noexcept + + + + operator const value_type && + classtoml_1_1value.html + aef9bb783e7c8ba475838742b7cfc3178 + () &&noexcept + + + value_type * + operator-> + classtoml_1_1value.html + a79983137e697848cb82a95b265b03d4d + () noexcept + + + const value_type * + operator-> + classtoml_1_1value.html + a23ab1c59bf4ec4bc19b6fa3fcf399171 + () const noexcept + + + value_flags + flags + classtoml_1_1value.html + a1a213908a7297491a07e647967897fcb + () const noexcept + + + value & + flags + classtoml_1_1value.html + a4311828058d75bfaa2c01c3395d09385 + (value_flags new_flags) noexcept + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + friend bool + operator== + classtoml_1_1value.html + a0b90e4f85ecaf2c81e4ba8b42aa5ce34 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a1771aa33bd2d425b542d0b9d0e90866d + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a6bbe09942bd6046fa94addb911940491 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + a7d02565c608c663afc8f3d2102639740 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + a2f37f69d3e477c0c2e2ba16f6919815e + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + ace8c00e345c69ee93e5d2bd2df694340 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + af200f2be4273ed0923743f4b918f86e6 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a80417b5055072f20d3a6985d1b78af21 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a727e2acd21edf04a144918d174706ba6 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator== + classtoml_1_1value.html + a2fa446100047d052d0cca2c1f3f60085 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1value.html + a872e565adfbcd201f2ab1e3103699758 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a7fdc4f87f9ec3efb896cc3e09694328b + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + ac6af15f59d537d95d1afe887b12b697e + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + ab95d07a7f48e44baefbacbf5f6072837 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a0ebdea821d98546de4b686f450506637 + (const value &lhs, const value< T > &rhs) noexcept + + + + toml::yaml_formatter + classtoml_1_1yaml__formatter.html + + + yaml_formatter + classtoml_1_1yaml__formatter.html + a0089cdd517d9f6641ed10c8ddb5b1c11 + (const toml::node &source, format_flags flags=default_flags) noexcept + + + + yaml_formatter + classtoml_1_1yaml__formatter.html + a2eb50c4983f7ec26a417befeface23bf + (const toml::parse_result &result, format_flags flags=default_flags) noexcept + + + static constexpr format_flags + default_flags + classtoml_1_1yaml__formatter.html + af161f0a6c794945e85b210ee85cb78e9 + + + + friend std::ostream & + operator<< + classtoml_1_1yaml__formatter.html + a10b0c89256eb2ab4ea2b4e23f8ad8eff + (std::ostream &lhs, yaml_formatter &rhs) + + + friend std::ostream & + operator<< + classtoml_1_1yaml__formatter.html + a50d463617bccb66a9cdf01390321bd47 + (std::ostream &lhs, yaml_formatter &&rhs) + + + + toml + namespacetoml.html + toml::literals + toml::array + toml::date + toml::time + toml::time_offset + toml::date_time + toml::inserter + toml::json_formatter + toml::key + toml::node + toml::node_view + toml::parse_error + toml::parse_result + toml::source_position + toml::source_region + toml::table + toml::toml_formatter + toml::value + toml::yaml_formatter + + POXY_IMPLEMENTATION_DETAIL_IMPL + array_iterator + namespacetoml.html + ac7e383cde1b8d61dba45292b2b0fcb69 + + + + POXY_IMPLEMENTATION_DETAIL_IMPL + const_array_iterator + namespacetoml.html + aeba9fe3a193c8b641a1fb3a2096d7c13 + + + + toml_formatter + default_formatter + namespacetoml.html + a2b87b5d257f54773683328031f453e76 + + + + POXY_IMPLEMENTATION_DETAIL_IMPL + inserted_type_of + namespacetoml.html + aef1f0bbcdd3686e268f4b81d9da701be + + + + uint32_t + source_index + namespacetoml.html + afb852fa22a8b3ea9d200d645b9d5c308 + + + + std::shared_ptr< const std::string > + source_path_ptr + namespacetoml.html + ac6cf446b480546ae1f71f5b86442368d + + + + std::optional< T > + optional + namespacetoml.html + af34a9fb3305e419784104609e6bbb7ac + + + + POXY_IMPLEMENTATION_DETAIL_IMPL + table_iterator + namespacetoml.html + a19243ec6febf1bb834ea9e366405e317 + + + + POXY_IMPLEMENTATION_DETAIL_IMPL + const_table_iterator + namespacetoml.html + a4bccd753f54404e0097457514177fcbb + + + + + node_type + namespacetoml.html + abac3e84bbf1f2c90717fca107055f48d + + none + table + array + string + integer + floating_point + boolean + date + time + date_time + + + + value_flags + namespacetoml.html + a73eba6a34e7c7c4a4d311100800e1bb5 + + none + format_as_binary + format_as_octal + format_as_hexadecimal + + + + format_flags + namespacetoml.html + a2102aa80bc57783d96180f36e1f64f6a + + none + quote_dates_and_times + quote_infinities_and_nans + allow_literal_strings + allow_multi_line_strings + allow_real_tabs_in_strings + allow_unicode_strings + allow_binary_integers + allow_octal_integers + allow_hexadecimal_integers + indent_sub_tables + indent_array_elements + indentation + relaxed_float_precision + + + node_view< node > + at_path + namespacetoml.html + a034ab5f50d46f89dcaf871a788d56be9 + (node &root, std::string_view path) noexcept + + + node_view< const node > + at_path + namespacetoml.html + acecea9874ff621405e1c3f38433ba56d + (const node &root, std::string_view path) noexcept + + + node_view< node > + at_path + namespacetoml.html + a6355193bb51dc19b1f1509c6dac46b23 + (node &root, std::wstring_view path) + + + node_view< const node > + at_path + namespacetoml.html + aef2c5186913edbd8daf4a3d525fa5333 + (const node &root, std::wstring_view path) + + + std::basic_ostream< Char > & + operator<< + namespacetoml.html + aba6195d5e83ab18f30c9a211384e2c1a + (std::basic_ostream< Char > &lhs, node_type rhs) + + + parse_result + parse + namespacetoml.html + ada8654fb4ceef15c20fc1d5e0cc734dd + (std::string_view doc, std::string_view source_path={}) + + + parse_result + parse + namespacetoml.html + a20fa3e08d72759083fb17c772a357043 + (std::string_view doc, std::string &&source_path) + + + parse_result + parse_file + namespacetoml.html + a8dbc58dad43c3b66f4476a7131f5741a + (std::string_view file_path) + + + parse_result + parse + namespacetoml.html + ae9ee4300ddfbd72b7237283ab8d97618 + (std::u8string_view doc, std::string_view source_path={}) + + + parse_result + parse + namespacetoml.html + a02a2724564149ad8439c0457357308b8 + (std::u8string_view doc, std::string &&source_path) + + + parse_result + parse_file + namespacetoml.html + acdbabd4b771d221fe98b0053d848d69d + (std::u8string_view file_path) + + + parse_result + parse + namespacetoml.html + a01565f26a7982d162949bac3b554a334 + (std::string_view doc, std::wstring_view source_path) + + + parse_result + parse + namespacetoml.html + ac7767943620762c22b6341dc6682cc2d + (std::istream &doc, std::wstring_view source_path) + + + parse_result + parse_file + namespacetoml.html + ad425af491341206589ca6acc37c3b19e + (std::wstring_view file_path) + + + parse_result + parse + namespacetoml.html + a38852451309f406db281f17334ea8dfe + (std::u8string_view doc, std::wstring_view source_path) + + + parse_result + parse + namespacetoml.html + a2ee84ffccded737ab40afcb8122d8277 + (std::istream &doc, std::string_view source_path={}) + + + parse_result + parse + namespacetoml.html + a8079e71bd86722701ca91828c6709305 + (std::istream &doc, std::string &&source_path) + + + constexpr value_flags + preserve_source_value_flags + namespacetoml.html + a32f700b152e15c357801e905d626a4fb + + + + constexpr bool + is_table + namespacetoml.html + ad11c8c8a8286d6931e40658679aa7ddb + + + + constexpr bool + is_array + namespacetoml.html + a2251b703f3ec4d1a3036c82ead3d69cc + + + + constexpr bool + is_container + namespacetoml.html + ad6c6e1677e1cc564d40efa89af2514a2 + + + + constexpr bool + is_string + namespacetoml.html + aea14621807afe92a840d82c7139cde07 + + + + constexpr bool + is_integer + namespacetoml.html + a513bdc4a19071f0be70e92bb6cb1a1a3 + + + + constexpr bool + is_floating_point + namespacetoml.html + a1aaaa0e264cdd4f43518571f2f61ac36 + + + + constexpr bool + is_number + namespacetoml.html + a64ce7ed6974d2b17823565bc67c40873 + + + + constexpr bool + is_boolean + namespacetoml.html + a8e79820651cc9a835082cf9abd47d885 + + + + constexpr bool + is_date + namespacetoml.html + a3c5daa4563e3aff2b5e6460aa97d28df + + + + constexpr bool + is_time + namespacetoml.html + a87aee32768a32bb838150421e4e3cf97 + + + + constexpr bool + is_date_time + namespacetoml.html + a3285caf012789a607851026f9827a33d + + + + constexpr bool + is_chronological + namespacetoml.html + a7f8764060ca7dccb7e829f67d82c0485 + + + + constexpr bool + is_value + namespacetoml.html + a0d9cd265e448130b95305ccd68d2f508 + + + + constexpr bool + is_node + namespacetoml.html + a4e4126f63ba560963de095cd9bee0704 + + + + constexpr bool + is_node_view + namespacetoml.html + ab5b06dac8c1e0de9e06411917e10b618 + + + + constexpr bool + is_key + namespacetoml.html + a7b8ef907d9629d139a30d874b345b195 + + + + constexpr bool + is_key_or_convertible + namespacetoml.html + a052fafde71907ef3a8590ef7ec2455d8 + + + + + toml::literals + namespacetoml_1_1literals.html + + parse_result + operator""_toml + namespacetoml_1_1literals.html + a401530e560c2dc540729af01e10b2a74 + (const char *str, size_t len) + + + parse_result + operator""_toml + namespacetoml_1_1literals.html + abb2307d66538d0d43dd074040f83224c + (const char8_t *str, size_t len) + + + + configuration + Library Configuration + group__configuration.html + + #define + TOML_HEADER_ONLY + group__configuration.html + ga8219bfd7e75587516385b6022b28abc2 + + + + #define + TOML_HEADER_ONLY + group__configuration.html + ga8219bfd7e75587516385b6022b28abc2 + + + + #define + TOML_API + group__configuration.html + gad443ebc67d9e196f296f2038b2ad5e46 + + + + #define + TOML_ASSERT + group__configuration.html + ga8c407a8f6fe52a795db35be3f00393f8 + (expr) + + + #define + TOML_CONFIG_HEADER + group__configuration.html + ga09204feb4a3ff5534623c2bd052dcec0 + + + + #define + TOML_EXCEPTIONS + group__configuration.html + ga93097ecd88ca4bca393f60a78bda643b + + + + #define + TOML_IMPLEMENTATION + group__configuration.html + ga27ee69835a1ddff9dbaf3015b4b08a11 + + + + #define + TOML_OPTIONAL_TYPE + group__configuration.html + ga9c2c03f867eb6d76a5f65b06eeb1186e + + + + #define + TOML_ENABLE_PARSER + group__configuration.html + ga121912d75d4624de6ab6854e41d8a852 + + + + #define + TOML_ENABLE_FORMATTERS + group__configuration.html + ga9fc77582d9de77f59d2ddc9ae1f748ca + + + + #define + TOML_SMALL_FLOAT_TYPE + group__configuration.html + ga11a3368da40938a6b5cfd898320706f7 + + + + #define + TOML_SMALL_INT_TYPE + group__configuration.html + ga0722fa2c57da6360c7f2ba08c60e1a81 + + + + #define + TOML_ENABLE_UNRELEASED_FEATURES + group__configuration.html + ga1110ff7d189a7738b9109d120f568b6b + + + + #define + TOML_ENABLE_WINDOWS_COMPAT + group__configuration.html + ga94867db67c98e0e9d4fbb70690951fbf + + + + + index + toml++ + index.html + mainpage-features + mainpage-api-documentation + mainpage-example + mainpage-example-parsing-files + mainpage-example-parsing-strings + mainpage-example-parsing-without-exceptions + mainpage-example-custom-error-formatting + mainpage-example-manipulations + mainpage-example-serialization + mainpage-example-speed-up-compilation + mainpage-adding-lib + mainpage-adding-lib-old-school + mainpage-adding-lib-conan + mainpage-adding-lib-dds + mainpage-adding-lib-meson + mainpage-adding-lib-vcpkg + mainpage-adding-lib-cmake-fetch-content + mainpage-adding-lib-other + mainpage-adding-lib-python + mainpage-configuration + mainpage-contributing + mainpage-license + mainpage-contact + + diff --git a/v3.1.0/annotated.html b/v3.1.0/annotated.html new file mode 100644 index 00000000..6634d595 --- /dev/null +++ b/v3.1.0/annotated.html @@ -0,0 +1,160 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Classes

                                                                                                                              +
                                                                                                                                +
                                                                                                                              • + namespace toml The root namespace for all toml++ functions and types. +
                                                                                                                                  +
                                                                                                                                • class array A TOML array.
                                                                                                                                • +
                                                                                                                                • struct date A local date.
                                                                                                                                • +
                                                                                                                                • struct date_time A date-time.
                                                                                                                                • +
                                                                                                                                • struct inserter Helper class for suppressing move-construction in single-argument array constructors.
                                                                                                                                • +
                                                                                                                                • class json_formatter A wrapper for printing TOML objects out to a stream as formatted JSON.
                                                                                                                                • +
                                                                                                                                • class key A key parsed from a TOML document.
                                                                                                                                • +
                                                                                                                                • class node A TOML node.
                                                                                                                                • +
                                                                                                                                • class node_view A view of a node.
                                                                                                                                • +
                                                                                                                                • class parse_error An error generated when parsing fails.
                                                                                                                                • +
                                                                                                                                • class parse_result The result of a parsing operation.
                                                                                                                                • +
                                                                                                                                • struct source_position A source document line-and-column pair.
                                                                                                                                • +
                                                                                                                                • struct source_region A source document region.
                                                                                                                                • +
                                                                                                                                • class table A TOML table.
                                                                                                                                • +
                                                                                                                                • struct time A local time-of-day.
                                                                                                                                • +
                                                                                                                                • struct time_offset A timezone offset.
                                                                                                                                • +
                                                                                                                                • class toml_formatter A wrapper for printing TOML objects out to a stream as formatted TOML.
                                                                                                                                • +
                                                                                                                                • class value A TOML value.
                                                                                                                                • +
                                                                                                                                • class yaml_formatter A wrapper for printing TOML objects out to a stream as formatted YAML.
                                                                                                                                • +
                                                                                                                                +
                                                                                                                              • +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.1.0/badge-C++20.svg b/v3.1.0/badge-C++20.svg new file mode 100644 index 00000000..92e9684c --- /dev/null +++ b/v3.1.0/badge-C++20.svg @@ -0,0 +1 @@ + standardC++20 \ No newline at end of file diff --git a/v3.1.0/badge-TOML.svg b/v3.1.0/badge-TOML.svg new file mode 100644 index 00000000..01db3c41 --- /dev/null +++ b/v3.1.0/badge-TOML.svg @@ -0,0 +1 @@ +TOML: v1.0.0TOMLv1.0.0 \ No newline at end of file diff --git a/v3.1.0/badge-awesome.svg b/v3.1.0/badge-awesome.svg new file mode 100644 index 00000000..5d9da969 --- /dev/null +++ b/v3.1.0/badge-awesome.svg @@ -0,0 +1 @@ +Mentioned in an Awesome list diff --git a/v3.1.0/banner_small.png b/v3.1.0/banner_small.png new file mode 100644 index 00000000..c9ee9963 Binary files /dev/null and b/v3.1.0/banner_small.png differ diff --git a/v3.1.0/classtoml_1_1array.html b/v3.1.0/classtoml_1_1array.html new file mode 100644 index 00000000..94ec952c --- /dev/null +++ b/v3.1.0/classtoml_1_1array.html @@ -0,0 +1,1744 @@ + + + + toml::array class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::array class +

                                                                                                                              +

                                                                                                                              A TOML array.

                                                                                                                              + +

                                                                                                                              The interface of this type is modeled after std::vector, with some additional considerations made for the heterogeneous nature of a TOML array.

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              toml::table tbl = toml::parse(R"( + arr = [1, 2, 3, 4, 'five'] +)"sv); + +// get the element as an array +toml::array& arr = *tbl.get_as<toml::array>("arr"); +std::cout << arr << "\n"; + +// increment each element with visit() +for (auto&& elem : arr) +{ + elem.visit([](auto&& el) noexcept + { + if constexpr (toml::is_number<decltype(el)>) + (*el)++; + else if constexpr (toml::is_string<decltype(el)>) + el = "six"sv; + }); +} +std::cout << arr << "\n"; + +// add and remove elements +arr.push_back(7); +arr.push_back(8.0f); +arr.push_back("nine"sv); +arr.erase(arr.cbegin()); +std::cout << arr << "\n"; + +// emplace elements +arr.emplace_back<std::string>("ten"); +arr.emplace_back<toml::array>(11, 12.0); +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3, 4, 'five' ]
                                                                                                                              +[ 2, 3, 4, 5, 'six' ]
                                                                                                                              +[ 3, 4, 5, 'six', 7, 8.0, 'nine' ]
                                                                                                                              +[ 3, 4, 5, 'six', 7, 8.0, 'nine', 'ten', [ 11, 12.0 ] ]
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Base classes

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + class node +
                                                                                                                              +
                                                                                                                              A TOML node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + array() noexcept +
                                                                                                                              +
                                                                                                                              Default constructor.
                                                                                                                              +
                                                                                                                              + array(const array&) +
                                                                                                                              +
                                                                                                                              Copy constructor.
                                                                                                                              +
                                                                                                                              + array(array&& other) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType, typename... ElemTypes>
                                                                                                                              + array(ElemType&& val, + ElemTypes && ... vals) explicit +
                                                                                                                              +
                                                                                                                              Constructs an array with one or more initial elements.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator=(const array&) -> array& +
                                                                                                                              +
                                                                                                                              Copy-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(array&& rhs) -> array& noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const array& lhs, + const array& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const array& lhs, + const array& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const array& lhs, + const std::initializer_list<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Initializer list equality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const array& lhs, + const std::vector<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Vector equality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Erasure

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + void clear() noexcept +
                                                                                                                              +
                                                                                                                              Removes all elements from the array.
                                                                                                                              +
                                                                                                                              + auto erase(const_iterator pos) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Removes the specified element from the array.
                                                                                                                              +
                                                                                                                              + auto erase(const_iterator first, + const_iterator last) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Removes the elements in the range [first, last) from the array.
                                                                                                                              +
                                                                                                                              + auto flatten() & -> array& +
                                                                                                                              +
                                                                                                                              Flattens this array, recursively hoisting the contents of child arrays up into itself.
                                                                                                                              +
                                                                                                                              + auto flatten() && -> array&& +
                                                                                                                              +
                                                                                                                              Flattens this array, recursively hoisting the contents of child arrays up into itself (rvalue overload).
                                                                                                                              +
                                                                                                                              + void pop_back() noexcept +
                                                                                                                              +
                                                                                                                              Removes the last element from the array.
                                                                                                                              +
                                                                                                                              + auto prune(bool recursive = true) & -> array& noexcept +
                                                                                                                              +
                                                                                                                              Removes empty child arrays and tables.
                                                                                                                              +
                                                                                                                              + auto prune(bool recursive = true) && -> array&& noexcept +
                                                                                                                              +
                                                                                                                              Removes empty child arrays and tables (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Insertion and Emplacement

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType, typename... Args>
                                                                                                                              + auto emplace(const_iterator pos, + Args && ... args) -> iterator +
                                                                                                                              +
                                                                                                                              Emplaces a new element at a specific position in the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType, typename... ElemArgs>
                                                                                                                              + auto emplace_back(ElemArgs && ... args) -> decltype(auto) +
                                                                                                                              +
                                                                                                                              Emplaces a new element at the end of the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto insert(const_iterator pos, + ElemType&& val, + value_flags flags = preserve_source_value_flags) -> iterator +
                                                                                                                              +
                                                                                                                              Inserts a new element at a specific position in the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto insert(const_iterator pos, + size_t count, + ElemType&& val, + value_flags flags = preserve_source_value_flags) -> iterator +
                                                                                                                              +
                                                                                                                              Repeatedly inserts a new element starting at a specific position in the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Iter>
                                                                                                                              + auto insert(const_iterator pos, + Iter first, + Iter last, + value_flags flags = preserve_source_value_flags) -> iterator +
                                                                                                                              +
                                                                                                                              Inserts a range of elements into the array at a specific position.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto insert(const_iterator pos, + std::initializer_list<ElemType> ilist, + value_flags flags = preserve_source_value_flags) -> iterator +
                                                                                                                              +
                                                                                                                              Inserts a range of elements into the array at a specific position.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + void push_back(ElemType&& val, + value_flags flags = preserve_source_value_flags) +
                                                                                                                              +
                                                                                                                              Appends a new element to the end of the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto replace(const_iterator pos, + ElemType&& val, + value_flags flags = preserve_source_value_flags) -> iterator +
                                                                                                                              +
                                                                                                                              Replaces the element at a specific position in the array with a different value.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Iteration

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using const_iterator = const_array_iterator +
                                                                                                                              +
                                                                                                                              A RandomAccessIterator for iterating over const elements in a toml::array.
                                                                                                                              +
                                                                                                                              + using iterator = array_iterator +
                                                                                                                              +
                                                                                                                              A RandomAccessIterator for iterating over elements in a toml::array.
                                                                                                                              +
                                                                                                                              + auto begin() -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first element.
                                                                                                                              +
                                                                                                                              + auto begin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first element.
                                                                                                                              +
                                                                                                                              + auto cbegin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first element.
                                                                                                                              +
                                                                                                                              + auto cend() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last element.
                                                                                                                              +
                                                                                                                              + auto end() -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last element.
                                                                                                                              +
                                                                                                                              + auto end() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last element.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto for_each(Func&& visitor) & -> array& noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on each element in the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto for_each(Func&& visitor) && -> array&& noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on each element in the array (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto for_each(Func&& visitor) const & -> const array& noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on each element in the array (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto for_each(Func&& visitor) const && -> const array&& noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on each element in the array (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Metadata

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the source region responsible for generating this node during parsing.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Node views

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) -> node_view<node> +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) const -> node_view<const node> +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + operator node_view<const node>() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node (const overload).
                                                                                                                              +
                                                                                                                              + operator node_view<node>() explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Size and Capacity

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto capacity() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the current max number of elements that may be held in the array's internal storage.
                                                                                                                              +
                                                                                                                              + auto empty() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the array is empty.
                                                                                                                              +
                                                                                                                              + auto max_size() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the maximum number of elements that can be stored in an array on the current platform.
                                                                                                                              +
                                                                                                                              + void reserve(size_t new_capacity) +
                                                                                                                              +
                                                                                                                              Reserves internal storage capacity up to a pre-determined number of elements.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + void resize(size_t new_size, + ElemType&& default_init_val, + value_flags default_init_flags = preserve_source_value_flags) +
                                                                                                                              +
                                                                                                                              Resizes the array.
                                                                                                                              +
                                                                                                                              + void shrink_to_fit() +
                                                                                                                              +
                                                                                                                              Requests the removal of any unused internal storage capacity.
                                                                                                                              +
                                                                                                                              + auto size() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the number of elements in the array.
                                                                                                                              +
                                                                                                                              + void truncate(size_t new_size) +
                                                                                                                              +
                                                                                                                              Shrinks the array to the given size.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type casts

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() -> impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() const -> const impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type (const overload).
                                                                                                                              +
                                                                                                                              + auto as_array() -> array* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the array.
                                                                                                                              +
                                                                                                                              + auto as_array() const -> const array* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the array.
                                                                                                                              +
                                                                                                                              + auto as_boolean() -> toml::value<bool>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_boolean() const -> const toml::value<bool>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date() -> toml::value<date>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date() const -> const toml::value<date>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date_time() -> toml::value<date_time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date_time() const -> const toml::value<date_time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() -> toml::value<double>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() const -> const toml::value<double>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_integer() -> toml::value<int64_t>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_integer() const -> const toml::value<int64_t>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_string() -> toml::value<std::string>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_string() const -> const toml::value<std::string>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_table() -> table* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_table() const -> const table* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_time() -> toml::value<time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_time() const -> const toml::value<time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type checks

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto is() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node is a specific type.
                                                                                                                              +
                                                                                                                              + auto is_array() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true.
                                                                                                                              +
                                                                                                                              + auto is_array_of_tables() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the array contains only tables.
                                                                                                                              +
                                                                                                                              + auto is_boolean() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_date() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_date_time() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_floating_point() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype) const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + node*& first_nonmatch) -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + const node*& first_nonmatch) const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType = void>
                                                                                                                              + auto is_homogeneous() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_integer() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_number() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_string() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_table() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_time() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_value() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto type() const -> node_type final noexcept +
                                                                                                                              +
                                                                                                                              Returns toml::node_type::array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Value retrieval

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at(size_t index) -> node& +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific index, throwing std::out_of_range if none existed.
                                                                                                                              +
                                                                                                                              + auto at(size_t index) const -> const node& +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific index, throwing std::out_of_range if none existed.
                                                                                                                              +
                                                                                                                              + auto back() -> node& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the last element in the array.
                                                                                                                              +
                                                                                                                              + auto back() const -> const node& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the last element in the array.
                                                                                                                              +
                                                                                                                              + auto front() -> node& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the first element in the array.
                                                                                                                              +
                                                                                                                              + auto front() const -> const node& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the first element in the array.
                                                                                                                              +
                                                                                                                              + auto get(size_t index) -> node* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the element at a specific index.
                                                                                                                              +
                                                                                                                              + auto get(size_t index) const -> const node* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the element at a specific index (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto get_as(size_t index) -> impl::wrap_node<ElemType>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the element at a specific index if it is a particular type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto get_as(size_t index) const -> const impl::wrap_node<ElemType>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the element at a specific index if it is a particular type (const overload).
                                                                                                                              +
                                                                                                                              + auto operator[](size_t index) -> node& noexcept +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific index.
                                                                                                                              +
                                                                                                                              + auto operator[](size_t index) const -> const node& noexcept +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific index.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_exact() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_or(T&& default_value) const -> auto noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the raw value contained by this node, or a default.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Visitation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const array& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the array out to a stream as formatted TOML.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType, typename... ElemTypes> +
                                                                                                                              + toml::array::array(ElemType&& val, + ElemTypes && ... vals) explicit +

                                                                                                                              +

                                                                                                                              Constructs an array with one or more initial elements.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypeOne of the TOML node or value types (or a type promotable to one).
                                                                                                                              ElemTypesOne of the TOML node or value types (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              valThe node or value used to initialize element 0.
                                                                                                                              valsThe nodes or values used to initialize elements 1...N.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2.0, "three"sv, toml::array{ 4, 5 } };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2.0, 'three', [ 4, 5 ] ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::array::operator!=(const array& lhs, + const array& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Inequality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS array.
                                                                                                                              rhsThe RHS array.
                                                                                                                              ReturnsTrue if the arrays did not contain the same elements.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::array::operator==(const array& lhs, + const array& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Equality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS array.
                                                                                                                              rhsThe RHS array.
                                                                                                                              ReturnsTrue if the arrays contained the same elements.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::array::erase(const_iterator pos) noexcept +

                                                                                                                              +

                                                                                                                              Removes the specified element from the array.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              posIterator to the element being erased.
                                                                                                                              ReturnsIterator to the first element immediately following the removed element.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +
                                                                                                                              +arr.erase(arr.cbegin() + 1);
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3 ]
                                                                                                                              +[ 1, 3 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::array::erase(const_iterator first, + const_iterator last) noexcept +

                                                                                                                              +

                                                                                                                              Removes the elements in the range [first, last) from the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              firstIterator to the first element being erased.
                                                                                                                              lastIterator to the one-past-the-last element being erased.
                                                                                                                              ReturnsIterator to the first element immediately following the last removed element.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, "bad", "karma" 2 };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +
                                                                                                                              +arr.erase(arr.cbegin() + 1, arr.cbegin() + 3);
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 'bad', 'karma', 3 ]
                                                                                                                              +[ 1, 3 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + array& toml::array::flatten() & +

                                                                                                                              +

                                                                                                                              Flattens this array, recursively hoisting the contents of child arrays up into itself.

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsA reference to the array.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, toml::array{ 3, 4, toml::array{ 5 } }, 6, toml::array{} };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +
                                                                                                                              +arr.flatten();
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, [ 3, 4, [ 5 ] ], 6, [] ]
                                                                                                                              +[ 1, 2, 3, 4, 5, 6 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + array& toml::array::prune(bool recursive = true) & noexcept +

                                                                                                                              +

                                                                                                                              Removes empty child arrays and tables.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              recursiveShould child arrays and tables themselves be pruned?
                                                                                                                              ReturnsA reference to the array.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, toml::array{ }, toml::array{ 3, toml::array{ } }, 4 };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +
                                                                                                                              +arr.prune(true);
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, [], [ 3, [] ], 4 ]
                                                                                                                              +[ 1, 2, [ 3 ], 4 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + array&& toml::array::prune(bool recursive = true) && noexcept +

                                                                                                                              +

                                                                                                                              Removes empty child arrays and tables (rvalue overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              recursiveShould child arrays and tables themselves be pruned?
                                                                                                                              ReturnsAn rvalue reference to the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType, typename... Args> +
                                                                                                                              + iterator toml::array::emplace(const_iterator pos, + Args && ... args) +

                                                                                                                              +

                                                                                                                              Emplaces a new element at a specific position in the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::table, toml::array, or any native TOML value type.
                                                                                                                              ArgsValue constructor argument types.
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              argsArguments to forward to the value's constructor.
                                                                                                                              ReturnsAn iterator to the inserted element.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2 };
                                                                                                                              +
                                                                                                                              +//add a string using std::string's substring constructor
                                                                                                                              +arr.emplace<std::string>(arr.cbegin() + 1, "this is not a drill"sv, 14, 5);
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 'drill', 2 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType, typename... ElemArgs> +
                                                                                                                              + decltype(auto) toml::array::emplace_back(ElemArgs && ... args) +

                                                                                                                              +

                                                                                                                              Emplaces a new element at the end of the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::table, toml::array, or a native TOML value type
                                                                                                                              ElemArgsElement constructor argument types.
                                                                                                                              Parameters
                                                                                                                              argsArguments to forward to the elements's constructor.
                                                                                                                              ReturnsA reference to the newly-constructed element.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2 };
                                                                                                                              +arr.emplace_back<toml::array>(3, "four"sv);
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, [ 3, 'four' ] ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + iterator toml::array::insert(const_iterator pos, + ElemType&& val, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Inserts a new element at a specific position in the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              valThe node or value being inserted.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              ReturnsValid input: An iterator to the newly-inserted element. Input is a null toml::node_view: + end()
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 3 };
                                                                                                                              +arr.insert(arr.cbegin() + 1, "two");
                                                                                                                              +arr.insert(arr.cend(), toml::array{ 4, 5 });
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 'two', 3, [ 4, 5 ] ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + iterator toml::array::insert(const_iterator pos, + size_t count, + ElemType&& val, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Repeatedly inserts a new element starting at a specific position in the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              countThe number of times the node or value should be inserted.
                                                                                                                              valThe node or value being inserted.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              ReturnsValid input: An iterator to the newly-inserted element. count == 0: A copy of pos Input is a null toml::node_view: + end()
                                                                                                                              +
                                                                                                                              auto arr = toml::array{
                                                                                                                              +    "with an evil twinkle in its eye the goose said",
                                                                                                                              +    "and immediately we knew peace was never an option."
                                                                                                                              +};
                                                                                                                              +arr.insert(arr.cbegin() + 1, 3, "honk");
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [
                                                                                                                              +    'with an evil twinkle in its eye the goose said',
                                                                                                                              +    'honk',
                                                                                                                              +    'honk',
                                                                                                                              +    'honk',
                                                                                                                              +    'and immediately we knew peace was never an option.'
                                                                                                                              +]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Iter> +
                                                                                                                              + iterator toml::array::insert(const_iterator pos, + Iter first, + Iter last, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Inserts a range of elements into the array at a specific position.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              IterAn iterator type. Must satisfy ForwardIterator.
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              firstIterator to the first node or value being inserted.
                                                                                                                              lastIterator to the one-past-the-last node or value being inserted.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              ReturnsValid input: An iterator to the first newly-inserted element. first >= last: A copy of pos All objects in the range were null toml::node_views: A copy of pos
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + iterator toml::array::insert(const_iterator pos, + std::initializer_list<ElemType> ilist, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Inserts a range of elements into the array at a specific position.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              ilistAn initializer list containing the values to be inserted.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              ReturnsValid input: An iterator to the first newly-inserted element. Input list is empty: A copy of pos All objects in the list were null toml::node_views: A copy of pos
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + void toml::array::push_back(ElemType&& val, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Appends a new element to the end of the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type
                                                                                                                              Parameters
                                                                                                                              valThe node or value being added.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2 };
                                                                                                                              +arr.push_back(3);
                                                                                                                              +arr.push_back(4.0);
                                                                                                                              +arr.push_back(toml::array{ 5, "six"sv });
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3, 4.0, [ 5, 'six' ] ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + iterator toml::array::replace(const_iterator pos, + ElemType&& val, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Replaces the element at a specific position in the array with a different value.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              valThe node or value being inserted.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              ReturnsValid input: An iterator to the replaced element. Input is a null toml::node_view: + end()
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +arr.replace(arr.cbegin() + 1, "two");
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3 ]
                                                                                                                              +[ 1, 'two', 3 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Func> +
                                                                                                                              + array& toml::array::for_each(Func&& visitor) & noexcept(…) +

                                                                                                                              +

                                                                                                                              Invokes a visitor on each element in the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              Func

                                                                                                                              A callable type invocable with one of the following signatures:

                                                                                                                              • func(elem, index)
                                                                                                                              • func(elem)
                                                                                                                              • func(index, elem)

                                                                                                                              Where:

                                                                                                                              • elem will recieve the element as it's concrete type with cvref-qualifications matching the array
                                                                                                                              • index will recieve a size_t indicating the element's index

                                                                                                                              Visitors returning bool (or something convertible to bool) will cause iteration to stop if they return false.

                                                                                                                              Parameters
                                                                                                                              visitorThe visitor object.
                                                                                                                              ReturnsA reference to the array.
                                                                                                                              +
                                                                                                                              toml::array arr{ 0, 1, 2, 3.0, "four", "five", 6 };
                                                                                                                              +
                                                                                                                              +// select only the integers using a strongly-typed visitor
                                                                                                                              +arr.for_each([](toml::value<int64_t>& elem)
                                                                                                                              +{
                                                                                                                              +    std::cout << elem << ", ";
                                                                                                                              +});
                                                                                                                              +std::cout << "\n";
                                                                                                                              +
                                                                                                                              +// select all the numeric values using a generic visitor + is_number<> metafunction
                                                                                                                              +arr.for_each([](auto&& elem)
                                                                                                                              +{
                                                                                                                              +    if constexpr (toml::is_number<decltype(elem)>)
                                                                                                                              +        std::cout << elem << ", ";
                                                                                                                              +});
                                                                                                                              +std::cout << "\n";
                                                                                                                              +
                                                                                                                              +// select all the numeric values until we encounter something non-numeric
                                                                                                                              +arr.for_each([](auto&& elem)
                                                                                                                              +{
                                                                                                                              +    if constexpr (toml::is_number<decltype(elem)>)
                                                                                                                              +    {
                                                                                                                              +        std::cout << elem << ", ";
                                                                                                                              +        return true; // "keep going"
                                                                                                                              +    }
                                                                                                                              +    else
                                                                                                                              +        return false; // "stop!"
                                                                                                                              +
                                                                                                                              +});
                                                                                                                              +std::cout << "\n";
                                                                                                                              0, 1, 2, 6,
                                                                                                                              +0, 1, 2, 3.0, 6,
                                                                                                                              +0, 1, 2, 3.0,
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + void toml::array::resize(size_t new_size, + ElemType&& default_init_val, + value_flags default_init_flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Resizes the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              new_sizeThe number of elements the array will have after resizing.
                                                                                                                              default_init_valThe node or value used to initialize new elements if the array needs to grow.
                                                                                                                              default_init_flagsValue flags to apply to new values created if new elements are created by growing.
                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto arr = toml::array{ 1, 2, 3 }; +std::cout << arr << "\n"; + +arr.resize(6, 42); +std::cout << arr << "\n"; + +arr.resize(2, 0); +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3 ]
                                                                                                                              +[ 1, 2, 3, 42, 42, 42 ]
                                                                                                                              +[ 1, 2 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + void toml::array::truncate(size_t new_size) +

                                                                                                                              +

                                                                                                                              Shrinks the array to the given size.

                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto arr = toml::array{ 1, 2, 3 }; +std::cout << arr << "\n"; + +arr.truncate(5); // no-op +std::cout << arr << "\n"; + +arr.truncate(1); +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3 ]
                                                                                                                              +[ 1, 2, 3 ]
                                                                                                                              +[ 1]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::array::is_homogeneous(node_type ntype) const final noexcept +

                                                                                                                              +

                                                                                                                              Checks if the node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << "homogenous: "sv << arr.is_homogeneous(toml::node_type::none) << "\n";
                                                                                                                              +std::cout << "all floats: "sv << arr.is_homogeneous(toml::node_type::floating_point) << "\n";
                                                                                                                              +std::cout << "all arrays: "sv << arr.is_homogeneous(toml::node_type::array) << "\n";
                                                                                                                              +std::cout << "all ints:   "sv << arr.is_homogeneous(toml::node_type::integer) << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::array::is_homogeneous(node_type ntype, + node*& first_nonmatch) final noexcept +

                                                                                                                              +

                                                                                                                              Checks if a node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              first_nonmatchReference to a pointer in which the address of the first non-matching element will be stored if the return value is false.
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]");
                                                                                                                              +toml::array& arr = *cfg["arr"].as_array();
                                                                                                                              +
                                                                                                                              +toml::node* nonmatch{};
                                                                                                                              +if (arr.is_homogeneous(toml::node_type::integer, nonmatch))
                                                                                                                              +    std::cout << "array was homogeneous"sv << "\n";
                                                                                                                              +else
                                                                                                                              +    std::cout << "array was not homogeneous!\n"
                                                                                                                              +    << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
                                                                                                                              array was not homogeneous!
                                                                                                                              +first non-match was a floating-point at line 1, column 18
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node* toml::array::get(size_t index) noexcept +

                                                                                                                              +

                                                                                                                              Gets a pointer to the element at a specific index.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              indexThe element's index.
                                                                                                                              ReturnsA pointer to the element at the specified index if one existed, or nullptr.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 99, "bottles of beer on the wall" };
                                                                                                                              +std::cout << "element [0] exists: "sv << !!arr.get(0) << "\n";
                                                                                                                              +std::cout << "element [1] exists: "sv << !!arr.get(1) << "\n";
                                                                                                                              +std::cout << "element [2] exists: "sv << !!arr.get(2) << "\n";
                                                                                                                              +if (toml::node* val = arr.get(0))
                                                                                                                              +    std::cout << "element [0] is an "sv << val->type() << "\n";
                                                                                                                              element [0] exists: true
                                                                                                                              +element [1] exists: true
                                                                                                                              +element [2] exists: false
                                                                                                                              +element [0] is an integer
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const node* toml::array::get(size_t index) const noexcept +

                                                                                                                              +

                                                                                                                              Gets a pointer to the element at a specific index (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              indexThe element's index.
                                                                                                                              ReturnsA pointer to the element at the specified index if one existed, or nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + impl::wrap_node<ElemType>* toml::array::get_as(size_t index) noexcept +

                                                                                                                              +

                                                                                                                              Gets a pointer to the element at a specific index if it is a particular type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::table, toml::array, or a native TOML value type
                                                                                                                              Parameters
                                                                                                                              indexThe element's index.
                                                                                                                              ReturnsA pointer to the selected element if it existed and was of the specified type, or nullptr.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 42, "is the meaning of life, apparently."sv };
                                                                                                                              +if (toml::value<int64_t>* val = arr.get_as<int64_t>(0))
                                                                                                                              +    std::cout << "element [0] is an integer with value "sv << *val << "\n";
                                                                                                                              element [0] is an integer with value 42
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + const impl::wrap_node<ElemType>* toml::array::get_as(size_t index) const noexcept +

                                                                                                                              +

                                                                                                                              Gets a pointer to the element at a specific index if it is a particular type (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::table, toml::array, or a native TOML value type
                                                                                                                              Parameters
                                                                                                                              indexThe element's index.
                                                                                                                              ReturnsA pointer to the selected element if it existed and was of the specified type, or nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const array& rhs) +

                                                                                                                              +

                                                                                                                              Prints the array out to a stream as formatted TOML.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.1.0/classtoml_1_1json__formatter.html b/v3.1.0/classtoml_1_1json__formatter.html new file mode 100644 index 00000000..128d8158 --- /dev/null +++ b/v3.1.0/classtoml_1_1json__formatter.html @@ -0,0 +1,251 @@ + + + + toml::json_formatter class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::json_formatter class +

                                                                                                                              +

                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted JSON.

                                                                                                                              + +
                                                                                                                              auto some_toml = toml::parse(R"(
                                                                                                                              +    [fruit]
                                                                                                                              +    apple.color = "red"
                                                                                                                              +    apple.taste.sweet = true
                                                                                                                              +
                                                                                                                              +    [fruit.apple.texture]
                                                                                                                              +    smooth = true
                                                                                                                              +)"sv);
                                                                                                                              +std::cout << toml::json_formatter{ some_toml } << "\n";
                                                                                                                              {
                                                                                                                              +    "fruit" : {
                                                                                                                              +        "apple" : {
                                                                                                                              +            "color" : "red",
                                                                                                                              +            "taste" : {
                                                                                                                              +                "sweet" : true
                                                                                                                              +            },
                                                                                                                              +            "texture" : {
                                                                                                                              +                "smooth" : true
                                                                                                                              +            }
                                                                                                                              +        }
                                                                                                                              +    }
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public static variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + static format_flags default_flags constexpr +
                                                                                                                              +
                                                                                                                              The default flags for a json_formatter.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + json_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a JSON formatter and binds it to a TOML object.
                                                                                                                              +
                                                                                                                              + json_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a JSON formatter and binds it to a toml::parse_result.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + json_formatter& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as JSON.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + json_formatter&& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as JSON (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::json_formatter::json_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a JSON formatter and binds it to a TOML object.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              sourceThe source TOML object.
                                                                                                                              flagsFormat option flags.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::json_formatter::json_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a JSON formatter and binds it to a toml::parse_result.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              resultThe parse result.
                                                                                                                              flagsFormat option flags.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.1.0/classtoml_1_1key.html b/v3.1.0/classtoml_1_1key.html new file mode 100644 index 00000000..81f3b89f --- /dev/null +++ b/v3.1.0/classtoml_1_1key.html @@ -0,0 +1,377 @@ + + + + toml::key class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::key class +

                                                                                                                              +

                                                                                                                              A key parsed from a TOML document.

                                                                                                                              + +

                                                                                                                              These are used as the internal keys for a toml::table:

                                                                                                                              const toml::table tbl = R"(
                                                                                                                              +    a = 1
                                                                                                                              +      b = 2
                                                                                                                              +        c = 3
                                                                                                                              +)"_toml;
                                                                                                                              +
                                                                                                                              +for (auto&& [k, v] : tbl)
                                                                                                                              +    std::cout << "key '"sv << k << "' defined at "sv << k.source() << "\n";
                                                                                                                              key 'a' defined at line 2, column 5
                                                                                                                              +key 'b' defined at line 3, column 7
                                                                                                                              +key 'c' defined at line 4, column 9
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + key() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Default constructor.
                                                                                                                              +
                                                                                                                              + key(std::string_view k, + source_region&& src = {}) explicit +
                                                                                                                              +
                                                                                                                              Constructs a key from a string view and source region.
                                                                                                                              +
                                                                                                                              + key(std::string_view k, + const source_region& src) explicit +
                                                                                                                              +
                                                                                                                              Constructs a key from a string view and source region.
                                                                                                                              +
                                                                                                                              + key(std::string&& k, + source_region&& src = {}) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a key from a string and source region.
                                                                                                                              +
                                                                                                                              + key(std::string&& k, + const source_region& src) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a key from a string and source region.
                                                                                                                              +
                                                                                                                              + key(const char* k, + source_region&& src = {}) explicit +
                                                                                                                              +
                                                                                                                              Constructs a key from a c-string and source region.
                                                                                                                              +
                                                                                                                              + key(const char* k, + const source_region& src) explicit +
                                                                                                                              +
                                                                                                                              Constructs a key from a c-string view and source region.
                                                                                                                              +
                                                                                                                              + key(std::wstring_view k, + source_region&& src = {}) explicit +
                                                                                                                              +
                                                                                                                              Constructs a key from a wide string view and source region.
                                                                                                                              +
                                                                                                                              + key(std::wstring_view k, + const source_region& src) explicit +
                                                                                                                              +
                                                                                                                              Constructs a key from a wide string and source region.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality and Comparison

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              + auto operator!=(const key& lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() != rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator!=(const key& lhs, + std::string_view rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() != rhs.
                                                                                                                              +
                                                                                                                              + auto operator!=(std::string_view lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs != rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator<(const key& lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() < rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator<(const key& lhs, + std::string_view rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() < rhs.
                                                                                                                              +
                                                                                                                              + auto operator<(std::string_view lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs < rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator<=(const key& lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() <= rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator<=(const key& lhs, + std::string_view rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() <= rhs.
                                                                                                                              +
                                                                                                                              + auto operator<=(std::string_view lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs <= rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator==(const key& lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() == rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator==(const key& lhs, + std::string_view rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() == rhs.
                                                                                                                              +
                                                                                                                              + auto operator==(std::string_view lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs == rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator>(const key& lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() > rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator>(const key& lhs, + std::string_view rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() > rhs.
                                                                                                                              +
                                                                                                                              + auto operator>(std::string_view lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs > rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator>=(const key& lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() >= rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator>=(const key& lhs, + std::string_view rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() >= rhs.
                                                                                                                              +
                                                                                                                              + auto operator>=(std::string_view lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs >= rhs.str().
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Iteration

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using const_iterator = const char* +
                                                                                                                              +
                                                                                                                              A const iterator for iterating over the characters in the key.
                                                                                                                              +
                                                                                                                              + using iterator = const_iterator +
                                                                                                                              +
                                                                                                                              A const iterator for iterating over the characters in the key.
                                                                                                                              +
                                                                                                                              + auto begin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first character in the key's backing string.
                                                                                                                              +
                                                                                                                              + auto end() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last character in the key's backing string.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Metadata

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the source region responsible for specifying this key during parsing.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              String operations

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto data() const -> const char* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the start of the key's underlying string.
                                                                                                                              +
                                                                                                                              + auto empty() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the key's underlying string is empty.
                                                                                                                              +
                                                                                                                              + auto length() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the length of the key's underlying string.
                                                                                                                              +
                                                                                                                              + operator std::string_view() const noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the key's underlying string.
                                                                                                                              +
                                                                                                                              + auto str() const -> std::string_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the key's underlying string.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const key& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the key's underlying string out to the stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::key::key(std::wstring_view k, + source_region&& src = {}) explicit +

                                                                                                                              +

                                                                                                                              Constructs a key from a wide string view and source region.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::key::key(std::wstring_view k, + const source_region& src) explicit +

                                                                                                                              +

                                                                                                                              Constructs a key from a wide string and source region.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.1.0/classtoml_1_1node.html b/v3.1.0/classtoml_1_1node.html new file mode 100644 index 00000000..34f3e7dc --- /dev/null +++ b/v3.1.0/classtoml_1_1node.html @@ -0,0 +1,916 @@ + + + + toml::node class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::node class +

                                                                                                                              +

                                                                                                                              A TOML node.

                                                                                                                              + +

                                                                                                                              A parsed TOML document forms a tree made up of tables, arrays and values. This type is the base of each of those, providing a lot of the polymorphic plumbing.

                                                                                                                              +
                                                                                                                              +

                                                                                                                              Derived classes

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + class array +
                                                                                                                              +
                                                                                                                              A TOML array.
                                                                                                                              +
                                                                                                                              + class table +
                                                                                                                              +
                                                                                                                              A TOML table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ValueType>
                                                                                                                              + class value +
                                                                                                                              +
                                                                                                                              A TOML value.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Metadata

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the source region responsible for generating this node during parsing.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Node views

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) -> node_view<node> +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) const -> node_view<const node> +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + operator node_view<const node>() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node (const overload).
                                                                                                                              +
                                                                                                                              + operator node_view<node>() explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type casts

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() -> impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() const -> const impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type (const overload).
                                                                                                                              +
                                                                                                                              + auto as_array() -> array* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::array, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_array() const -> const array* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::array, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_boolean() -> toml::value<bool>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<bool>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_boolean() const -> const toml::value<bool>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<bool>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date() -> toml::value<date>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<toml::date>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date() const -> const toml::value<date>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<toml::date>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date_time() -> toml::value<date_time>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<toml::date_time>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date_time() const -> const toml::value<date_time>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<toml::date_time>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() -> toml::value<double>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<double>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() const -> const toml::value<double>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<double>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_integer() -> toml::value<int64_t>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<int64_t>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_integer() const -> const toml::value<int64_t>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<int64_t>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_string() -> toml::value<std::string>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<std::string>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_string() const -> const toml::value<std::string>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<std::string>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_table() -> table* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::table, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_table() const -> const table* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::table, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_time() -> toml::value<time>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<toml::time>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_time() const -> const toml::value<time>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<toml::time>, if it is one.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type checks

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto is() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node is a specific type.
                                                                                                                              +
                                                                                                                              + auto is_array() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an array.
                                                                                                                              +
                                                                                                                              + auto is_array_of_tables() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an array containing only tables.
                                                                                                                              +
                                                                                                                              + auto is_boolean() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a boolean value.
                                                                                                                              +
                                                                                                                              + auto is_date() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a local date value.
                                                                                                                              +
                                                                                                                              + auto is_date_time() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a date-time value.
                                                                                                                              +
                                                                                                                              + auto is_floating_point() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an floating-point value.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + node*& first_nonmatch) -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + const node*& first_nonmatch) const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type (const overload).
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype) const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType = void>
                                                                                                                              + auto is_homogeneous() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_integer() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an integer value.
                                                                                                                              +
                                                                                                                              + auto is_number() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an integer or floating-point value.
                                                                                                                              +
                                                                                                                              + auto is_string() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a string value.
                                                                                                                              +
                                                                                                                              + auto is_table() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a table.
                                                                                                                              +
                                                                                                                              + auto is_time() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a local time value.
                                                                                                                              +
                                                                                                                              + auto is_value() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a value.
                                                                                                                              +
                                                                                                                              + auto type() const -> node_type pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns the node's type identifier.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Value retrieval

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_exact() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_or(T&& default_value) const -> auto noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the raw value contained by this node, or a default.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Visitation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::node::at_path(std::string_view path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              pathThe "TOML path" to traverse.
                                                                                                                              +
                                                                                                                              auto config = toml::parse(R"(
                                                                                                                              +
                                                                                                                              +[foo]
                                                                                                                              +bar = [ 0, 1, 2, [ 3 ], { kek = 4 } ]
                                                                                                                              +
                                                                                                                              +)"sv);
                                                                                                                              +
                                                                                                                              +std::cout << config.at_path("foo.bar[2]") << "\n";
                                                                                                                              +std::cout << config.at_path("foo.bar[3][0]") << "\n";
                                                                                                                              +std::cout << config.at_path("foo.bar[4].kek") << "\n";
                                                                                                                              2
                                                                                                                              +3
                                                                                                                              +4
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::node::at_path(std::string_view path) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::node::at_path(std::wstring_view path) +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::node::at_path(std::wstring_view path) const +

                                                                                                                              +

                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + impl::wrap_node<T>* toml::node::as() noexcept +

                                                                                                                              +

                                                                                                                              Gets a pointer to the node as a more specific node type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TThe node type or TOML value type to cast to.
                                                                                                                              ReturnsA pointer to the node as the given type, or nullptr if it was a different type.
                                                                                                                              +
                                                                                                                              toml::value<int64_t>* int_value = node->as<int64_t>();
                                                                                                                              +toml::table* tbl = node->as<toml::table>();
                                                                                                                              +if (int_value)
                                                                                                                              +    std::cout << "Node is a value<int64_t>\n";
                                                                                                                              +else if (tbl)
                                                                                                                              +    std::cout << "Node is a table\n";
                                                                                                                              +
                                                                                                                              +// fully-qualified value node types also work (useful for template code):
                                                                                                                              +toml::value<int64_t>* int_value2 = node->as<toml::value<int64_t>>();
                                                                                                                              +if (int_value2)
                                                                                                                              +    std::cout << "Node is a value<int64_t>\n";
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::node::is() const noexcept +

                                                                                                                              +

                                                                                                                              Checks if a node is a specific type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TA TOML node or value type.
                                                                                                                              ReturnsReturns true if this node is an instance of the specified type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::node::is_homogeneous(node_type ntype, + node*& first_nonmatch) pure virtual noexcept +

                                                                                                                              +

                                                                                                                              Checks if a node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              first_nonmatchReference to a pointer in which the address of the first non-matching element will be stored if the return value is false.
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]");
                                                                                                                              +toml::array& arr = *cfg["arr"].as_array();
                                                                                                                              +
                                                                                                                              +toml::node* nonmatch{};
                                                                                                                              +if (arr.is_homogeneous(toml::node_type::integer, nonmatch))
                                                                                                                              +    std::cout << "array was homogeneous"sv << "\n";
                                                                                                                              +else
                                                                                                                              +    std::cout << "array was not homogeneous!\n"
                                                                                                                              +    << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
                                                                                                                              array was not homogeneous!
                                                                                                                              +first non-match was a floating-point at line 1, column 18
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::node::is_homogeneous(node_type ntype) const pure virtual noexcept +

                                                                                                                              +

                                                                                                                              Checks if the node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << "homogenous: "sv << arr.is_homogeneous(toml::node_type::none) << "\n";
                                                                                                                              +std::cout << "all floats: "sv << arr.is_homogeneous(toml::node_type::floating_point) << "\n";
                                                                                                                              +std::cout << "all arrays: "sv << arr.is_homogeneous(toml::node_type::array) << "\n";
                                                                                                                              +std::cout << "all ints:   "sv << arr.is_homogeneous(toml::node_type::integer) << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType = void> +
                                                                                                                              + bool toml::node::is_homogeneous() const noexcept +

                                                                                                                              +

                                                                                                                              Checks if the node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypeA TOML node or value type.
                                                                                                                              Left as void: "is every element the same type?"
                                                                                                                              Explicitly specified: "is every element a T?"
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << "homogenous:   "sv << arr.is_homogeneous() << "\n";
                                                                                                                              +std::cout << "all doubles:  "sv << arr.is_homogeneous<double>() << "\n";
                                                                                                                              +std::cout << "all arrays:   "sv << arr.is_homogeneous<toml::array>() << "\n";
                                                                                                                              +std::cout << "all integers: "sv << arr.is_homogeneous<int64_t>() << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + decltype(auto) toml::node::ref() & noexcept +

                                                                                                                              +

                                                                                                                              Gets a raw reference to a node's underlying data.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              Ttoml::table, toml::array, or one of the TOML value types.
                                                                                                                              ReturnsA reference to the underlying data.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + optional<T> toml::node::value() const noexcept(…) +

                                                                                                                              +

                                                                                                                              Gets the value contained by this node.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the native TOML value types, or a type capable of converting to one.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or convertible to it) and within the range of the output type, or an empty optional.
                                                                                                                              +

                                                                                                                              This function has 'permissive' retrieval semantics; some value types are allowed to convert to others (e.g. retrieving a boolean as an integer), and the specified return value type can be any type where a reasonable conversion from a native TOML value exists (e.g. std::wstring on Windows). If the source value cannot be represented by the destination type, an empty optional is returned.

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto tbl = toml::parse(R"( + int = -10 + flt = 25.0 + pi = 3.14159 + bool = false + huge = 9223372036854775807 + str = "foo" +)"sv); + +const auto print_value_with_typename = + [&](std::string_view key, std::string_view type_name, auto* dummy) + { + std::cout << "- " << std::setw(18) << std::left << type_name; + using type = std::remove_pointer_t<decltype(dummy)>; + if (auto val = tbl.get(key)->value<type>(); val) + std::cout << *val << "\n"; + else + std::cout << "n/a\n"; + }; + +#define print_value(key, T) print_value_with_typename(key, #T, (T*)nullptr) + +for (auto key : { "int", "flt", "pi", "bool", "huge", "str" }) +{ + std::cout << tbl[key].type() << " value '" << key << "' as:\n"; + print_value(key, bool); + print_value(key, int); + print_value(key, unsigned int); + print_value(key, long long); + print_value(key, float); + print_value(key, double); + print_value(key, std::string); + print_value(key, std::string_view); + print_value(key, const char*); + std::cout << "\n"; +}
                                                                                                                              integer value 'int' as:
                                                                                                                              +- bool              true
                                                                                                                              +- int               -10
                                                                                                                              +- unsigned int      n/a
                                                                                                                              +- long long         -10
                                                                                                                              +- float             -10
                                                                                                                              +- double            -10
                                                                                                                              +- std::string       n/a
                                                                                                                              +- std::string_view  n/a
                                                                                                                              +- const char*       n/a
                                                                                                                              +
                                                                                                                              +floating-point value 'flt' as:
                                                                                                                              +- bool              n/a
                                                                                                                              +- int               25
                                                                                                                              +- unsigned int      25
                                                                                                                              +- long long         25
                                                                                                                              +- float             25
                                                                                                                              +- double            25
                                                                                                                              +- std::string       n/a
                                                                                                                              +- std::string_view  n/a
                                                                                                                              +- const char*       n/a
                                                                                                                              +
                                                                                                                              +floating-point value 'pi' as:
                                                                                                                              +- bool              n/a
                                                                                                                              +- int               n/a
                                                                                                                              +- unsigned int      n/a
                                                                                                                              +- long long         n/a
                                                                                                                              +- float             3.14159
                                                                                                                              +- double            3.14159
                                                                                                                              +- std::string       n/a
                                                                                                                              +- std::string_view  n/a
                                                                                                                              +- const char*       n/a
                                                                                                                              +
                                                                                                                              +boolean value 'bool' as:
                                                                                                                              +- bool              false
                                                                                                                              +- int               0
                                                                                                                              +- unsigned int      0
                                                                                                                              +- long long         0
                                                                                                                              +- float             n/a
                                                                                                                              +- double            n/a
                                                                                                                              +- std::string       n/a
                                                                                                                              +- std::string_view  n/a
                                                                                                                              +- const char*       n/a
                                                                                                                              +
                                                                                                                              +integer value 'huge' as:
                                                                                                                              +- bool              true
                                                                                                                              +- int               n/a
                                                                                                                              +- unsigned int      n/a
                                                                                                                              +- long long         9223372036854775807
                                                                                                                              +- float             n/a
                                                                                                                              +- double            n/a
                                                                                                                              +- std::string       n/a
                                                                                                                              +- std::string_view  n/a
                                                                                                                              +- const char*       n/a
                                                                                                                              +
                                                                                                                              +string value 'str' as:
                                                                                                                              +- bool              n/a
                                                                                                                              +- int               n/a
                                                                                                                              +- unsigned int      n/a
                                                                                                                              +- long long         n/a
                                                                                                                              +- float             n/a
                                                                                                                              +- double            n/a
                                                                                                                              +- std::string       foo
                                                                                                                              +- std::string_view  foo
                                                                                                                              +- const char*       foo
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + optional<T> toml::node::value_exact() const noexcept(…) +

                                                                                                                              +

                                                                                                                              Gets the value contained by this node.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the native TOML value types, or a type capable of losslessly representing one.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or losslessly convertible to it), or an empty optional.
                                                                                                                              +

                                                                                                                              This function has 'exact' retrieval semantics; the only return value types allowed are the TOML native value types, or types that can losslessly represent a native value type (e.g. std::wstring on Windows).

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + auto toml::node::value_or(T&& default_value) const noexcept(…) +

                                                                                                                              +

                                                                                                                              Gets the raw value contained by this node, or a default.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TDefault value type. Must be one of the native TOML value types, or convertible to it.
                                                                                                                              Parameters
                                                                                                                              default_valueThe default value to return if the node wasn't a value, wasn't the correct type, or no conversion was possible.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or convertible to it) and within the range of the output type, or the provided default.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Func> +
                                                                                                                              + decltype(auto) toml::node::visit(Func&& visitor) & noexcept(…) +

                                                                                                                              +

                                                                                                                              Invokes a visitor on the node based on the node's concrete type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              FuncA callable type invocable with one or more of the toml++ node types.
                                                                                                                              Parameters
                                                                                                                              visitorThe visitor object.
                                                                                                                              ReturnsThe return value of the visitor. Can be void. Non-exhaustive visitors must return a default-constructible type.
                                                                                                                              +

                                                                                                                              Visitation is useful when you expect a node to be one of a set number of types and need to handle these types differently. Using visit() allows you to eliminate some of the casting/conversion boilerplate:

                                                                                                                              node.visit([](auto&& n)
                                                                                                                              +{
                                                                                                                              +    if constexpr (toml::is_string<decltype(n)>)
                                                                                                                              +        do_something_with_a_string(*n)); //n is a toml::value<std::string>
                                                                                                                              +    else if constexpr (toml::is_integer<decltype(n)>)
                                                                                                                              +        do_something_with_an_int(*n); //n is a toml::value<int64_t>
                                                                                                                              +});

                                                                                                                              Visitor functions need not be generic; specifying a concrete node type as the input argument type effectively acts a 'filter', only invoking the visitor if the concrete type is compatible. Thus the example above can be re-written as:

                                                                                                                              node.visit([](toml::value<std::string>& s) { do_something_with_a_string(*s)); });
                                                                                                                              +node.visit([](toml::value<int64_t>& i)     { do_something_with_an_int(*i)); });
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.1.0/classtoml_1_1node__view.html b/v3.1.0/classtoml_1_1node__view.html new file mode 100644 index 00000000..fb028377 --- /dev/null +++ b/v3.1.0/classtoml_1_1node__view.html @@ -0,0 +1,897 @@ + + + + toml::node_view class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              template <typename ViewedType>
                                                                                                                              + toml::node_view class +

                                                                                                                              +

                                                                                                                              A view of a node.

                                                                                                                              + +

                                                                                                                              A node_view is like a std::optional<toml::node&> (if such a construct were legal), with lots of toml-specific stuff built-in. It may represent a node, and allows you to do many of the same operations that you'd do on nodes directly, as well as easily traversing the node tree by creating subviews (via node_view::operator[]).

                                                                                                                              auto tbl = toml::parse(R"(
                                                                                                                              +
                                                                                                                              +    title = "my hardware store"
                                                                                                                              +
                                                                                                                              +    [[products]]
                                                                                                                              +    name = "Hammer"
                                                                                                                              +    sku = 738594937
                                                                                                                              +    keywords = [ "hammer", "construction", "build" ]
                                                                                                                              +
                                                                                                                              +    [[products]]
                                                                                                                              +    name = "Nail"
                                                                                                                              +    sku = 284758393
                                                                                                                              +    color = "gray"
                                                                                                                              +
                                                                                                                              +)"sv);
                                                                                                                              +
                                                                                                                              +std::cout << tbl["title"] << "\n";
                                                                                                                              +std::cout << tbl["products"][0]["name"] << "\n";
                                                                                                                              +std::cout << tbl["products"][0]["keywords"] << "\n";
                                                                                                                              +std::cout << tbl["products"][0]["keywords"][2] << "\n";
                                                                                                                              +
                                                                                                                              +tbl["products"][0]["keywords"].as_array()->push_back("heavy");
                                                                                                                              +std::cout << tbl["products"][0]["keywords"] << "\n";
                                                                                                                              +std::cout << "has product[2]: "sv << !!tbl["products"][2] << "\n";
                                                                                                                              +std::cout << "product[2]: "sv << tbl["products"][2] << "\n";
                                                                                                                              "my hardware store"
                                                                                                                              +"Hammer"
                                                                                                                              +[ "hammer", "construction", "build" ]
                                                                                                                              +"build"
                                                                                                                              +[ "hammer", "construction", "build", "heavy" ]
                                                                                                                              +has product[2]: false
                                                                                                                              +product[2]:
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public types

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using viewed_type = ViewedType +
                                                                                                                              +
                                                                                                                              The node type being viewed - either node or const node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + node_view() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Constructs an empty node view.
                                                                                                                              +
                                                                                                                              + node_view(viewed_type* node) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs node_view of a specific node.
                                                                                                                              +
                                                                                                                              + node_view(viewed_type& node) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs node_view of a specific node.
                                                                                                                              +
                                                                                                                              + node_view(const node_view&) defaulted noexcept +
                                                                                                                              +
                                                                                                                              Copy constructor.
                                                                                                                              +
                                                                                                                              + node_view(node_view&&) defaulted noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              + operator bool() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the view references a node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto node() const -> viewed_type* noexcept +
                                                                                                                              +
                                                                                                                              Returns the node that's being referenced by the view.
                                                                                                                              +
                                                                                                                              + auto operator=(const node_view&) & -> node_view& defaulted noexcept +
                                                                                                                              +
                                                                                                                              Copy-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(node_view&&) & -> node_view& defaulted noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator!=(const node_view& lhs, + const node_view<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the two views do not refer to nodes of the same type and value.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const node_view& lhs, + const node_view<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the two views refer to nodes of the same type and value.
                                                                                                                              +
                                                                                                                              + auto operator==(const node_view& lhs, + const table& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a table with the same contents as RHS.
                                                                                                                              +
                                                                                                                              + auto operator==(const node_view& lhs, + const array& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is an array with the same contents as RHS.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const node_view& lhs, + const toml::value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a value with the same value as RHS.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const node_view& lhs, + const T& rhs) -> bool noexcept(…) +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a value with the same value as RHS.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const node_view& lhs, + const std::initializer_list<T>& rhs) -> bool noexcept(…) +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is an array with the same contents as the RHS initializer list.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const node_view& lhs, + const std::vector<T>& rhs) -> bool noexcept(…) +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is an array with the same contents as the RHS vector.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Subviews

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) const -> node_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) const -> node_view +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto operator[](std::string_view key) const -> node_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the selected subnode.
                                                                                                                              +
                                                                                                                              + auto operator[](std::wstring_view key) const -> node_view +
                                                                                                                              +
                                                                                                                              Returns a view of the selected subnode.
                                                                                                                              +
                                                                                                                              + auto operator[](size_t index) const -> node_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the selected subnode.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type casts

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the viewed node as a more specific node type.
                                                                                                                              +
                                                                                                                              + auto as_array() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::array, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_boolean() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<bool>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<date>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date_time() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<date_time>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<double>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_integer() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<int64_t>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_string() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<string>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_table() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::table, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_time() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<time>, if it is one.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type checks

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto is() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if this view references a node of a specific type.
                                                                                                                              +
                                                                                                                              + auto is_array() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::array.
                                                                                                                              +
                                                                                                                              + auto is_array_of_tables() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::array that contains only tables.
                                                                                                                              +
                                                                                                                              + auto is_boolean() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<bool>.
                                                                                                                              +
                                                                                                                              + auto is_date() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<date>.
                                                                                                                              +
                                                                                                                              + auto is_date_time() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<date_time>.
                                                                                                                              +
                                                                                                                              + auto is_floating_point() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<double>.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + viewed_type*& first_nonmatch) const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the viewed node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype) const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the viewed node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType = void>
                                                                                                                              + auto is_homogeneous() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the viewed node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_integer() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<int64_t>.
                                                                                                                              +
                                                                                                                              + auto is_number() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<int64_t> or toml::value<double>.
                                                                                                                              +
                                                                                                                              + auto is_string() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<string>.
                                                                                                                              +
                                                                                                                              + auto is_table() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::table.
                                                                                                                              +
                                                                                                                              + auto is_time() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<time>.
                                                                                                                              +
                                                                                                                              + auto is_value() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<>.
                                                                                                                              +
                                                                                                                              + auto type() const -> node_type noexcept +
                                                                                                                              +
                                                                                                                              Returns the type identifier for the viewed node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Value retrieval

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to the viewed node's underlying data.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by the referenced node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_exact() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by the referenced node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_or(T&& default_value) const -> auto noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the raw value contained by the referenced node, or a default.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Visitation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the viewed node based on its concrete type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& os, + const node_view& nv) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the viewed node out to a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::at_path(std::string_view path) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::at_path(std::wstring_view path) const +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::operator[](std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the selected subnode.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key of the node to retrieve
                                                                                                                              ReturnsA view of the selected node if this node represented a table and it contained a value at the given key, or an empty view.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::operator[](std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Returns a view of the selected subnode.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key of the node to retrieve
                                                                                                                              ReturnsA view of the selected node if this node represented a table and it contained a value at the given key, or an empty view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::operator[](size_t index) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the selected subnode.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              indexThe index of the node to retrieve
                                                                                                                              ReturnsA view of the selected node if this node represented an array and it contained a value at the given index, or an empty view.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + auto* toml::node_view::as() const noexcept +

                                                                                                                              +

                                                                                                                              Gets a pointer to the viewed node as a more specific node type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TThe node type or TOML value type to cast to.
                                                                                                                              ReturnsA pointer to the node as the given type, or nullptr if it was a different type.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::node_view::is() const noexcept +

                                                                                                                              +

                                                                                                                              Checks if this view references a node of a specific type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TA TOML node or value type.
                                                                                                                              ReturnsReturns true if the viewed node is an instance of the specified type.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + bool toml::node_view::is_homogeneous(node_type ntype, + viewed_type*& first_nonmatch) const noexcept +

                                                                                                                              +

                                                                                                                              Checks if the viewed node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              first_nonmatchReference to a pointer in which the address of the first non-matching element will be stored if the return value is false.
                                                                                                                              ReturnsTrue if the viewed node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]");
                                                                                                                              +
                                                                                                                              +toml::node* nonmatch{};
                                                                                                                              +if (cfg["arr"].is_homogeneous(toml::node_type::integer, nonmatch))
                                                                                                                              +    std::cout << "array was homogeneous"sv << "\n";
                                                                                                                              +else
                                                                                                                              +    std::cout << "array was not homogeneous!\n"
                                                                                                                              +    << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
                                                                                                                              array was not homogeneous!
                                                                                                                              +first non-match was a floating-point at line 1, column 18
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + bool toml::node_view::is_homogeneous(node_type ntype) const noexcept +

                                                                                                                              +

                                                                                                                              Checks if the viewed node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              ReturnsTrue if the viewed node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3 ]");
                                                                                                                              +std::cout << "homogenous: "sv << cfg["arr"].is_homogeneous(toml::node_type::none) << "\n";
                                                                                                                              +std::cout << "all floats: "sv << cfg["arr"].is_homogeneous(toml::node_type::floating_point) << "\n";
                                                                                                                              +std::cout << "all arrays: "sv << cfg["arr"].is_homogeneous(toml::node_type::array) << "\n";
                                                                                                                              +std::cout << "all ints:   "sv << cfg["arr"].is_homogeneous(toml::node_type::integer) << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename ElemType = void> +
                                                                                                                              + bool toml::node_view::is_homogeneous() const noexcept +

                                                                                                                              +

                                                                                                                              Checks if the viewed node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypeA TOML node or value type.
                                                                                                                              Left as void: "is every element the same type?"
                                                                                                                              Explicitly specified: "is every element a T?"
                                                                                                                              ReturnsTrue if the viewed node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3 ]");
                                                                                                                              +std::cout << "homogenous:   "sv << cfg["arr"].is_homogeneous() << "\n";
                                                                                                                              +std::cout << "all doubles:  "sv << cfg["arr"].is_homogeneous<double>() << "\n";
                                                                                                                              +std::cout << "all arrays:   "sv << cfg["arr"].is_homogeneous<toml::array>() << "\n";
                                                                                                                              +std::cout << "all integers: "sv << cfg["arr"].is_homogeneous<int64_t>() << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + decltype(auto) toml::node_view::ref() const noexcept +

                                                                                                                              +

                                                                                                                              Gets a raw reference to the viewed node's underlying data.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the TOML value types.
                                                                                                                              ReturnsA reference to the underlying data.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + optional<T> toml::node_view::value() const noexcept(…) +

                                                                                                                              +

                                                                                                                              Gets the value contained by the referenced node.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the native TOML value types, or a type capable of convertible to one.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or convertible to it) and within the range of the output type, or an empty optional.
                                                                                                                              +

                                                                                                                              This function has 'permissive' retrieval semantics; some value types are allowed to convert to others (e.g. retrieving a boolean as an integer), and the specified return value type can be any type where a reasonable conversion from a native TOML value exists (e.g. std::wstring on Windows). If the source value cannot be represented by the destination type, an empty optional is returned. See node::value() for examples.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + optional<T> toml::node_view::value_exact() const noexcept(…) +

                                                                                                                              +

                                                                                                                              Gets the value contained by the referenced node.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the native TOML value types, or a type capable of losslessly representing one.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or losslessly convertible to it), or an empty optional.
                                                                                                                              +

                                                                                                                              This function has 'exact' retrieval semantics; the only return value types allowed are the TOML native value types, or types that can losslessly represent a native value type (e.g. std::wstring on Windows).

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + auto toml::node_view::value_or(T&& default_value) const noexcept(…) +

                                                                                                                              +

                                                                                                                              Gets the raw value contained by the referenced node, or a default.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TDefault value type. Must be one of the native TOML value types, or convertible to it.
                                                                                                                              Parameters
                                                                                                                              default_valueThe default value to return if the node wasn't a value, wasn't the correct type, or no conversion was possible.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or convertible to it) and within the range of the output type, or the provided default.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename Func> +
                                                                                                                              + decltype(auto) toml::node_view::visit(Func&& visitor) const noexcept(…) +

                                                                                                                              +

                                                                                                                              Invokes a visitor on the viewed node based on its concrete type.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + std::ostream& operator<<(std::ostream& os, + const node_view& nv) +

                                                                                                                              +

                                                                                                                              Prints the viewed node out to a stream.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.1.0/classtoml_1_1parse__error.html b/v3.1.0/classtoml_1_1parse__error.html new file mode 100644 index 00000000..ad4b8a35 --- /dev/null +++ b/v3.1.0/classtoml_1_1parse__error.html @@ -0,0 +1,206 @@ + + + + toml::parse_error class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::parse_error class +

                                                                                                                              +

                                                                                                                              An error generated when parsing fails.

                                                                                                                              + + +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto description() const -> std::string_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a textual description of the error.
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the region of the source document responsible for the error.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const parse_error& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a parse_error to a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::string_view toml::parse_error::description() const noexcept +

                                                                                                                              +

                                                                                                                              Returns a textual description of the error.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const parse_error& rhs) +

                                                                                                                              +

                                                                                                                              Prints a parse_error to a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe stream.
                                                                                                                              rhsThe parse_error.
                                                                                                                              ReturnsThe input stream.
                                                                                                                              +
                                                                                                                              try
                                                                                                                              +{
                                                                                                                              +    auto tbl = toml::parse("enabled = trUe"sv);
                                                                                                                              +}
                                                                                                                              +catch (const toml::parse_error & err)
                                                                                                                              +{
                                                                                                                              +    std::cerr << "Parsing failed:\n"sv << err << "\n";
                                                                                                                              +}
                                                                                                                              Parsing failed:
                                                                                                                              +Encountered unexpected character while parsing boolean; expected 'true', saw 'trU'
                                                                                                                              +    (error occurred at line 1, column 13)
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.1.0/classtoml_1_1parse__result.html b/v3.1.0/classtoml_1_1parse__result.html new file mode 100644 index 00000000..6e506c99 --- /dev/null +++ b/v3.1.0/classtoml_1_1parse__result.html @@ -0,0 +1,494 @@ + + + + toml::parse_result class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::parse_result class +

                                                                                                                              +

                                                                                                                              The result of a parsing operation.

                                                                                                                              + +

                                                                                                                              A parse_result is effectively a discriminated union containing either a toml::table or a toml::parse_error. Most member functions assume a particular one of these two states, and calling them when in the wrong state will cause errors (e.g. attempting to access the error object when parsing was successful).

                                                                                                                              toml::parse_result result = toml::parse_file("config.toml");
                                                                                                                              +if (result)
                                                                                                                              +    do_stuff_with_a_table(result); //implicitly converts to table&
                                                                                                                              +else
                                                                                                                              +    std::cerr << "Parse failed:\n"sv << result.error() << "\n";
                                                                                                                              example output:
                                                                                                                              +
                                                                                                                              +Parse failed:
                                                                                                                              +Encountered unexpected character while parsing boolean; expected 'true', saw 'trU'
                                                                                                                              +    (error occurred at line 1, column 13 of 'config.toml')

                                                                                                                              Getting node_views (operator[], at_path()) and using the iterator accessor functions (begin(), end() etc.) are unconditionally safe; when parsing fails these just return 'empty' values. A ranged-for loop on a failed parse_result is also safe since begin() and end() return the same iterator and will not lead to any dereferences and iterations.

                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + parse_result() noexcept +
                                                                                                                              +
                                                                                                                              Default constructs an 'error' result.
                                                                                                                              +
                                                                                                                              + parse_result(parse_result&& res) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              + ~parse_result() noexcept +
                                                                                                                              +
                                                                                                                              Destructor.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator=(parse_result&& rhs) -> parse_result& noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Failed parses

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto error() & -> parse_error& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error.
                                                                                                                              +
                                                                                                                              + auto error() && -> parse_error&& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto error() const & -> const parse_error& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error (const lvalue overload).
                                                                                                                              +
                                                                                                                              + operator const parse_error&() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error (const lvalue overload).
                                                                                                                              +
                                                                                                                              + operator parse_error&() explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error.
                                                                                                                              +
                                                                                                                              + operator parse_error&&() explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Iteration

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using const_iterator = const_table_iterator +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over const key-value pairs in a wrapped toml::table.
                                                                                                                              +
                                                                                                                              + using iterator = table_iterator +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over key-value pairs in a wrapped toml::table.
                                                                                                                              +
                                                                                                                              + auto begin() -> table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto begin() const -> const_table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto cbegin() const -> const_table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto cend() const -> const_table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto end() -> table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto end() const -> const_table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Node views

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto operator[](std::string_view key) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto operator[](std::string_view key) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table (const overload).
                                                                                                                              +
                                                                                                                              + auto operator[](std::wstring_view key) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto operator[](std::wstring_view key) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Result state

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto failed() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if parsing failed.
                                                                                                                              +
                                                                                                                              + operator bool() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns true if parsing succeeded.
                                                                                                                              +
                                                                                                                              + auto succeeded() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if parsing succeeeded.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Successful parses

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + operator const toml::table&() const noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table (const lvalue overload).
                                                                                                                              +
                                                                                                                              + operator toml::table&() noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table.
                                                                                                                              +
                                                                                                                              + operator toml::table&&() noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto table() & -> toml::table& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table.
                                                                                                                              +
                                                                                                                              + auto table() && -> toml::table&& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto table() const & -> const toml::table& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& os, + const parse_result& result) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the held error or table object out to a text stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + table_iterator toml::parse_result::begin() noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_table_iterator toml::parse_result::begin() const noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_table_iterator toml::parse_result::cbegin() const noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::parse_result::at_path(std::string_view path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::parse_result::at_path(std::string_view path) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::parse_result::at_path(std::wstring_view path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::parse_result::at_path(std::wstring_view path) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::parse_result::operator[](std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if parsing was successful and a matching key existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::parse_result::operator[](std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if parsing was successful and a matching key existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::parse_result::operator[](std::wstring_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if parsing was successful and a matching key existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::parse_result::operator[](std::wstring_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if parsing was successful and a matching key existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& os, + const parse_result& result) +

                                                                                                                              +

                                                                                                                              Prints the held error or table object out to a text stream.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.1.0/classtoml_1_1table.html b/v3.1.0/classtoml_1_1table.html new file mode 100644 index 00000000..14265cae --- /dev/null +++ b/v3.1.0/classtoml_1_1table.html @@ -0,0 +1,2133 @@ + + + + toml::table class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::table class +

                                                                                                                              +

                                                                                                                              A TOML table.

                                                                                                                              + +

                                                                                                                              The interface of this type is modeled after std::map, with some additional considerations made for the heterogeneous nature of a TOML table.

                                                                                                                              toml::table tbl = toml::parse(R"(
                                                                                                                              +
                                                                                                                              +    [animals]
                                                                                                                              +    cats = [ "tiger", "lion", "puma" ]
                                                                                                                              +    birds = [ "macaw", "pigeon", "canary" ]
                                                                                                                              +    fish = [ "salmon", "trout", "carp" ]
                                                                                                                              +
                                                                                                                              +)"sv);
                                                                                                                              +
                                                                                                                              +// operator[] retrieves node-views
                                                                                                                              +std::cout << "cats: " << tbl["animals"]["cats"] << "\n";
                                                                                                                              +std::cout << "fish[1]: " << tbl["animals"]["fish"][1] << "\n";
                                                                                                                              +
                                                                                                                              +// at_path() does fully-qualified "toml path" lookups
                                                                                                                              +std::cout << "cats: " << tbl.at_path("animals.cats") << "\n";
                                                                                                                              +std::cout << "fish[1]: " << tbl.at_path("animals.fish[1]") << "\n";
                                                                                                                              cats: ['tiger', 'lion', 'puma']
                                                                                                                              +fish[1] : 'trout'
                                                                                                                              +cats : ['tiger', 'lion', 'puma']
                                                                                                                              +fish[1] : 'trout'
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Base classes

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + class node +
                                                                                                                              +
                                                                                                                              A TOML node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + table() noexcept +
                                                                                                                              +
                                                                                                                              Default constructor.
                                                                                                                              +
                                                                                                                              + table(const table&) +
                                                                                                                              +
                                                                                                                              Copy constructor.
                                                                                                                              +
                                                                                                                              + table(table&& other) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              + table(std::initializer_list<impl::table_init_pair> kvps) explicit +
                                                                                                                              +
                                                                                                                              Constructs a table with one or more initial key-value pairs.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator=(const table&) -> table& +
                                                                                                                              +
                                                                                                                              Copy-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(table&& rhs) -> table& noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const table& lhs, + const table& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const table& lhs, + const table& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Erasure

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + void clear() noexcept +
                                                                                                                              +
                                                                                                                              Removes all key-value pairs from the table.
                                                                                                                              +
                                                                                                                              + auto erase(iterator pos) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Removes the specified key-value pair from the table.
                                                                                                                              +
                                                                                                                              + auto erase(const_iterator pos) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Removes the specified key-value pair from the table (const iterator overload).
                                                                                                                              +
                                                                                                                              + auto erase(const_iterator begin, + const_iterator end) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Removes the key-value pairs in the range [first, last) from the table.
                                                                                                                              +
                                                                                                                              + auto erase(std::string_view key) -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Removes the value with the given key from the table.
                                                                                                                              +
                                                                                                                              + auto erase(std::wstring_view key) -> size_t +
                                                                                                                              +
                                                                                                                              Removes the value with the given key from the table.
                                                                                                                              +
                                                                                                                              + auto prune(bool recursive = true) & -> table& noexcept +
                                                                                                                              +
                                                                                                                              Removes empty child arrays and tables.
                                                                                                                              +
                                                                                                                              + auto prune(bool recursive = true) && -> table&& noexcept +
                                                                                                                              +
                                                                                                                              Removes empty child arrays and tables (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Insertion and Emplacement

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ValueType, typename KeyType, typename... ValueArgs>
                                                                                                                              + auto emplace(KeyType&& key, + ValueArgs && ... args) -> std::pair<iterator, bool> +
                                                                                                                              +
                                                                                                                              Emplaces a new value at a specific key if one did not already exist.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ValueType, typename KeyType, typename... ValueArgs>
                                                                                                                              + auto emplace_hint(const_iterator hint, + KeyType&& key, + ValueArgs && ... args) -> iterator +
                                                                                                                              +
                                                                                                                              Emplaces a new value at a specific key if one did not already exist.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename KeyType, typename ValueType>
                                                                                                                              + auto insert(KeyType&& key, + ValueType&& val, + value_flags flags = preserve_source_value_flags) -> std::pair<iterator, bool> +
                                                                                                                              +
                                                                                                                              Inserts a new value at a specific key if one did not already exist.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Iter>
                                                                                                                              + void insert(Iter begin, + Iter end, + value_flags flags = preserve_source_value_flags) +
                                                                                                                              +
                                                                                                                              Inserts a series of key-value pairs into the table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename KeyType, typename ValueType>
                                                                                                                              + auto insert_or_assign(KeyType&& key, + ValueType&& val, + value_flags flags = preserve_source_value_flags) -> std::pair<iterator, bool> +
                                                                                                                              +
                                                                                                                              Inserts or assigns a value at a specific key.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Iteration

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using const_iterator = toml::const_table_iterator +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over const key-value pairs in a toml::table.
                                                                                                                              +
                                                                                                                              + using iterator = toml::table_iterator +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over key-value pairs in a toml::table.
                                                                                                                              +
                                                                                                                              + auto begin() -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair.
                                                                                                                              +
                                                                                                                              + auto begin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair.
                                                                                                                              +
                                                                                                                              + auto cbegin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair.
                                                                                                                              +
                                                                                                                              + auto cend() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair.
                                                                                                                              +
                                                                                                                              + auto end() -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair.
                                                                                                                              +
                                                                                                                              + auto end() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto for_each(Func&& visitor) & -> table& noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on each key-value pair in the table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto for_each(Func&& visitor) && -> table&& noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on each key-value pair in the table (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto for_each(Func&& visitor) const & -> const table& noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on each key-value pair in the table (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto for_each(Func&& visitor) const && -> const table&& noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on each key-value pair in the table (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Metadata

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto is_inline() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this table is an inline table.
                                                                                                                              +
                                                                                                                              + void is_inline(bool val) noexcept +
                                                                                                                              +
                                                                                                                              Sets whether this table is a TOML inline table.
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the source region responsible for generating this node during parsing.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Node views

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) -> node_view<node> +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) const -> node_view<const node> +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + operator node_view<const node>() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node (const overload).
                                                                                                                              +
                                                                                                                              + operator node_view<node>() explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node.
                                                                                                                              +
                                                                                                                              + auto operator[](std::string_view key) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected value.
                                                                                                                              +
                                                                                                                              + auto operator[](std::string_view key) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected value (const overload).
                                                                                                                              +
                                                                                                                              + auto operator[](std::wstring_view key) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected value.
                                                                                                                              +
                                                                                                                              + auto operator[](std::wstring_view key) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected value (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Searching

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto contains(std::string_view key) const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the table contains a node at the given key.
                                                                                                                              +
                                                                                                                              + auto contains(std::wstring_view key) const -> bool +
                                                                                                                              +
                                                                                                                              Returns true if the table contains a node at the given key.
                                                                                                                              +
                                                                                                                              + auto find(std::string_view key) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Gets an iterator to the node at a specific key.
                                                                                                                              +
                                                                                                                              + auto find(std::string_view key) const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Gets an iterator to the node at a specific key (const overload)
                                                                                                                              +
                                                                                                                              + auto find(std::wstring_view key) -> iterator +
                                                                                                                              +
                                                                                                                              Gets an iterator to the node at a specific key.
                                                                                                                              +
                                                                                                                              + auto find(std::wstring_view key) const -> const_iterator +
                                                                                                                              +
                                                                                                                              Gets an iterator to the node at a specific key (const overload).
                                                                                                                              +
                                                                                                                              + auto lower_bound(std::string_view key) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair with key that is not less than the given key.
                                                                                                                              +
                                                                                                                              + auto lower_bound(std::string_view key) const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns a const iterator to the first key-value pair with key that is not less than the given key.
                                                                                                                              +
                                                                                                                              + auto lower_bound(std::wstring_view key) -> iterator +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair with key that is not less than the given key.
                                                                                                                              +
                                                                                                                              + auto lower_bound(std::wstring_view key) const -> const_iterator +
                                                                                                                              +
                                                                                                                              Returns a const iterator to the first key-value pair with key that is not less than the given key.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Size and Capacity

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto empty() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the table is empty.
                                                                                                                              +
                                                                                                                              + auto size() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the number of key-value pairs in the table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type casts

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() -> impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() const -> const impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type (const overload).
                                                                                                                              +
                                                                                                                              + auto as_array() -> array* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_array() const -> const array* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_boolean() -> toml::value<bool>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_boolean() const -> const toml::value<bool>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date() -> toml::value<date>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date() const -> const toml::value<date>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date_time() -> toml::value<date_time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date_time() const -> const toml::value<date_time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() -> toml::value<double>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() const -> const toml::value<double>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_integer() -> toml::value<int64_t>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_integer() const -> const toml::value<int64_t>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_string() -> toml::value<std::string>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_string() const -> const toml::value<std::string>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_table() -> table* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the table.
                                                                                                                              +
                                                                                                                              + auto as_table() const -> const table* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the table.
                                                                                                                              +
                                                                                                                              + auto as_time() -> toml::value<time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_time() const -> const toml::value<time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type checks

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto is() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node is a specific type.
                                                                                                                              +
                                                                                                                              + auto is_array() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_array_of_tables() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_boolean() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_date() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_date_time() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_floating_point() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype) const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + node*& first_nonmatch) -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + const node*& first_nonmatch) const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType = void>
                                                                                                                              + auto is_homogeneous() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_integer() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_number() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_string() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_table() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true.
                                                                                                                              +
                                                                                                                              + auto is_time() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_value() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto type() const -> node_type final noexcept +
                                                                                                                              +
                                                                                                                              Returns toml::node_type::table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Value retrieval

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at(std::string_view key) -> node& +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific key, throwing std::out_of_range if none existed.
                                                                                                                              +
                                                                                                                              + auto at(std::string_view key) const -> const node& +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific key, throwing std::out_of_range if none existed.
                                                                                                                              +
                                                                                                                              + auto at(std::wstring_view key) -> node& +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific key, throwing std::out_of_range if none existed.
                                                                                                                              +
                                                                                                                              + auto at(std::wstring_view key) const -> const node& +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific key, throwing std::out_of_range if none existed.
                                                                                                                              +
                                                                                                                              + auto get(std::string_view key) -> node* noexcept +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key.
                                                                                                                              +
                                                                                                                              + auto get(std::string_view key) const -> const node* noexcept +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key (const overload).
                                                                                                                              +
                                                                                                                              + auto get(std::wstring_view key) -> node* +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key.
                                                                                                                              +
                                                                                                                              + auto get(std::wstring_view key) const -> const node* +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto get_as(std::string_view key) -> impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key if it is a particular type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto get_as(std::string_view key) const -> const impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key if it is a particular type (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto get_as(std::wstring_view key) -> impl::wrap_node<T>* +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key if it is a particular type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto get_as(std::wstring_view key) const -> const impl::wrap_node<T>* +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key if it is a particular type (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_exact() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_or(T&& default_value) const -> auto noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the raw value contained by this node, or a default.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Visitation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const table& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the table out to a stream as formatted TOML.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::table::table(std::initializer_list<impl::table_init_pair> kvps) explicit +

                                                                                                                              +

                                                                                                                              Constructs a table with one or more initial key-value pairs.

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              kvpsA list of key-value pairs used to initialize the table.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "foo", 1 },
                                                                                                                              +    { "bar", 2.0 },
                                                                                                                              +    { "kek", "three" }
                                                                                                                              +};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { foo = 1, bar = 2.0, kek = "three" }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::operator!=(const table& lhs, + const table& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Inequality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS table.
                                                                                                                              rhsThe RHS table.
                                                                                                                              ReturnsTrue if the tables did not contain the same keys and map.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::operator==(const table& lhs, + const table& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Equality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS table.
                                                                                                                              rhsThe RHS table.
                                                                                                                              ReturnsTrue if the tables contained the same keys and map.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::erase(iterator pos) noexcept +

                                                                                                                              +

                                                                                                                              Removes the specified key-value pair from the table.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              posIterator to the key-value pair being erased.
                                                                                                                              ReturnsIterator to the first key-value pair immediately following the removed key-value pair.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 1 },
                                                                                                                              +    { "b", 2 },
                                                                                                                              +    { "c", 3 }
                                                                                                                              +};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +
                                                                                                                              +tbl.erase(tbl.begin() + 1);
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { a = 1, b = 2, c = 3 }
                                                                                                                              +{ a = 1, c = 3 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::erase(const_iterator pos) noexcept +

                                                                                                                              +

                                                                                                                              Removes the specified key-value pair from the table (const iterator overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              posIterator to the key-value pair being erased.
                                                                                                                              ReturnsIterator to the first key-value pair immediately following the removed key-value pair.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 1 },
                                                                                                                              +    { "b", 2 },
                                                                                                                              +    { "c", 3 }
                                                                                                                              +};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +
                                                                                                                              +tbl.erase(tbl.cbegin() + 1);
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { a = 1, b = 2, c = 3 }
                                                                                                                              +{ a = 1, c = 3 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::erase(const_iterator begin, + const_iterator end) noexcept +

                                                                                                                              +

                                                                                                                              Removes the key-value pairs in the range [first, last) from the table.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              beginIterator to the first key-value pair being erased.
                                                                                                                              endIterator to the one-past-the-last key-value pair being erased.
                                                                                                                              ReturnsIterator to the first key-value pair immediately following the last removed key-value pair.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 1 },
                                                                                                                              +    { "b", "bad" },
                                                                                                                              +    { "c", "karma" },
                                                                                                                              +    { "d", 2 }
                                                                                                                              +};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +
                                                                                                                              +tbl.erase(tbl.cbegin() + 1, tbl.cbegin() + 3);
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { a = 1, b = "bad", c = "karma", d = 2 }
                                                                                                                              +{ a = 1, d = 2 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + size_t toml::table::erase(std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Removes the value with the given key from the table.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyKey to erase.
                                                                                                                              ReturnsNumber of elements removed (0 or 1).
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 1 },
                                                                                                                              +    { "b", 2 },
                                                                                                                              +    { "c", 3 }
                                                                                                                              +};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +
                                                                                                                              +std::cout << tbl.erase("b") << "\n";
                                                                                                                              +std::cout << tbl.erase("not an existing key") << "\n";
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { a = 1, b = 2, c = 3 }
                                                                                                                              +true
                                                                                                                              +false
                                                                                                                              +{ a = 1, c = 3 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + size_t toml::table::erase(std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Removes the value with the given key from the table.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyKey to erase.
                                                                                                                              ReturnsNumber of elements removed (0 or 1).
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + table& toml::table::prune(bool recursive = true) & noexcept +

                                                                                                                              +

                                                                                                                              Removes empty child arrays and tables.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              recursiveShould child arrays and tables themselves be pruned?
                                                                                                                              ReturnsA reference to the table.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{ { "a", 1 }, { "b", toml::array{ } }, { "c", toml::array{ toml::table{}, toml::array{} } } };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +
                                                                                                                              +arr.prune();
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              { a = 1, b = [], c = [ {}, [] ] }
                                                                                                                              +{ a = 1 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + table&& toml::table::prune(bool recursive = true) && noexcept +

                                                                                                                              +

                                                                                                                              Removes empty child arrays and tables (rvalue overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              recursiveShould child arrays and tables themselves be pruned?
                                                                                                                              ReturnsAn rvalue reference to the table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType, typename KeyType, typename... ValueArgs> +
                                                                                                                              + std::pair<iterator, bool> toml::table::emplace(KeyType&& key, + ValueArgs && ... args) +

                                                                                                                              +

                                                                                                                              Emplaces a new value at a specific key if one did not already exist.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ValueTypetoml::table, toml::array, or any native TOML value type.
                                                                                                                              KeyTypeA toml::key or any compatible string type.
                                                                                                                              ValueArgsValue constructor argument types.
                                                                                                                              Parameters
                                                                                                                              keyThe key at which to emplace the new value.
                                                                                                                              argsArguments to forward to the value's constructor.
                                                                                                                              Returns

                                                                                                                              A std::pair containing:

                                                                                                                              • An iterator to the emplacement position (or the position of the value that prevented emplacement)
                                                                                                                              • A boolean indicating if the emplacement was successful.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 1 },
                                                                                                                              +    { "b", 2 },
                                                                                                                              +    { "c", 3 }
                                                                                                                              +};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +
                                                                                                                              +for (auto k : { "a", "d" })
                                                                                                                              +{
                                                                                                                              +    // add a string using std::string's substring constructor
                                                                                                                              +    auto result = tbl.emplace<std::string>(k, "this is not a drill"sv, 14, 5);
                                                                                                                              +    std::cout << "emplaced with key '"sv << k << "': "sv << result.second << "\n";
                                                                                                                              +}
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { a = 1, b = 2, c = 3 }
                                                                                                                              +emplaced with key 'a': false
                                                                                                                              +emplaced with key 'd': true
                                                                                                                              +{ a = 1, b = 2, c = 3, d = "drill" }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType, typename KeyType, typename... ValueArgs> +
                                                                                                                              + iterator toml::table::emplace_hint(const_iterator hint, + KeyType&& key, + ValueArgs && ... args) +

                                                                                                                              +

                                                                                                                              Emplaces a new value at a specific key if one did not already exist.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ValueTypetoml::table, toml::array, or any native TOML value type.
                                                                                                                              KeyTypeA toml::key or any compatible string type.
                                                                                                                              ValueArgsValue constructor argument types.
                                                                                                                              Parameters
                                                                                                                              hintIterator to the position before which the new element will be emplaced.
                                                                                                                              keyThe key at which to emplace the new value.
                                                                                                                              argsArguments to forward to the value's constructor.
                                                                                                                              ReturnsAn iterator to the emplacement position (or the position of the value that prevented emplacement)
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename KeyType, typename ValueType> +
                                                                                                                              + std::pair<iterator, bool> toml::table::insert(KeyType&& key, + ValueType&& val, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Inserts a new value at a specific key if one did not already exist.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              KeyTypeA toml::key or any compatible string type.
                                                                                                                              ValueTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              keyThe key at which to insert the new value.
                                                                                                                              valThe new value to insert.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              Returns

                                                                                                                              Valid input:

                                                                                                                              • An iterator to the insertion position (or the position of the value that prevented insertion)
                                                                                                                              • A boolean indicating if the insertion was successful.
                                                                                                                              +

                                                                                                                              Input is a null toml::node_view: + { end(), false }

                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto tbl = toml::table{ + { "a", 1 }, + { "b", 2 }, + { "c", 3 } +}; +std::cout << tbl << "\n"; + +for (auto k : { "a", "d" }) +{ + auto result = tbl.insert(k, 42); + std::cout << "inserted with key '"sv << k << "': "sv << result.second << "\n"; +} +std::cout << tbl << "\n";
                                                                                                                              a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +
                                                                                                                              +inserted with key 'a': false
                                                                                                                              +inserted with key 'd': true
                                                                                                                              +a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +d = 42
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Iter> +
                                                                                                                              + void toml::table::insert(Iter begin, + Iter end, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Inserts a series of key-value pairs into the table.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              IterAn InputIterator to a collection of key-value pairs.
                                                                                                                              Parameters
                                                                                                                              beginAn iterator to the first value in the input collection.
                                                                                                                              endAn iterator to one-past-the-last value in the input collection.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto tbl = toml::table{ + { "a", 1 }, + { "b", 2 }, + { "c", 3 } +}; +std::cout << tbl << "\n"; + +auto kvps = std::array<std::pair<std::string, int>, 2>{{ + { "d", 42 }, + { "a", 43 } // won't be inserted, 'a' already exists +}}; +tbl.insert(kvps.begin(), kvps.end()); +std::cout << tbl << "\n";
                                                                                                                              a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +
                                                                                                                              +a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +d = 42
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename KeyType, typename ValueType> +
                                                                                                                              + std::pair<iterator, bool> toml::table::insert_or_assign(KeyType&& key, + ValueType&& val, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Inserts or assigns a value at a specific key.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              KeyTypeA toml::key or any compatible string type.
                                                                                                                              ValueTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              keyThe key at which to insert or assign the value.
                                                                                                                              valThe value to insert/assign.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              Returns

                                                                                                                              Valid input:

                                                                                                                              • An iterator to the value's position
                                                                                                                              • true if the value was inserted, false if it was assigned.
                                                                                                                              +

                                                                                                                              Input is a null toml::node_view: + { end(), false }

                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto tbl = toml::table{ + { "a", 1 }, + { "b", 2 }, + { "c", 3 } +}; +std::cout << tbl << "\n"; + +for (auto k : { "a", "d" }) +{ + auto result = tbl.insert_or_assign(k, 42); + std::cout << "value at key '"sv << k + << "' was "sv << (result.second ? "inserted"sv : "assigned"sv) << "\n"; +} +std::cout << tbl << "\n";
                                                                                                                              a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +
                                                                                                                              +value at key 'a' was assigned
                                                                                                                              +value at key 'd' was inserted
                                                                                                                              +a = 42
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +d = 42
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Func> +
                                                                                                                              + table& toml::table::for_each(Func&& visitor) & noexcept(…) +

                                                                                                                              +

                                                                                                                              Invokes a visitor on each key-value pair in the table.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              Func

                                                                                                                              A callable type invocable with one of the following signatures:

                                                                                                                              • func(key, val)
                                                                                                                              • func(val)

                                                                                                                              Where:

                                                                                                                              • key will recieve a const reference to a toml::key
                                                                                                                              • val will recieve the value as it's concrete type with cvref-qualifications matching the table

                                                                                                                              Visitors returning bool (or something convertible to bool) will cause iteration to stop if they return false.

                                                                                                                              Parameters
                                                                                                                              visitorThe visitor object.
                                                                                                                              ReturnsA reference to the table.
                                                                                                                              +
                                                                                                                              toml::table tbl{
                                                                                                                              +    { "0",  0      },
                                                                                                                              +    { "1",  1      },
                                                                                                                              +    { "2",  2      },
                                                                                                                              +    { "3",  3.0    },
                                                                                                                              +    { "4",  "four" },
                                                                                                                              +    { "5",  "five" },
                                                                                                                              +    { "6",  6      }
                                                                                                                              +};
                                                                                                                              +
                                                                                                                              +// select only the integers using a strongly-typed visitor
                                                                                                                              +tbl.for_each([](toml::value<int64_t>& val)
                                                                                                                              +{
                                                                                                                              +    std::cout << val << ", ";
                                                                                                                              +});
                                                                                                                              +std::cout << "\n";
                                                                                                                              +
                                                                                                                              +// select all the numeric values using a generic visitor + is_number<> metafunction
                                                                                                                              +tbl.for_each([](auto&& val)
                                                                                                                              +{
                                                                                                                              +    if constexpr (toml::is_number<decltype(val)>)
                                                                                                                              +        std::cout << val << ", ";
                                                                                                                              +});
                                                                                                                              +std::cout << "\n";
                                                                                                                              +
                                                                                                                              +// select all the numeric values until we encounter something non-numeric
                                                                                                                              +tbl.for_each([](auto&& val)
                                                                                                                              +{
                                                                                                                              +    if constexpr (toml::is_number<decltype(val)>)
                                                                                                                              +    {
                                                                                                                              +        std::cout << val << ", ";
                                                                                                                              +        return true; // "keep going"
                                                                                                                              +    }
                                                                                                                              +    else
                                                                                                                              +        return false; // "stop!"
                                                                                                                              +
                                                                                                                              +});
                                                                                                                              +std::cout << "\n\n";
                                                                                                                              +
                                                                                                                              +// visitors may also recieve the key
                                                                                                                              +tbl.for_each([](const toml::key& key, auto&& val)
                                                                                                                              +{
                                                                                                                              +    std::cout << key << ": " << val << "\n";
                                                                                                                              +});
                                                                                                                              0, 1, 2, 6,
                                                                                                                              +0, 1, 2, 3.0, 6,
                                                                                                                              +0, 1, 2, 3.0,
                                                                                                                              +
                                                                                                                              +0: 0
                                                                                                                              +1: 1
                                                                                                                              +2: 2
                                                                                                                              +3: 3.0
                                                                                                                              +4: 'four'
                                                                                                                              +5: 'five'
                                                                                                                              +6: 6
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::is_inline() const noexcept +

                                                                                                                              +

                                                                                                                              Returns true if this table is an inline table.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + void toml::table::is_inline(bool val) noexcept +

                                                                                                                              +

                                                                                                                              Sets whether this table is a TOML inline table.

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              valThe new value for 'inline'.
                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto tbl = toml::table{ + { "a", 1 }, + { "b", 2 }, + { "c", 3 }, + { "d", toml::table{ { "e", 4 } } } +}; +std::cout << "is inline? "sv << tbl.is_inline() << "\n"; +std::cout << tbl << "\n\n"; + +tbl.is_inline(!tbl.is_inline()); +std::cout << "is inline? "sv << tbl.is_inline() << "\n"; +std::cout << tbl << "\n";
                                                                                                                              is inline? false
                                                                                                                              +a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +
                                                                                                                              +[d]
                                                                                                                              +e = 4
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +is inline? true
                                                                                                                              +{ a = 1, b = 2, c = 3, d = { e = 4 } }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::table::operator[](std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected value.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if one existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::table::operator[](std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected value (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if one existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::table::operator[](std::wstring_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected value.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if one existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::table::operator[](std::wstring_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected value (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if one existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::contains(std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Returns true if the table contains a node at the given key.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::find(std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets an iterator to the node at a specific key.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsAn iterator to the node at the specified key, or end().
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_iterator toml::table::find(std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets an iterator to the node at a specific key (const overload)

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA const iterator to the node at the specified key, or cend().
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::find(std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Gets an iterator to the node at a specific key.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsAn iterator to the node at the specified key, or end().
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_iterator toml::table::find(std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Gets an iterator to the node at a specific key (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA const iterator to the node at the specified key, or cend().
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::lower_bound(std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to the first key-value pair with key that is not less than the given key.

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsAn iterator to the first matching key-value pair, or end().
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_iterator toml::table::lower_bound(std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const iterator to the first key-value pair with key that is not less than the given key.

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsAn iterator to the first matching key-value pair, or end().
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::lower_bound(std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Returns an iterator to the first key-value pair with key that is not less than the given key.

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsAn iterator to the first matching key-value pair, or end().
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_iterator toml::table::lower_bound(std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Returns a const iterator to the first key-value pair with key that is not less than the given key.

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsAn iterator to the first matching key-value pair, or end().
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::is_homogeneous(node_type ntype) const final noexcept +

                                                                                                                              +

                                                                                                                              Checks if the node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << "homogenous: "sv << arr.is_homogeneous(toml::node_type::none) << "\n";
                                                                                                                              +std::cout << "all floats: "sv << arr.is_homogeneous(toml::node_type::floating_point) << "\n";
                                                                                                                              +std::cout << "all arrays: "sv << arr.is_homogeneous(toml::node_type::array) << "\n";
                                                                                                                              +std::cout << "all ints:   "sv << arr.is_homogeneous(toml::node_type::integer) << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::is_homogeneous(node_type ntype, + node*& first_nonmatch) final noexcept +

                                                                                                                              +

                                                                                                                              Checks if a node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              first_nonmatchReference to a pointer in which the address of the first non-matching element will be stored if the return value is false.
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]");
                                                                                                                              +toml::array& arr = *cfg["arr"].as_array();
                                                                                                                              +
                                                                                                                              +toml::node* nonmatch{};
                                                                                                                              +if (arr.is_homogeneous(toml::node_type::integer, nonmatch))
                                                                                                                              +    std::cout << "array was homogeneous"sv << "\n";
                                                                                                                              +else
                                                                                                                              +    std::cout << "array was not homogeneous!\n"
                                                                                                                              +    << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
                                                                                                                              array was not homogeneous!
                                                                                                                              +first non-match was a floating-point at line 1, column 18
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node& toml::table::at(std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Gets a reference to the element at a specific key, throwing std::out_of_range if none existed.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const node& toml::table::at(std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Gets a reference to the element at a specific key, throwing std::out_of_range if none existed.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node* toml::table::get(std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key, or nullptr.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 42, },
                                                                                                                              +    { "b", "is the meaning of life, apparently." }
                                                                                                                              +};
                                                                                                                              +std::cout << R"(node ["a"] exists: )"sv << !!arr.get("a") << "\n";
                                                                                                                              +std::cout << R"(node ["b"] exists: )"sv << !!arr.get("b") << "\n";
                                                                                                                              +std::cout << R"(node ["c"] exists: )"sv << !!arr.get("c") << "\n";
                                                                                                                              +if (auto val = arr.get("a"))
                                                                                                                              +    std::cout << R"(node ["a"] was an )"sv << val->type() << "\n";
                                                                                                                              node ["a"] exists: true
                                                                                                                              +node ["b"] exists: true
                                                                                                                              +node ["c"] exists: false
                                                                                                                              +node ["a"] was an integer
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const node* toml::table::get(std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key, or nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node* toml::table::get(std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key, or nullptr.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const node* toml::table::get(std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key, or nullptr.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + impl::wrap_node<T>* toml::table::get_as(std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key if it is a particular type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the TOML node or value types.
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key if it was of the given type, or nullptr.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 42, },
                                                                                                                              +    { "b", "is the meaning of life, apparently." }
                                                                                                                              +};
                                                                                                                              +if (auto val = arr.get_as<int64_t>("a"))
                                                                                                                              +    std::cout << R"(node ["a"] was an integer with value )"sv << **val << "\n";
                                                                                                                              node ["a"] was an integer with value 42
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + const impl::wrap_node<T>* toml::table::get_as(std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key if it is a particular type (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the TOML node or value types.
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key if it was of the given type, or nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + impl::wrap_node<T>* toml::table::get_as(std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key if it is a particular type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the TOML node or value types.
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key if it was of the given type, or nullptr.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + const impl::wrap_node<T>* toml::table::get_as(std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key if it is a particular type (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the TOML node or value types.
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key if it was of the given type, or nullptr.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const table& rhs) +

                                                                                                                              +

                                                                                                                              Prints the table out to a stream as formatted TOML.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.1.0/classtoml_1_1toml__formatter.html b/v3.1.0/classtoml_1_1toml__formatter.html new file mode 100644 index 00000000..2b39e7d8 --- /dev/null +++ b/v3.1.0/classtoml_1_1toml__formatter.html @@ -0,0 +1,243 @@ + + + + toml::toml_formatter class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::toml_formatter class +

                                                                                                                              +

                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted TOML.

                                                                                                                              + +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "description", "This is some TOML, yo." },
                                                                                                                              +    { "fruit", toml::array{ "apple", "orange", "pear" } },
                                                                                                                              +    { "numbers", toml::array{ 1, 2, 3, 4, 5 } },
                                                                                                                              +    { "table", toml::table{ { "foo", "bar" } } }
                                                                                                                              +};
                                                                                                                              +
                                                                                                                              +// these two lines are equivalent:
                                                                                                                              +std::cout << toml::toml_formatter{ tbl } << "\n";
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              description = "This is some TOML, yo."
                                                                                                                              +fruit = ["apple", "orange", "pear"]
                                                                                                                              +numbers = [1, 2, 3, 4, 5]
                                                                                                                              +
                                                                                                                              +[table]
                                                                                                                              +foo = "bar"
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public static variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + static format_flags default_flags constexpr +
                                                                                                                              +
                                                                                                                              The default flags for a toml_formatter.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + toml_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a TOML formatter and binds it to a TOML object.
                                                                                                                              +
                                                                                                                              + toml_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a TOML formatter and binds it to a toml::parse_result.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + toml_formatter& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as formatted TOML.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + toml_formatter&& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as formatted TOML (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::toml_formatter::toml_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a TOML formatter and binds it to a TOML object.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              sourceThe source TOML object.
                                                                                                                              flagsFormat option flags.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::toml_formatter::toml_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a TOML formatter and binds it to a toml::parse_result.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              resultThe parse result.
                                                                                                                              flagsFormat option flags.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.1.0/classtoml_1_1value.html b/v3.1.0/classtoml_1_1value.html new file mode 100644 index 00000000..89ee8f0e --- /dev/null +++ b/v3.1.0/classtoml_1_1value.html @@ -0,0 +1,1047 @@ + + + + toml::value class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              template <typename ValueType>
                                                                                                                              + toml::value class +

                                                                                                                              +

                                                                                                                              A TOML value.

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ValueType

                                                                                                                              The value's native TOML data type. Can be one of:

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Base classes

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + class node +
                                                                                                                              +
                                                                                                                              A TOML node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public types

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using value_arg = /* ... */ +
                                                                                                                              +
                                                                                                                              A type alias for 'value arguments'.
                                                                                                                              +
                                                                                                                              + using value_type = ValueType +
                                                                                                                              +
                                                                                                                              The value's underlying data type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename... Args>
                                                                                                                              + value(Args && ... args) explicit noexcept(…) +
                                                                                                                              +
                                                                                                                              Constructs a toml value.
                                                                                                                              +
                                                                                                                              + value(const value& other) noexcept +
                                                                                                                              +
                                                                                                                              Copy constructor.
                                                                                                                              +
                                                                                                                              + value(const value& other, + value_flags flags) noexcept +
                                                                                                                              +
                                                                                                                              Copy constructor with flags override.
                                                                                                                              +
                                                                                                                              + value(value&& other) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              + value(value&& other, + value_flags flags) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor with flags override.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator=(const value& rhs) -> value& noexcept +
                                                                                                                              +
                                                                                                                              Copy-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(value&& rhs) -> value& noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(value_arg rhs) -> value& noexcept +
                                                                                                                              +
                                                                                                                              Value-assignment operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality and Comparison

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator!=(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(const value& lhs, + value_arg rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<(value_arg lhs, + const value& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value less-than operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator<(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<=(const value& lhs, + value_arg rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator<=(value_arg lhs, + const value& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator<=(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const value& lhs, + value_arg rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value equality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(const value& lhs, + value_arg rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>(value_arg lhs, + const value& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value greater-than operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator>(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(const value& lhs, + value_arg rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(value_arg lhs, + const value& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator>=(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Metadata

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto flags() const -> value_flags noexcept +
                                                                                                                              +
                                                                                                                              Returns the metadata flags associated with this value.
                                                                                                                              +
                                                                                                                              + auto flags(value_flags new_flags) -> value& noexcept +
                                                                                                                              +
                                                                                                                              Sets the metadata flags associated with this value.
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the source region responsible for generating this node during parsing.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Node views

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) -> node_view<node> +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) const -> node_view<const node> +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + operator node_view<const node>() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node (const overload).
                                                                                                                              +
                                                                                                                              + operator node_view<node>() explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type casts

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() -> impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() const -> const impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type (const overload).
                                                                                                                              +
                                                                                                                              + auto as_array() -> array* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_array() const -> const array* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_boolean() -> value<bool>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<bool>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_boolean() const -> const value<bool>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<bool>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date() -> value<date>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<date>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date() const -> const value<date>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<date>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date_time() -> value<date_time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<date_time>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date_time() const -> const value<date_time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<date_time>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() -> value<double>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<double>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() const -> const value<double>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<double>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_integer() -> value<int64_t>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<int64_t>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_integer() const -> const value<int64_t>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<int64_t>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_string() -> value<std::string>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<std::string>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_string() const -> const value<std::string>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<std::string>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_table() -> table* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_table() const -> const table* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_time() -> value<time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<time>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_time() const -> const value<time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<time>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type checks

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto is() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node is a specific type.
                                                                                                                              +
                                                                                                                              + auto is_array() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_array_of_tables() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_boolean() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is bool.
                                                                                                                              +
                                                                                                                              + auto is_date() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is toml::date.
                                                                                                                              +
                                                                                                                              + auto is_date_time() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is toml_date_time.
                                                                                                                              +
                                                                                                                              + auto is_floating_point() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is double.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype) const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + node*& first_nonmatch) -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + const node*& first_nonmatch) const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType = void>
                                                                                                                              + auto is_homogeneous() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_integer() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is int64_t.
                                                                                                                              +
                                                                                                                              + auto is_number() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is int64_t or double.
                                                                                                                              +
                                                                                                                              + auto is_string() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is std::string.
                                                                                                                              +
                                                                                                                              + auto is_table() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_time() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is toml::time.
                                                                                                                              +
                                                                                                                              + auto is_value() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true.
                                                                                                                              +
                                                                                                                              + auto type() const -> node_type final noexcept +
                                                                                                                              +
                                                                                                                              Returns the value's node type identifier.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Value retrieval

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto get() & -> value_type& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value.
                                                                                                                              +
                                                                                                                              + auto get() && -> value_type&& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto get() const & -> const value_type& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const overload).
                                                                                                                              +
                                                                                                                              + auto get() const && -> const value_type&& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const rvalue overload).
                                                                                                                              +
                                                                                                                              + operator const value_type&() const & explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const overload).
                                                                                                                              +
                                                                                                                              + operator const value_type&&() && explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const rvalue overload).
                                                                                                                              +
                                                                                                                              + operator value_type&() & explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value.
                                                                                                                              +
                                                                                                                              + operator value_type&&() && explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto operator*() & -> value_type& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value.
                                                                                                                              +
                                                                                                                              + auto operator*() && -> value_type&& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto operator*() const & -> const value_type& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const overload).
                                                                                                                              +
                                                                                                                              + auto operator*() const && -> const value_type&& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const rvalue overload).
                                                                                                                              +
                                                                                                                              + auto operator->() -> value_type* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the underlying value.
                                                                                                                              +
                                                                                                                              + auto operator->() const -> const value_type* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the underlying value (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_exact() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_or(T&& default_value) const -> auto noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the raw value contained by this node, or a default.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Visitation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const value& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the value out to a stream as formatted TOML.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Typedef documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + using toml::value::value_arg = /* ... */ +

                                                                                                                              +

                                                                                                                              A type alias for 'value arguments'.

                                                                                                                              +

                                                                                                                              This differs according to the value's type argument:

                                                                                                                              • ints, floats, booleans: value_type
                                                                                                                              • strings: string_view
                                                                                                                              • everything else: const value_type&
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename... Args> +
                                                                                                                              + toml::value::value(Args && ... args) explicit noexcept(…) +

                                                                                                                              +

                                                                                                                              Constructs a toml value.

                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ArgsConstructor argument types.
                                                                                                                              Parameters
                                                                                                                              argsArguments to forward to the internal value's constructor.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator!=(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Inequality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS value.
                                                                                                                              rhsThe RHS value.
                                                                                                                              ReturnsTrue if the values were not of the same type, or did not contain the same value.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator<(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Less-than operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS toml::value.
                                                                                                                              rhsThe RHS toml::value.
                                                                                                                              ReturnsSame value types: + lhs.get() < rhs.get()Different value types: + lhs.type() < rhs.type()
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator<=(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Less-than-or-equal-to operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS toml::value.
                                                                                                                              rhsThe RHS toml::value.
                                                                                                                              ReturnsSame value types: + lhs.get() <= rhs.get()Different value types: + lhs.type() <= rhs.type()
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator==(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Equality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS value.
                                                                                                                              rhsThe RHS value.
                                                                                                                              ReturnsTrue if the values were of the same type and contained the same value.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator>(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Greater-than operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS toml::value.
                                                                                                                              rhsThe RHS toml::value.
                                                                                                                              ReturnsSame value types: + lhs.get() > rhs.get()Different value types: + lhs.type() > rhs.type()
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator>=(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Greater-than-or-equal-to operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS toml::value.
                                                                                                                              rhsThe RHS toml::value.
                                                                                                                              ReturnsSame value types: + lhs.get() >= rhs.get()Different value types: + lhs.type() >= rhs.type()
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + value& toml::value::flags(value_flags new_flags) noexcept +

                                                                                                                              +

                                                                                                                              Sets the metadata flags associated with this value.

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsA reference to the value object.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + bool toml::value::is_homogeneous(node_type ntype) const final noexcept +

                                                                                                                              +

                                                                                                                              Checks if the node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << "homogenous: "sv << arr.is_homogeneous(toml::node_type::none) << "\n";
                                                                                                                              +std::cout << "all floats: "sv << arr.is_homogeneous(toml::node_type::floating_point) << "\n";
                                                                                                                              +std::cout << "all arrays: "sv << arr.is_homogeneous(toml::node_type::array) << "\n";
                                                                                                                              +std::cout << "all ints:   "sv << arr.is_homogeneous(toml::node_type::integer) << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + bool toml::value::is_homogeneous(node_type ntype, + node*& first_nonmatch) final noexcept +

                                                                                                                              +

                                                                                                                              Checks if a node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              first_nonmatchReference to a pointer in which the address of the first non-matching element will be stored if the return value is false.
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]");
                                                                                                                              +toml::array& arr = *cfg["arr"].as_array();
                                                                                                                              +
                                                                                                                              +toml::node* nonmatch{};
                                                                                                                              +if (arr.is_homogeneous(toml::node_type::integer, nonmatch))
                                                                                                                              +    std::cout << "array was homogeneous"sv << "\n";
                                                                                                                              +else
                                                                                                                              +    std::cout << "array was not homogeneous!\n"
                                                                                                                              +    << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
                                                                                                                              array was not homogeneous!
                                                                                                                              +first non-match was a floating-point at line 1, column 18
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + node_type toml::value::type() const final noexcept +

                                                                                                                              +

                                                                                                                              Returns the value's node type identifier.

                                                                                                                              + + + + + + + +
                                                                                                                              Returns

                                                                                                                              One of:

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + value_type* toml::value::operator->() noexcept +

                                                                                                                              +

                                                                                                                              Returns a pointer to the underlying value.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + const value_type* toml::value::operator->() const noexcept +

                                                                                                                              +

                                                                                                                              Returns a pointer to the underlying value (const overload).

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const value& rhs) +

                                                                                                                              +

                                                                                                                              Prints the value out to a stream as formatted TOML.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.1.0/classtoml_1_1yaml__formatter.html b/v3.1.0/classtoml_1_1yaml__formatter.html new file mode 100644 index 00000000..12381a54 --- /dev/null +++ b/v3.1.0/classtoml_1_1yaml__formatter.html @@ -0,0 +1,243 @@ + + + + toml::yaml_formatter class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::yaml_formatter class +

                                                                                                                              +

                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted YAML.

                                                                                                                              + +
                                                                                                                              auto some_toml = toml::parse(R"(
                                                                                                                              +    [fruit]
                                                                                                                              +    apple.color = "red"
                                                                                                                              +    apple.taste.sweet = true
                                                                                                                              +
                                                                                                                              +    [fruit.apple.texture]
                                                                                                                              +    smooth = true
                                                                                                                              +)"sv);
                                                                                                                              +std::cout << toml::yaml_formatter{ some_toml } << "\n";
                                                                                                                              fruit:
                                                                                                                              +  apple:
                                                                                                                              +    color: red
                                                                                                                              +    taste:
                                                                                                                              +      sweet: true
                                                                                                                              +    texture:
                                                                                                                              +      smooth: true
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public static variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + static format_flags default_flags constexpr +
                                                                                                                              +
                                                                                                                              The default flags for a yaml_formatter.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + yaml_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a YAML formatter and binds it to a TOML object.
                                                                                                                              +
                                                                                                                              + yaml_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a YAML formatter and binds it to a toml::parse_result.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + yaml_formatter& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as YAML.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + yaml_formatter&& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as YAML (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::yaml_formatter::yaml_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a YAML formatter and binds it to a TOML object.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              sourceThe source TOML object.
                                                                                                                              flagsFormat option flags.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::yaml_formatter::yaml_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a YAML formatter and binds it to a toml::parse_result.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              resultThe parse result.
                                                                                                                              flagsFormat option flags.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.1.0/concepts.html b/v3.1.0/concepts.html new file mode 100644 index 00000000..7d82d6f2 --- /dev/null +++ b/v3.1.0/concepts.html @@ -0,0 +1,137 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Concepts

                                                                                                                              +
                                                                                                                                +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.1.0/favicon.ico b/v3.1.0/favicon.ico new file mode 100644 index 00000000..518213d1 Binary files /dev/null and b/v3.1.0/favicon.ico differ diff --git a/v3.1.0/files.html b/v3.1.0/files.html new file mode 100644 index 00000000..bbc04eb2 --- /dev/null +++ b/v3.1.0/files.html @@ -0,0 +1,137 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Files

                                                                                                                              +
                                                                                                                                +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.1.0/group__configuration.html b/v3.1.0/group__configuration.html new file mode 100644 index 00000000..1d70e513 --- /dev/null +++ b/v3.1.0/group__configuration.html @@ -0,0 +1,312 @@ + + + + Library Configuration module | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + Library Configuration module

                                                                                                                              +

                                                                                                                              Preprocessor macros for configuring library functionality.

                                                                                                                              + +

                                                                                                                              Define these before including toml++ to alter the way it functions.

                                                                                                                              +
                                                                                                                              +

                                                                                                                              Defines

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + #define TOML_ASSERT(expr) +
                                                                                                                              +
                                                                                                                              Sets the assert function used by the library.
                                                                                                                              +
                                                                                                                              + #define TOML_CONFIG_HEADER +
                                                                                                                              +
                                                                                                                              An additional header to include before any other toml++ header files.
                                                                                                                              +
                                                                                                                              + #define TOML_ENABLE_FORMATTERS +
                                                                                                                              +
                                                                                                                              Sets whether the various formatter classes are enabled.
                                                                                                                              +
                                                                                                                              + #define TOML_ENABLE_PARSER +
                                                                                                                              +
                                                                                                                              Sets whether the parser-related parts of the library are included.
                                                                                                                              +
                                                                                                                              + #define TOML_ENABLE_UNRELEASED_FEATURES +
                                                                                                                              +
                                                                                                                              Enables support for unreleased TOML language features not yet part of a numbered version.
                                                                                                                              +
                                                                                                                              + #define TOML_ENABLE_WINDOWS_COMPAT +
                                                                                                                              +
                                                                                                                              Enables the use of wide strings (wchar_t, std::wstring) in various places throughout the library when building for Windows.
                                                                                                                              +
                                                                                                                              + #define TOML_EXCEPTIONS +
                                                                                                                              +
                                                                                                                              Sets whether the library uses exceptions to report parsing failures.
                                                                                                                              +
                                                                                                                              + #define TOML_EXPORTED_CLASS +
                                                                                                                              +
                                                                                                                              An 'export' annotation to add to classes.
                                                                                                                              +
                                                                                                                              + #define TOML_EXPORTED_FREE_FUNCTION +
                                                                                                                              +
                                                                                                                              An 'export' annotation to add to free functions.
                                                                                                                              +
                                                                                                                              + #define TOML_EXPORTED_MEMBER_FUNCTION +
                                                                                                                              +
                                                                                                                              An 'export' annotation to add to non-static class member functions.
                                                                                                                              +
                                                                                                                              + #define TOML_HEADER_ONLY +
                                                                                                                              +
                                                                                                                              Sets whether the library is entirely inline.
                                                                                                                              +
                                                                                                                              + #define TOML_IMPLEMENTATION +
                                                                                                                              +
                                                                                                                              Enables the library's implementation when TOML_HEADER_ONLY is disabled.
                                                                                                                              +
                                                                                                                              + #define TOML_OPTIONAL_TYPE +
                                                                                                                              +
                                                                                                                              Overrides the optional<T> type used by the library.
                                                                                                                              +
                                                                                                                              + #define TOML_SMALL_FLOAT_TYPE +
                                                                                                                              +
                                                                                                                              If your codebase has an additional 'small' float type (e.g. half-precision), this tells toml++ about it.
                                                                                                                              +
                                                                                                                              + #define TOML_SMALL_INT_TYPE +
                                                                                                                              +
                                                                                                                              If your codebase has an additional 'small' integer type (e.g. 24-bits), this tells toml++ about it.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Define documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_ASSERT(expr) +

                                                                                                                              +

                                                                                                                              Sets the assert function used by the library.

                                                                                                                              +

                                                                                                                              Defaults to the standard C assert().

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_CONFIG_HEADER +

                                                                                                                              +

                                                                                                                              An additional header to include before any other toml++ header files.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_ENABLE_FORMATTERS +

                                                                                                                              +

                                                                                                                              Sets whether the various formatter classes are enabled.

                                                                                                                              +

                                                                                                                              Defaults to 1.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_ENABLE_PARSER +

                                                                                                                              +

                                                                                                                              Sets whether the parser-related parts of the library are included.

                                                                                                                              +

                                                                                                                              Defaults to 1.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_ENABLE_UNRELEASED_FEATURES +

                                                                                                                              +

                                                                                                                              Enables support for unreleased TOML language features not yet part of a numbered version.

                                                                                                                              +

                                                                                                                              Defaults to 0.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_ENABLE_WINDOWS_COMPAT +

                                                                                                                              +

                                                                                                                              Enables the use of wide strings (wchar_t, std::wstring) in various places throughout the library when building for Windows.

                                                                                                                              +

                                                                                                                              Defaults to 1 when building for Windows, 0 otherwise. Has no effect when building for anything other than Windows.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_EXCEPTIONS +

                                                                                                                              +

                                                                                                                              Sets whether the library uses exceptions to report parsing failures.

                                                                                                                              +

                                                                                                                              Defaults to 1 or 0 according to your compiler's exception mode.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_EXPORTED_CLASS +

                                                                                                                              +

                                                                                                                              An 'export' annotation to add to classes.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_EXPORTED_FREE_FUNCTION +

                                                                                                                              +

                                                                                                                              An 'export' annotation to add to free functions.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_EXPORTED_MEMBER_FUNCTION +

                                                                                                                              +

                                                                                                                              An 'export' annotation to add to non-static class member functions.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_HEADER_ONLY +

                                                                                                                              +

                                                                                                                              Sets whether the library is entirely inline.

                                                                                                                              +

                                                                                                                              Defaults to 1.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_IMPLEMENTATION +

                                                                                                                              +

                                                                                                                              Enables the library's implementation when TOML_HEADER_ONLY is disabled.

                                                                                                                              +

                                                                                                                              Not defined by default. Meaningless when TOML_HEADER_ONLY is enabled.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_OPTIONAL_TYPE +

                                                                                                                              +

                                                                                                                              Overrides the optional<T> type used by the library.

                                                                                                                              +

                                                                                                                              Not defined by default (use std::optional).

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_SMALL_FLOAT_TYPE +

                                                                                                                              +

                                                                                                                              If your codebase has an additional 'small' float type (e.g. half-precision), this tells toml++ about it.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_SMALL_INT_TYPE +

                                                                                                                              +

                                                                                                                              If your codebase has an additional 'small' integer type (e.g. 24-bits), this tells toml++ about it.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.1.0/index.html b/v3.1.0/index.html new file mode 100644 index 00000000..5c5b9aa6 --- /dev/null +++ b/v3.1.0/index.html @@ -0,0 +1,430 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + Image + +

                                                                                                                              Features

                                                                                                                              • Supports the latest TOML release (v1.0.0), plus optional support for some unreleased TOML features
                                                                                                                              • Supports serializing to JSON and YAML
                                                                                                                              • Proper UTF-8 handling (incl. BOM)
                                                                                                                              • C++17 (plus some C++20 features where available, e.g. experimental support for char8_t strings)
                                                                                                                              • Header-only (optional!)
                                                                                                                              • Doesn't require RTTI
                                                                                                                              • Works with or without exceptions
                                                                                                                              • Tested on Clang (6+), GCC (7+) and MSVC (VS2019)
                                                                                                                              • Tested on x64, x86 and ARM

                                                                                                                              API documentation

                                                                                                                              You're looking at it! Browse the docs using the links at the top of the page. You can search from anywhere by pressing the TAB key.

                                                                                                                              Basic examples

                                                                                                                              Parsing files

                                                                                                                              Call toml::parse_file() and work with the toml::table you get back, or handle any toml::parse_error that gets thrown:

                                                                                                                              #include <iostream>
                                                                                                                              +#include <toml++/toml.h>
                                                                                                                              +
                                                                                                                              +int main(int argc, char** argv)
                                                                                                                              +{
                                                                                                                              +   toml::table tbl;
                                                                                                                              +   try
                                                                                                                              +   {
                                                                                                                              +       tbl = toml::parse_file(argv[1]);
                                                                                                                              +           std::cout << tbl << "\n";
                                                                                                                              +   }
                                                                                                                              +   catch (const toml::parse_error& err)
                                                                                                                              +   {
                                                                                                                              +       std::cerr << "Parsing failed:\n" << err << "\n";
                                                                                                                              +       return 1;
                                                                                                                              +   }
                                                                                                                              +
                                                                                                                              +   return 0;
                                                                                                                              +}

                                                                                                                              Parsing strings and iostreams

                                                                                                                              Call toml::parse() and work with the toml::table you get back, or handle any toml::parse_error that gets thrown:

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              #include <iostream> +#include <sstream> +#include <toml++/toml.h> +using namespace std::string_view_literals; + +int main() +{ + static constexpr std::string_view some_toml = R"( + [library] + name = "toml++" + authors = ["Mark Gillard <mark.gillard@outlook.com.au>"] + cpp = 17 + )"sv; + + try + { + // parse directly from a string view: + { + toml::table tbl = toml::parse(some_toml); + std::cout << tbl << "\n"; + } + + // parse from a string stream: + { + std::stringstream ss{ std::string{ some_toml } }; + toml::table tbl = toml::parse(ss); + std::cout << tbl << "\n"; + } + } + catch (const toml::parse_error& err) + { + std::cerr << "Parsing failed:\n" << err << "\n"; + return 1; + } + + return 0; +}
                                                                                                                              [library]
                                                                                                                              +authors = [ 'Mark Gillard <mark.gillard@outlook.com.au>' ]
                                                                                                                              +cpp = 17
                                                                                                                              +name = 'toml++'
                                                                                                                              +
                                                                                                                              +[library]
                                                                                                                              +authors = [ 'Mark Gillard <mark.gillard@outlook.com.au>' ]
                                                                                                                              +cpp = 17
                                                                                                                              +name = 'toml++'

                                                                                                                              Handling errors without exceptions

                                                                                                                              Can't (or won't) use exceptions? That's fine too. You can disable exceptions in your compiler flags and/or explicitly disable the library's use of them by setting the option TOML_EXCEPTIONS to 0. In either case, the parsing functions return a toml::parse_result instead of a toml::table:

                                                                                                                              #include <iostream>
                                                                                                                              +
                                                                                                                              +#define TOML_EXCEPTIONS 0 // only necessary if you've left them enabled in your compiler
                                                                                                                              +#include <toml++/toml.h>
                                                                                                                              +
                                                                                                                              +int main()
                                                                                                                              +{
                                                                                                                              +   toml::parse_result result = toml::parse_file("configuration.toml");
                                                                                                                              +   if (!result)
                                                                                                                              +   {
                                                                                                                              +       std::cerr << "Parsing failed:\n" << result.error() << "\n";
                                                                                                                              +       return 1;
                                                                                                                              +   }
                                                                                                                              +
                                                                                                                              +   do_stuff_with_your_config(std::move(result).table()); // 'steal' the table from the result
                                                                                                                              +   return 0;
                                                                                                                              +}

                                                                                                                              Custom error formatting

                                                                                                                              The examples above use an overloaded operator<< with ostreams to print basic error messages, and look like this:

                                                                                                                              Error while parsing key: expected bare key starting character or string delimiter, saw '?'
                                                                                                                              +    (error occurred at line 2, column 5)

                                                                                                                              In order to keep the library as small as possible I haven't bent over backwards to support things like custom colouring of the text in TTY environments, et cetera. That being said, the library provides the requisite information for you to build these yourself if necessary via toml::parse_error's source() and description() members:

                                                                                                                              toml::table tbl;
                                                                                                                              +try
                                                                                                                              +{
                                                                                                                              +   tbl = toml::parse_file("configuration.toml");
                                                                                                                              +}
                                                                                                                              +catch (const toml::parse_error& err)
                                                                                                                              +{
                                                                                                                              +   std::cerr
                                                                                                                              +       << "Error parsing file '" << *err.source().path
                                                                                                                              +       << "':\n" << err.description()
                                                                                                                              +       << "\n  (" << err.source().begin << ")\n";
                                                                                                                              +   return 1;
                                                                                                                              +}

                                                                                                                              Working with TOML data

                                                                                                                              A TOML document is a tree of values, arrays and tables, represented as the toml::value, toml::array and toml::table, respectively. All three inherit from toml::node, and can be easily accessed via the toml::node_view:

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              #include <iostream> +#include <toml++/toml.h> +using namespace std::string_view_literals; + +int main() +{ + static constexpr auto source = R"( + str = "hello world" + + numbers = [ 1, 2, 3, "four", 5.0 ] + vegetables = [ "tomato", "onion", "mushroom", "lettuce" ] + minerals = [ "quartz", "iron", "copper", "diamond" ] + + [animals] + cats = [ "tiger", "lion", "puma" ] + birds = [ "macaw", "pigeon", "canary" ] + fish = [ "salmon", "trout", "carp" ] + + )"sv; + toml::table tbl = toml::parse(source); + + // different ways of directly querying data + std::optional<std::string_view> str1 = tbl["str"].value<std::string_view>(); + std::optional<std::string> str2 = tbl["str"].value<std::string>(); + std::string_view str3 = tbl["str"].value_or(""sv); + std::string& str4 = tbl["str"].ref<std::string>(); // ~~dangerous~~ + + std::cout << *str1 << "\n"; + std::cout << *str2 << "\n"; + std::cout << str3 << "\n"; + std::cout << str4 << "\n"; + + // get a toml::node_view of the element 'numbers' using operator[] + auto numbers = tbl["numbers"]; + std::cout << "table has 'numbers': " << !!numbers << "\n"; + std::cout << "numbers is an: " << numbers.type() << "\n"; + std::cout << "numbers: " << numbers << "\n"; + + // get the underlying array object to do some more advanced stuff + if (toml::array* arr = numbers.as_array()) + { + for (toml::node& elem : *arr) + { + // visitation helps deal with the polymorphic nature of TOML data + elem.visit([](auto&& el) noexcept + { + if constexpr (toml::is_number<decltype(el)>) + (*el)++; + else if constexpr (toml::is_string<decltype(el)>) + el = "five"sv; + }); + } + + // arrays are very similar to std::vector + arr->push_back(7); + arr->emplace_back<toml::array>(8, 9); + std::cout << "numbers: " << numbers << "\n"; + } + + // node-views can be chained to quickly query deeper + std::cout << "cats: " << tbl["animals"]["cats"] << "\n"; + std::cout << "fish[1]: " << tbl["animals"]["fish"][1] << "\n"; + + // can also be retrieved via absolute path + std::cout << "cats: " << tbl.at_path("animals.cats") << "\n"; + std::cout << "fish[1]: " << tbl.at_path("animals.fish[1]") << "\n"; + + // ...even if the element doesn't exist + std::cout << "dinosaurs: " << tbl["animals"]["dinosaurs"] << "\n"; //no dinosaurs :( + + return 0; +}
                                                                                                                              hello world
                                                                                                                              +hello world
                                                                                                                              +hello world
                                                                                                                              +hello world
                                                                                                                              +table has 'numbers': 1
                                                                                                                              +numbers is an: array
                                                                                                                              +numbers: [ 1, 2, 3, 'four', 5.0 ]
                                                                                                                              +numbers: [ 2, 3, 4, 'five', 6.0, 7, [ 8, 9 ] ]
                                                                                                                              +cats: [ 'tiger', 'lion', 'puma' ]
                                                                                                                              +fish[1]: 'trout'
                                                                                                                              +cats: [ 'tiger', 'lion', 'puma' ]
                                                                                                                              +fish[1]: 'trout'
                                                                                                                              +dinosaurs:

                                                                                                                              Serializing as TOML, JSON and YAML

                                                                                                                              All toml++ data types have overloaded operator<< for ostreams, so 'serializing' a set of TOML data to actual TOML is done just by printing it to an ostream. Converting it to JSON and YAML is done in much the same way, but via a toml::json_formatter and toml::yaml_formatter.

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              #include <iostream> +#include <toml++/toml.h> + +int main() +{ + auto tbl = toml::table{ + { "lib", "toml++" }, + { "cpp", toml::array{ 17, 20, "and beyond" } }, + { "toml", toml::array{ "1.0.0", "and beyond" } }, + { "repo", "https://github.com/marzer/tomlplusplus/" }, + { "author", toml::table{ + { "name", "Mark Gillard" }, + { "github", "https://github.com/marzer" }, + { "twitter", "https://twitter.com/marzer8789" } + } + }, + }; + + // serializing as TOML + std::cout << "###### TOML ######" << "\n\n"; + std::cout << tbl << "\n\n"; + + // serializing as JSON using toml::json_formatter: + std::cout << "###### JSON ######" << "\n\n"; + std::cout << toml::json_formatter{ tbl } << "\n\n"; + + // serializing as YAML using toml::yaml_formatter: + std::cout << "###### YAML ######" << "\n\n"; + std::cout << toml::yaml_formatter{ tbl } << "\n\n"; + + return 0; +}
                                                                                                                              ###### TOML ######
                                                                                                                              +
                                                                                                                              +cpp = [ 17, 20, 'and beyond' ]
                                                                                                                              +lib = 'toml++'
                                                                                                                              +repo = 'https://github.com/marzer/tomlplusplus/'
                                                                                                                              +toml = [ '1.0.0', 'and beyond' ]
                                                                                                                              +
                                                                                                                              +[author]
                                                                                                                              +github = 'https://github.com/marzer'
                                                                                                                              +name = 'Mark Gillard'
                                                                                                                              +twitter = 'https://twitter.com/marzer8789'
                                                                                                                              +
                                                                                                                              +###### JSON ######
                                                                                                                              +
                                                                                                                              +{
                                                                                                                              +    "author" : {
                                                                                                                              +        "github" : "https://github.com/marzer",
                                                                                                                              +        "name" : "Mark Gillard",
                                                                                                                              +        "twitter" : "https://twitter.com/marzer8789"
                                                                                                                              +    },
                                                                                                                              +    "cpp" : [
                                                                                                                              +        17,
                                                                                                                              +        20,
                                                                                                                              +        "and beyond"
                                                                                                                              +    ],
                                                                                                                              +    "lib" : "toml++",
                                                                                                                              +    "repo" : "https://github.com/marzer/tomlplusplus/",
                                                                                                                              +    "toml" : [
                                                                                                                              +        "1.0.0",
                                                                                                                              +        "and beyond"
                                                                                                                              +    ]
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +###### YAML ######
                                                                                                                              +
                                                                                                                              +author:
                                                                                                                              +  github: 'https://github.com/marzer'
                                                                                                                              +  name: 'Mark Gillard'
                                                                                                                              +  twitter: 'https://twitter.com/marzer8789'
                                                                                                                              +cpp:
                                                                                                                              +  - 17
                                                                                                                              +  - 20
                                                                                                                              +  - 'and beyond'
                                                                                                                              +lib: toml++
                                                                                                                              +repo: 'https://github.com/marzer/tomlplusplus/'
                                                                                                                              +toml:
                                                                                                                              +  - '1.0.0'
                                                                                                                              +  - 'and beyond'

                                                                                                                              Speeding up compilation

                                                                                                                              Because toml++ is a header-only library of nontrivial size you might find that compilation times noticeably increase after you add it to your project, especially if you add the library's header somewhere that's visible from a large number of translation units. You can counter this by disabling header-only mode and explicitly controlling where the library's implementation is compiled.

                                                                                                                              Step 1: Set TOML_HEADER_ONLY to 0 before including toml++

                                                                                                                              This must be the same everywhere, so either set it as a global #define in your build system, or do it manually before including toml++ in some global header that's used everywhere in your project:

                                                                                                                              // global_header_that_includes_toml++.h
                                                                                                                              +
                                                                                                                              +#define TOML_HEADER_ONLY 0
                                                                                                                              +#include <toml.hpp>

                                                                                                                              Step 2: Define TOML_IMPLEMENTATION before including toml++ in one specific translation unit

                                                                                                                              // some_code_file.cpp
                                                                                                                              +
                                                                                                                              +#define TOML_IMPLEMENTATION
                                                                                                                              +#include "global_header_that_includes_toml++.h"

                                                                                                                              Bonus Step: Disable any library features you don't need

                                                                                                                              Some library features can be disabled wholesale so you can avoid paying their the compilation cost if you don't need them. For example, if all you need to do is serialize some code-generated TOML and don't actually need the parser at all you, can set TOML_ENABLE_PARSER to 0 to disable the parser altogether. This can yield fairly significant compilation speedups since the parser accounts for a good chunk of the library's code.

                                                                                                                              Adding toml++ to your project

                                                                                                                              The library comes in two flavours, 🍦️ Single-header and 🍨️ Regular. The API is the same for both.

                                                                                                                              "The old fashioned way"

                                                                                                                              Clone the repository from GitHub, and then:

                                                                                                                              🍦️ Single-header flavour

                                                                                                                              1. Drop toml.hpp wherever you like in your source tree
                                                                                                                              2. There is no step two

                                                                                                                              🍨️ Regular flavour

                                                                                                                              1. Add tomlplusplus/include to your include paths
                                                                                                                              2. #include <toml++/toml.h>

                                                                                                                              Conan

                                                                                                                              Add tomlplusplus/3.1.0 to your conanfile.

                                                                                                                              DDS

                                                                                                                              Add tomlpp to your package.json5, e.g.:

                                                                                                                              depends: [
                                                                                                                              +       'tomlpp^3.1.0',
                                                                                                                              +]

                                                                                                                              Meson

                                                                                                                              meson wrap install tomlplusplus

                                                                                                                              You can install the wrap with: After that, you can use it like a regular dependency: ‘tomlplusplus_dep = dependency('tomlplusplus’)`. You can also add it as a subproject directly.

                                                                                                                              Vcpkg

                                                                                                                              vcpkg install tomlplusplus

                                                                                                                              CMake FetchContent

                                                                                                                              include(FetchContent)
                                                                                                                              +FetchContent_Declare(
                                                                                                                              +    tomlplusplus
                                                                                                                              +    GIT_REPOSITORY https://github.com/marzer/tomlplusplus.git
                                                                                                                              +    GIT_TAG        v3.1.0
                                                                                                                              +)
                                                                                                                              +FetchContent_MakeAvailable(tomlplusplus)

                                                                                                                              Git submodules

                                                                                                                              git submodule add --depth 1 https://github.com/marzer/tomlplusplus.git tomlplusplus
                                                                                                                              +git config -f .gitmodules submodule.tomlplusplus.shallow true

                                                                                                                              Other environments and package managers

                                                                                                                              toml++ is a fairly new project and I'm not up-to-speed with all of the available packaging and integration options in the C++ ecosystem. I'm also a cmake novice, for better or worse. If there's an integration option missing be assured that I fully support it being added, and welcome pull requests!

                                                                                                                              Special mention: Python

                                                                                                                              There exists a python wrapper library built around toml++ called pytomlpp which is, at the time of writing, the only natively-compiled TOML library available for python, and thus much faster than many of the alternatives:

                                                                                                                              Parsing data.toml 5000 times:
                                                                                                                              +  pytomlpp:   0.694 s
                                                                                                                              +     rtoml:   0.871 s ( 1.25x)
                                                                                                                              +     tomli:   2.625 s ( 3.78x)
                                                                                                                              +      toml:   5.642 s ( 8.12x)
                                                                                                                              +     qtoml:   7.760 s (11.17x)
                                                                                                                              +   tomlkit:  32.708 s (47.09x)

                                                                                                                              Install it using pip:

                                                                                                                              pip install pytomlpp

                                                                                                                              Note that I'm not the owner of that project so if you wish to report a bug relating to the python implementation, please do so at their repository, not on the main toml++ one.

                                                                                                                              Library configuration options

                                                                                                                              The library exposes a number of configuration options in the form of compiler #defines. Things like changing the optional<T> type, disabling header-only mode, et cetera. The full list of configurables can be found on the Library Configuration page.

                                                                                                                              Contributing

                                                                                                                              Contributions are very welcome! Either by reporting issues or submitting pull requests. If you wish to submit a pull request, please see CONTRIBUTING for all the details you need to get going.

                                                                                                                              License

                                                                                                                              toml++ is licensed under the terms of the MIT license - see LICENSE.

                                                                                                                              If you're using the single-header version of the library you don't need to explicitly distribute the license file; it is embedded in the preamble at the top of the header.

                                                                                                                              Contacting the author

                                                                                                                              For bug reports and feature requests please use the Github Issues system. For anything else you're welcome to reach out via other means. In order of likely response speed:

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.1.0/logo.png b/v3.1.0/logo.png new file mode 100644 index 00000000..00491256 Binary files /dev/null and b/v3.1.0/logo.png differ diff --git a/v3.1.0/modules.html b/v3.1.0/modules.html new file mode 100644 index 00000000..a30e5869 --- /dev/null +++ b/v3.1.0/modules.html @@ -0,0 +1,138 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Modules

                                                                                                                              + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.1.0/namespaces.html b/v3.1.0/namespaces.html new file mode 100644 index 00000000..3b9845f6 --- /dev/null +++ b/v3.1.0/namespaces.html @@ -0,0 +1,143 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Namespaces

                                                                                                                              +
                                                                                                                                +
                                                                                                                              • + namespace toml The root namespace for all toml++ functions and types. +
                                                                                                                                  +
                                                                                                                                • namespace literals inline Convenience literal operators for working with toml++.
                                                                                                                                • +
                                                                                                                                +
                                                                                                                              • +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.1.0/namespacetoml.html b/v3.1.0/namespacetoml.html new file mode 100644 index 00000000..5a4a7096 --- /dev/null +++ b/v3.1.0/namespacetoml.html @@ -0,0 +1,1181 @@ + + + + toml namespace | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml namespace +

                                                                                                                              +

                                                                                                                              The root namespace for all toml++ functions and types.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Namespaces

                                                                                                                              +
                                                                                                                              +
                                                                                                                              namespace literals inline
                                                                                                                              +
                                                                                                                              Convenience literal operators for working with toml++.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Classes

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + class array +
                                                                                                                              +
                                                                                                                              A TOML array.
                                                                                                                              +
                                                                                                                              + struct date +
                                                                                                                              +
                                                                                                                              A local date.
                                                                                                                              +
                                                                                                                              + struct date_time +
                                                                                                                              +
                                                                                                                              A date-time.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + struct inserter +
                                                                                                                              +
                                                                                                                              Helper class for suppressing move-construction in single-argument array constructors.
                                                                                                                              +
                                                                                                                              + class json_formatter +
                                                                                                                              +
                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted JSON.
                                                                                                                              +
                                                                                                                              + class key +
                                                                                                                              +
                                                                                                                              A key parsed from a TOML document.
                                                                                                                              +
                                                                                                                              + class node +
                                                                                                                              +
                                                                                                                              A TOML node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ViewedType>
                                                                                                                              + class node_view +
                                                                                                                              +
                                                                                                                              A view of a node.
                                                                                                                              +
                                                                                                                              + class parse_error +
                                                                                                                              +
                                                                                                                              An error generated when parsing fails.
                                                                                                                              +
                                                                                                                              + class parse_result +
                                                                                                                              +
                                                                                                                              The result of a parsing operation.
                                                                                                                              +
                                                                                                                              + struct source_position +
                                                                                                                              +
                                                                                                                              A source document line-and-column pair.
                                                                                                                              +
                                                                                                                              + struct source_region +
                                                                                                                              +
                                                                                                                              A source document region.
                                                                                                                              +
                                                                                                                              + class table +
                                                                                                                              +
                                                                                                                              A TOML table.
                                                                                                                              +
                                                                                                                              + struct time +
                                                                                                                              +
                                                                                                                              A local time-of-day.
                                                                                                                              +
                                                                                                                              + struct time_offset +
                                                                                                                              +
                                                                                                                              A timezone offset.
                                                                                                                              +
                                                                                                                              + class toml_formatter +
                                                                                                                              +
                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted TOML.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ValueType>
                                                                                                                              + class value +
                                                                                                                              +
                                                                                                                              A TOML value.
                                                                                                                              +
                                                                                                                              + class yaml_formatter +
                                                                                                                              +
                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted YAML.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Enums

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + enum class format_flags: uint64_t { none, + quote_dates_and_times = (1ull << 0), + quote_infinities_and_nans = (1ull << 1), + allow_literal_strings = (1ull << 2), + allow_multi_line_strings = (1ull << 3), + allow_real_tabs_in_strings = (1ull << 4), + allow_unicode_strings = (1ull << 5), + allow_binary_integers = (1ull << 6), + allow_octal_integers = (1ull << 7), + allow_hexadecimal_integers = (1ull << 8), + indent_sub_tables = (1ull << 9), + indent_array_elements = (1ull << 10), + indentation = indent_sub_tables | indent_array_elements, + relaxed_float_precision = (1ull << 11) } +
                                                                                                                              +
                                                                                                                              Format flags for modifying how TOML data is printed to streams.
                                                                                                                              +
                                                                                                                              + enum class node_type: uint8_t { none, + table, + array, + string, + integer, + floating_point, + boolean, + date, + time, + date_time } +
                                                                                                                              +
                                                                                                                              TOML node type identifiers.
                                                                                                                              +
                                                                                                                              + enum class value_flags: uint16_t { none, + format_as_binary = 1, + format_as_octal = 2, + format_as_hexadecimal = 3 } +
                                                                                                                              +
                                                                                                                              Metadata associated with TOML values.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Typedefs

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using array_iterator = /* ... */ +
                                                                                                                              +
                                                                                                                              A RandomAccessIterator for iterating over elements in a toml::array.
                                                                                                                              +
                                                                                                                              + using const_array_iterator = /* ... */ +
                                                                                                                              +
                                                                                                                              A RandomAccessIterator for iterating over const elements in a toml::array.
                                                                                                                              +
                                                                                                                              + using const_table_iterator = /* ... */ +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over const key-value pairs in a toml::table.
                                                                                                                              +
                                                                                                                              + using default_formatter = toml_formatter +
                                                                                                                              +
                                                                                                                              The 'default' formatter used by TOML objects when they are printed to a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + using inserted_type_of = /* ... */ +
                                                                                                                              +
                                                                                                                              Metafunction for determining which node type would be constructed if an object of this type was inserted into a toml::table or toml::array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + using optional = std::optional<T> +
                                                                                                                              +
                                                                                                                              The 'optional' type used throughout the library.
                                                                                                                              +
                                                                                                                              + using source_index = uint32_t +
                                                                                                                              +
                                                                                                                              The integer type used to tally line numbers and columns.
                                                                                                                              +
                                                                                                                              + using source_path_ptr = std::shared_ptr<const std::string> +
                                                                                                                              +
                                                                                                                              A pointer to a shared string resource containing a source path.
                                                                                                                              +
                                                                                                                              + using table_iterator = /* ... */ +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over key-value pairs in a toml::table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(node& root, + std::string_view path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the node matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const node& root, + std::string_view path) -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the node matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(node& root, + std::wstring_view path) -> node_view<node> +
                                                                                                                              +
                                                                                                                              Returns a view of the node matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const node& root, + std::wstring_view path) -> node_view<const node> +
                                                                                                                              +
                                                                                                                              Returns a const view of the node matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto operator""_toml(const char* str, + size_t len) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses TOML data from a string literal.
                                                                                                                              +
                                                                                                                              + auto operator""_toml(const char8_t* str, + size_t len) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses TOML data from a UTF-8 string literal.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char>
                                                                                                                              + auto operator<<(std::basic_ostream<Char>& lhs, + node_type rhs) -> std::basic_ostream<Char>& +
                                                                                                                              +
                                                                                                                              Pretty-prints the value of a node_type to a stream.
                                                                                                                              +
                                                                                                                              + auto parse(std::string_view doc, + std::string_view source_path = {}) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::string_view doc, + std::string&& source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::u8string_view doc, + std::string_view source_path = {}) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a char8_t string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::u8string_view doc, + std::string&& source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a char8_t string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::string_view doc, + std::wstring_view source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::istream& doc, + std::wstring_view source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a stream.
                                                                                                                              +
                                                                                                                              + auto parse(std::u8string_view doc, + std::wstring_view source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a char8_t string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::istream& doc, + std::string_view source_path = {}) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a stream.
                                                                                                                              +
                                                                                                                              + auto parse(std::istream& doc, + std::string&& source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a stream.
                                                                                                                              +
                                                                                                                              + auto parse_file(std::string_view file_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a file.
                                                                                                                              +
                                                                                                                              + auto parse_file(std::u8string_view file_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a file.
                                                                                                                              +
                                                                                                                              + auto parse_file(std::wstring_view file_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a file.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_array constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_boolean constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a bool or toml::value<bool>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_chronological constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type satisfies any of toml::is_date, toml::is_time or toml::is_date_time.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_container constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type satisfies either toml::is_table or toml::is_array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_date constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::date or toml::value<date>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_date_time constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::date_time or toml::value<date_time>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_floating_point constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a double or toml::value<double>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_integer constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a int64_t or toml::value<int64_t>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_key constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::key.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_key_or_convertible constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::key, or is implicitly or explicitly convertible to one.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_node constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::node (or one of its subclasses).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_node_view constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::node_view.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_number constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type satisfies either toml::is_integer or toml::is_floating_point.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_string constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a std::string or toml::value<std::string>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_table constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_time constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::time or toml::value<time>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_value constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, any of the toml value types. Excludes tables and arrays.
                                                                                                                              +
                                                                                                                              + value_flags preserve_source_value_flags constexpr +
                                                                                                                              +
                                                                                                                              Special toml::value_flags constant used for array + table insert functions to specify that any value nodes being copied should not have their flags property overridden by the inserting function's flags argument.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Enum documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + enum class toml::format_flags: uint64_t +

                                                                                                                              +

                                                                                                                              Format flags for modifying how TOML data is printed to streams.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Enumerators
                                                                                                                              none +

                                                                                                                              None.

                                                                                                                              +
                                                                                                                              quote_dates_and_times +

                                                                                                                              Dates and times will be emitted as quoted strings.

                                                                                                                              +
                                                                                                                              quote_infinities_and_nans +

                                                                                                                              Infinities and NaNs will be emitted as quoted strings.

                                                                                                                              +
                                                                                                                              allow_literal_strings +

                                                                                                                              Strings will be emitted as single-quoted literal strings where possible.

                                                                                                                              +
                                                                                                                              allow_multi_line_strings +

                                                                                                                              Strings containing newlines will be emitted as triple-quoted 'multi-line' strings where possible.

                                                                                                                              +
                                                                                                                              allow_real_tabs_in_strings +

                                                                                                                              Allow real tab characters in string literals (as opposed to the escaped form \t).

                                                                                                                              +
                                                                                                                              allow_unicode_strings +

                                                                                                                              Allow non-ASCII characters in strings (as opposed to their escaped form, e.g. \u00DA).

                                                                                                                              +
                                                                                                                              allow_binary_integers +

                                                                                                                              Allow integers with value_flags::format_as_binary to be emitted as binary.

                                                                                                                              +
                                                                                                                              allow_octal_integers +

                                                                                                                              Allow integers with value_flags::format_as_octal to be emitted as octal.

                                                                                                                              +
                                                                                                                              allow_hexadecimal_integers +

                                                                                                                              Allow integers with value_flags::format_as_hexadecimal to be emitted as hexadecimal.

                                                                                                                              +
                                                                                                                              indent_sub_tables +

                                                                                                                              Apply indentation to tables nested within other tables/arrays.

                                                                                                                              +
                                                                                                                              indent_array_elements +

                                                                                                                              Apply indentation to array elements when the array is forced to wrap over multiple lines.

                                                                                                                              +
                                                                                                                              indentation +

                                                                                                                              Combination mask of all indentation-enabling flags.

                                                                                                                              +
                                                                                                                              relaxed_float_precision +

                                                                                                                              Emit floating-point values with relaxed (human-friendly) precision.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + enum class toml::node_type: uint8_t +

                                                                                                                              +

                                                                                                                              TOML node type identifiers.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Enumerators
                                                                                                                              none +

                                                                                                                              Not-a-node.

                                                                                                                              +
                                                                                                                              table +

                                                                                                                              The node is a toml::table.

                                                                                                                              +
                                                                                                                              array +

                                                                                                                              The node is a toml::array.

                                                                                                                              +
                                                                                                                              string +

                                                                                                                              The node is a toml::value<std::string>.

                                                                                                                              +
                                                                                                                              integer +

                                                                                                                              The node is a toml::value<int64_t>.

                                                                                                                              +
                                                                                                                              floating_point +

                                                                                                                              The node is a toml::value<double>.

                                                                                                                              +
                                                                                                                              boolean +

                                                                                                                              The node is a toml::value<bool>.

                                                                                                                              +
                                                                                                                              date +

                                                                                                                              The node is a toml::value<date>.

                                                                                                                              +
                                                                                                                              time +

                                                                                                                              The node is a toml::value<time>.

                                                                                                                              +
                                                                                                                              date_time +

                                                                                                                              The node is a toml::value<date_time>.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + enum class toml::value_flags: uint16_t +

                                                                                                                              +

                                                                                                                              Metadata associated with TOML values.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Enumerators
                                                                                                                              none +

                                                                                                                              None.

                                                                                                                              +
                                                                                                                              format_as_binary +

                                                                                                                              Format integer values as binary.

                                                                                                                              +
                                                                                                                              format_as_octal +

                                                                                                                              Format integer values as octal.

                                                                                                                              +
                                                                                                                              format_as_hexadecimal +

                                                                                                                              Format integer values as hexadecimal.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Typedef documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + using toml::default_formatter = toml_formatter +

                                                                                                                              +

                                                                                                                              The 'default' formatter used by TOML objects when they are printed to a stream.

                                                                                                                              +

                                                                                                                              This is an alias for toml::toml_formatter.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + using toml::inserted_type_of = /* ... */ +

                                                                                                                              +

                                                                                                                              Metafunction for determining which node type would be constructed if an object of this type was inserted into a toml::table or toml::array.

                                                                                                                              +
                                                                                                                              static_assert(std::is_same_v<toml::inserted_type_of<const char*>, toml::value<std::string>);
                                                                                                                              +static_assert(std::is_same_v<toml::inserted_type_of<int>,         toml::value<int64_t>);
                                                                                                                              +static_assert(std::is_same_v<toml::inserted_type_of<float>,       toml::value<double>);
                                                                                                                              +static_assert(std::is_same_v<toml::inserted_type_of<bool>,        toml::value<bool>);
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + using toml::optional = std::optional<T> +

                                                                                                                              +

                                                                                                                              The 'optional' type used throughout the library.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::at_path(node& root, + std::string_view path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the node matching a fully-qualified "TOML path".

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              rootThe root node from which the path will be traversed.
                                                                                                                              pathThe "TOML path" to traverse.
                                                                                                                              +
                                                                                                                              auto config = toml::parse(R"(
                                                                                                                              +
                                                                                                                              +[foo]
                                                                                                                              +bar = [ 0, 1, 2, [ 3 ], { kek = 4 } ]
                                                                                                                              +
                                                                                                                              +)"sv);
                                                                                                                              +
                                                                                                                              +std::cout << toml::at_path(config, "foo.bar[2]") << "\n";
                                                                                                                              +std::cout << toml::at_path(config, "foo.bar[3][0]") << "\n";
                                                                                                                              +std::cout << toml::at_path(config, "foo.bar[4].kek") << "\n";
                                                                                                                              2
                                                                                                                              +3
                                                                                                                              +4
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::at_path(const node& root, + std::string_view path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a const view of the node matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::at_path(node& root, + std::wstring_view path) +

                                                                                                                              +

                                                                                                                              Returns a view of the node matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::at_path(const node& root, + std::wstring_view path) +

                                                                                                                              +

                                                                                                                              Returns a const view of the node matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Char> +
                                                                                                                              + std::basic_ostream<Char>& toml::operator<<(std::basic_ostream<Char>& lhs, + node_type rhs) +

                                                                                                                              +

                                                                                                                              Pretty-prints the value of a node_type to a stream.

                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2.0, "3", false };
                                                                                                                              +for (size_t i = 0; i < arr.size() i++)
                                                                                                                              +    std::cout << "Element ["sv << i << "] is: "sv << arr[i].type() << "\n";
                                                                                                                              Element [0] is: integer
                                                                                                                              +Element [1] is: floating-point
                                                                                                                              +Element [2] is: string
                                                                                                                              +Element [3] is: boolean
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::string_view doc, + std::string_view source_path = {}) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse("a = 3"sv);
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::string_view doc, + std::string&& source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse("a = 3"sv, "foo.toml");
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::u8string_view doc, + std::string_view source_path = {}) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a char8_t string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse(u8"a = 3"sv);
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::u8string_view doc, + std::string&& source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a char8_t string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse(u8"a = 3"sv, "foo.toml");
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::string_view doc, + std::wstring_view source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse("a = 3"sv, L"foo.toml");
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::istream& doc, + std::wstring_view source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              std::stringstream ss;
                                                                                                                              +ss << "a = 3"sv;
                                                                                                                              +
                                                                                                                              +auto tbl = toml::parse(ss);
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::u8string_view doc, + std::wstring_view source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a char8_t string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse(u8"a = 3"sv, L"foo.toml");
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::istream& doc, + std::string_view source_path = {}) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              std::stringstream ss;
                                                                                                                              +ss << "a = 3"sv;
                                                                                                                              +
                                                                                                                              +auto tbl = toml::parse(ss);
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::istream& doc, + std::string&& source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              std::stringstream ss;
                                                                                                                              +ss << "a = 3"sv;
                                                                                                                              +
                                                                                                                              +auto tbl = toml::parse(ss, "foo.toml");
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse_file(std::string_view file_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a file.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              file_pathThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              toml::parse_result get_foo_toml()
                                                                                                                              +{
                                                                                                                              +    return toml::parse_file("foo.toml");
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse_file(std::u8string_view file_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a file.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              file_pathThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              toml::parse_result get_foo_toml()
                                                                                                                              +{
                                                                                                                              +    return toml::parse_file(u8"foo.toml");
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse_file(std::wstring_view file_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a file.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              file_pathThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              toml::parse_result get_foo_toml()
                                                                                                                              +{
                                                                                                                              +    return toml::parse_file(L"foo.toml");
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.1.0/namespacetoml_1_1literals.html b/v3.1.0/namespacetoml_1_1literals.html new file mode 100644 index 00000000..8ca66848 --- /dev/null +++ b/v3.1.0/namespacetoml_1_1literals.html @@ -0,0 +1,226 @@ + + + + toml::literals namespace | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::literals namespace inline +

                                                                                                                              +

                                                                                                                              Convenience literal operators for working with toml++.

                                                                                                                              + +

                                                                                                                              This namespace exists so you can safely hoist the toml++ literal operators into another scope without dragging in everything from the toml namespace:

                                                                                                                              #include <toml++/toml.h>
                                                                                                                              +using namespace toml::literals;
                                                                                                                              +
                                                                                                                              +int main()
                                                                                                                              +{
                                                                                                                              +    toml::table tbl = "vals = [1, 2, 3]"_toml;
                                                                                                                              +
                                                                                                                              +    // ... do stuff with the table generated by the "_toml" literal ...
                                                                                                                              +
                                                                                                                              +    return 0;
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator""_toml(const char* str, + size_t len) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses TOML data from a string literal.
                                                                                                                              +
                                                                                                                              + auto operator""_toml(const char8_t* str, + size_t len) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses TOML data from a UTF-8 string literal.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::literals::operator""_toml(const char* str, + size_t len) +

                                                                                                                              +

                                                                                                                              Parses TOML data from a string literal.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              strThe string data. Must be valid UTF-8.
                                                                                                                              lenThe string length.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              using namespace toml::literals;
                                                                                                                              +
                                                                                                                              +auto tbl = "a = 3"_toml;
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::literals::operator""_toml(const char8_t* str, + size_t len) +

                                                                                                                              +

                                                                                                                              Parses TOML data from a UTF-8 string literal.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              strThe string data. Must be valid UTF-8.
                                                                                                                              lenThe string length.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              using namespace toml::literals;
                                                                                                                              +
                                                                                                                              +auto tbl = u8"a = 3"_toml;
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.1.0/pages.html b/v3.1.0/pages.html new file mode 100644 index 00000000..6d25b73b --- /dev/null +++ b/v3.1.0/pages.html @@ -0,0 +1,137 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Pages

                                                                                                                              +
                                                                                                                                +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.1.0/search-v2.js b/v3.1.0/search-v2.js new file mode 100644 index 00000000..1fb71e1f --- /dev/null +++ b/v3.1.0/search-v2.js @@ -0,0 +1,897 @@ +/* + This file is part of m.css. + + Copyright © 2017, 2018, 2019, 2020, 2021, 2022, 2023 + Vladimír Vondruš + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +*/ + +"use strict"; /* it summons the Cthulhu in a proper way, they say */ + +var Search = { + formatVersion: 2, /* the data filename contains this number too */ + + dataSize: 0, /* used mainly by tests, not here */ + symbolCount: '…', + trie: null, + map: null, + mapFlagsOffset: null, + typeMap: null, + maxResults: 0, + + /* Type sizes and masks. The data is always fetched as 16/32bit number and + then masked to 1, 2, 3 or 4 bytes. Fortunately on LE a mask is enough, + on BE we'd have to read N bytes before and then mask. */ + nameSizeBytes: null, + nameSizeMask: null, + resultIdBytes: null, + resultIdMask: null, + fileOffsetBytes: null, + fileOffsetMask: null, + lookaheadBarrierMask: null, + + /* Always contains at least the root node offset and then one node offset + per entered character */ + searchString: '', + searchStack: [], + + /* So items don't get selected right away when a cursor is over results but + only after mouse moves */ + mouseMovedSinceLastRender: false, + + /* Whether we can go back in history in order to hide the search box or + not. We can't do that if we arrived directly on #search from outside. */ + canGoBackToHideSearch: false, + + /* Autocompletion in the input field is whitelisted only for character + input (so not deletion, cut, or anything else). This is flipped in the + onkeypress event and reset after each oninput event. */ + autocompleteNextInputEvent: false, + + init: function(buffer, maxResults) { + let view = new DataView(buffer); + + /* The file is too short to contain at least the headers and empty + sections */ + if(view.byteLength < 31) { + console.error("Search data too short"); + return false; + } + + if(view.getUint8(0) != 'M'.charCodeAt(0) || + view.getUint8(1) != 'C'.charCodeAt(0) || + view.getUint8(2) != 'S'.charCodeAt(0)) { + console.error("Invalid search data signature"); + return false; + } + + if(view.getUint8(3) != this.formatVersion) { + console.error("Invalid search data version"); + return false; + } + + /* Fetch type sizes. The only value that can fail is result ID byte + count, where value of 3 has no assigned meaning. */ + let typeSizes = view.getUint8(4, true); + if((typeSizes & 0x01) >> 0 == 0) { + this.fileOffsetBytes = 3; + this.fileOffsetMask = 0x00ffffff; + this.lookaheadBarrierMask = 0x00800000; + } else /* (typeSizes & 0x01) >> 0 == 1 */ { + this.fileOffsetBytes = 4; + this.fileOffsetMask = 0xffffffff; + this.lookaheadBarrierMask = 0x80000000; + } + if((typeSizes & 0x06) >> 1 == 0) { + this.resultIdBytes = 2; + this.resultIdMask = 0x0000ffff; + } else if((typeSizes & 0x06) >> 1 == 1) { + this.resultIdBytes = 3; + this.resultIdMask = 0x00ffffff; + } else if((typeSizes & 0x06) >> 1 == 2) { + this.resultIdBytes = 4; + this.resultIdMask = 0xffffffff; + } else /* (typeSizes & 0x06) >> 1 == 3 */ { + console.error("Invalid search data result ID byte value"); + return false; + } + if((typeSizes & 0x08) >> 3 == 0) { + this.nameSizeBytes = 1; + this.nameSizeMask = 0x00ff; + } else /* (typeSizes & 0x08) >> 3 == 1 */ { + this.nameSizeBytes = 2; + this.nameSizeMask = 0xffff; + } + + /* Separate the data into the trie and the result / type map. Because + we're reading larger values than there might be and then masking out + the high bytes, keep extra 1/2 byte padding at the end to avoid + OOB errors. */ + let mapOffset = view.getUint32(12, true); + let typeMapOffset = view.getUint32(16, true); + /* There may be a 3-byte file offset at the end of the trie which we'll + read as 32-bit, add one safety byte in that case */ + this.trie = new DataView(buffer, 20, mapOffset - 20 + (4 - this.fileOffsetBytes)); + /* There may be a 3-byte file size (for zero results) which we'll read + as 32-bit, add one safety byte in that case */ + this.map = new DataView(buffer, mapOffset, typeMapOffset - mapOffset + (4 - this.fileOffsetBytes)); + /* No variable-size types in the type map at the moment */ + this.typeMap = new DataView(buffer, typeMapOffset); + + /* Offset of the first result map item is after N + 1 offsets and N + flags, calculate flag offset from that */ + this.mapFlagsOffset = this.fileOffsetBytes*(((this.map.getUint32(0, true) & this.fileOffsetMask) - this.fileOffsetBytes)/(this.fileOffsetBytes + 1) + 1); + + /* Set initial properties */ + this.dataSize = buffer.byteLength; + this.symbolCount = view.getUint32(8, true) + " symbols (" + Math.round(this.dataSize/102.4)/10 + " kB)"; + this.maxResults = maxResults ? maxResults : 100; + this.searchString = ''; + this.searchStack = [this.trie.getUint32(0, true)]; + + /* istanbul ignore if */ + if(typeof document !== 'undefined') { + document.getElementById('search-symbolcount').innerHTML = this.symbolCount; + document.getElementById('search-input').disabled = false; + document.getElementById('search-input').placeholder = "Type something here …"; + document.getElementById('search-input').focus(); + + /* Search for the input value (there might be something already, + for example when going back in the browser) */ + let value = document.getElementById('search-input').value; + + /* Otherwise check the GET parameters for `q` and fill the input + with that */ + if(!value.length) { + var args = decodeURIComponent(window.location.search.substr(1)).trim().split('&'); + for(var i = 0; i != args.length; ++i) { + if(args[i].substring(0, 2) != 'q=') continue; + + value = document.getElementById('search-input').value = args[i].substring(2); + break; + } + } + + if(value.length) Search.searchAndRender(value); + } + + return true; + }, + + download: /* istanbul ignore next */ function(url) { + var req = window.XDomainRequest ? new XDomainRequest() : new XMLHttpRequest(); + if(!req) return; + + req.open("GET", url, true); + req.responseType = 'arraybuffer'; + req.onreadystatechange = function() { + if(req.readyState != 4) return; + + Search.init(req.response); + } + req.send(); + }, + + base85decode: function(base85string) { + function charValue(char) { + if(char >= 48 && char < 58) /* 0-9 -> 0-9 */ + return char - 48 + 0; + if(char >= 65 && char < 91) /* A-Z -> 10-35 */ + return char - 65 + 10; + if(char >= 97 && char < 123) /* a-z -> 36-61 */ + return char - 97 + 36; + if(char == 33) /* ! -> 62 */ + return 62; + /* skipping 34 (') */ + if(char >= 35 && char < 39) /* #-& -> 63-66 */ + return char - 35 + 63; + /* skipping 39 (") */ + if(char >= 40 && char < 44) /* (-+ -> 67-70 */ + return char - 40 + 67; + /* skipping 44 (,) */ + if(char == 45) /* - -> 71 */ + return 71; + if(char >= 59 && char < 65) /* ;-@ -> 72-77 */ + return char - 59 + 72; + if(char >= 94 && char < 97) /* ^-` -> 78-80 */ + return char - 94 + 78; + if(char >= 123 && char < 127) /* {-~ -> 81-84 */ + return char - 123 + 81; + + return 0; /* Interpret padding values as zeros */ + } + + /* Pad the string for easier decode later. We don't read past the file + end, so it doesn't matter what garbage is there. */ + if(base85string.length % 5) { + console.log("Expected properly padded base85 data"); + return; + } + + let buffer = new ArrayBuffer(base85string.length*4/5); + let data8 = new DataView(buffer); + for(let i = 0; i < base85string.length; i += 5) { + let char1 = charValue(base85string.charCodeAt(i + 0)); + let char2 = charValue(base85string.charCodeAt(i + 1)); + let char3 = charValue(base85string.charCodeAt(i + 2)); + let char4 = charValue(base85string.charCodeAt(i + 3)); + let char5 = charValue(base85string.charCodeAt(i + 4)); + + data8.setUint32(i*4/5, char5 + + char4*85 + + char3*85*85 + + char2*85*85*85 + + char1*85*85*85*85, false); /* BE, yes */ + } + + return buffer; + }, + + load: function(base85string) { + return this.init(this.base85decode(base85string)); + }, + + /* http://ecmanaut.blogspot.com/2006/07/encoding-decoding-utf8-in-javascript.html */ + toUtf8: function(string) { return unescape(encodeURIComponent(string)); }, + fromUtf8: function(string) { return decodeURIComponent(escape(string)); }, + + autocompletedCharsToUtf8: function(chars) { + /* Strip incomplete UTF-8 chars from the autocompletion end */ + for(let i = chars.length - 1; i >= 0; --i) { + let c = chars[i]; + + /* We're safe, finish */ + if( + /* ASCII value at the end */ + (c < 128 && i + 1 == chars.length) || + + /* Full two-byte character at the end */ + ((c & 0xe0) == 0xc0 && i + 2 == chars.length) || + + /* Full three-byte character at the end */ + ((c & 0xf0) == 0xe0 && i + 3 == chars.length) || + + /* Full four-byte character at the end */ + ((c & 0xf8) == 0xf0 && i + 4 == chars.length) + ) break; + + /* Continuing UTF-8 character, go further back */ + if((c & 0xc0) == 0x80) continue; + + /* Otherwise the character is not complete, drop it from the end */ + chars.length = i; + break; + } + + /* Convert the autocompleted UTF-8 sequence to a string */ + let suggestedTabAutocompletionString = ''; + for(let i = 0; i != chars.length; ++i) + suggestedTabAutocompletionString += String.fromCharCode(chars[i]); + return suggestedTabAutocompletionString; + }, + + /* Returns the values in UTF-8, but input is in whatever shitty 16bit + encoding JS has */ + search: function(searchString) { + /* Normalize the search string first, convert to UTF-8 and trim spaces + from the left. From the right they're trimmed only if nothing is + found, see below. */ + searchString = this.toUtf8(searchString.toLowerCase().replace(/^\s+/,'')); + + /* TODO: maybe i could make use of InputEvent.data and others here */ + + /* Find longest common prefix of previous and current value so we don't + need to needlessly search again */ + let max = Math.min(searchString.length, this.searchString.length); + let commonPrefix = 0; + for(; commonPrefix != max; ++commonPrefix) + if(searchString[commonPrefix] != this.searchString[commonPrefix]) break; + + /* Drop items off the stack if it has has more than is needed for the + common prefix (it needs to have at least one item, though) */ + if(commonPrefix + 1 < this.searchStack.length) + this.searchStack.splice(commonPrefix + 1, this.searchStack.length - commonPrefix - 1); + + /* Add new characters from the search string */ + let foundPrefix = commonPrefix; + for(; foundPrefix != searchString.length; ++foundPrefix) { + /* Calculate offset and count of children */ + let offset = this.searchStack[this.searchStack.length - 1]; + + /* If there's a lot of results, the result count is a 16bit BE value + instead */ + let resultCount = this.trie.getUint8(offset); + let resultCountSize = 1; + if(resultCount & 0x80) { + resultCount = this.trie.getUint16(offset, false) & ~0x8000; + ++resultCountSize; + } + + let childCount = this.trie.getUint8(offset + resultCountSize); + + /* Go through all children and find the next offset */ + let childOffset = offset + resultCountSize + 1 + resultCount*this.resultIdBytes; + let found = false; + for(let j = 0; j != childCount; ++j) { + if(String.fromCharCode(this.trie.getUint8(childOffset + j)) != searchString[foundPrefix]) + continue; + + this.searchStack.push(this.trie.getUint32(childOffset + childCount + j*this.fileOffsetBytes, true) & this.fileOffsetMask & ~this.lookaheadBarrierMask); + found = true; + break; + } + + /* Character not found */ + if(!found) { + /* If we found everything except spaces at the end, pretend the + spaces aren't there. On the other hand, we *do* want to + try searching with the spaces first -- it can narrow down + the result list for page names or show subpages (which are + after a lookahead barrier that's a space). */ + if(!searchString.substr(foundPrefix).trim().length) + searchString = searchString.substr(0, foundPrefix); + + break; + } + } + + /* Save the whole found prefix for next time */ + this.searchString = searchString.substr(0, foundPrefix); + + /* If the whole thing was not found, return an empty result and offer + external search */ + if(foundPrefix != searchString.length) { + /* istanbul ignore if */ + if(typeof document !== 'undefined') { + let link = document.getElementById('search-external'); + if(link) + link.href = link.dataset.searchEngine.replace('{query}', encodeURIComponent(searchString)); + } + return [[], '']; + } + + /* Otherwise gather the results */ + let suggestedTabAutocompletionChars = []; + let results = []; + let leaves = [[this.searchStack[this.searchStack.length - 1], 0]]; + while(leaves.length) { + /* Pop offset from the queue */ + let current = leaves.shift(); + let offset = current[0]; + let suffixLength = current[1]; + + /* Calculate child count. If there's a lot of results, the count + "leaks over" to the child count storage. */ + /* TODO: hmmm. this is helluvalot duplicated code. hmm. */ + let resultCount = this.trie.getUint8(offset); + let resultCountSize = 1; + if(resultCount & 0x80) { + resultCount = this.trie.getUint16(offset, false) & ~0x8000; + ++resultCountSize; + } + + let childCount = this.trie.getUint8(offset + resultCountSize); + + /* Populate the results with all values associated with this node */ + for(let i = 0; i != resultCount; ++i) { + let index = this.trie.getUint32(offset + resultCountSize + 1 + i*this.resultIdBytes, true) & this.resultIdMask; + results.push(this.gatherResult(index, suffixLength, 0xffffff)); /* should be enough haha */ + + /* 'nuff said. */ + if(results.length >= this.maxResults) + return [results, this.autocompletedCharsToUtf8(suggestedTabAutocompletionChars)]; + } + + /* Dig deeper */ + let childOffset = offset + resultCountSize + 1 + resultCount*this.resultIdBytes; + for(let j = 0; j != childCount; ++j) { + let offsetBarrier = this.trie.getUint32(childOffset + childCount + j*this.fileOffsetBytes, true) & this.fileOffsetMask; + + /* Lookahead barrier, don't dig deeper */ + if(offsetBarrier & this.lookaheadBarrierMask) continue; + + /* Append to the queue */ + leaves.push([offsetBarrier & ~this.lookaheadBarrierMask, suffixLength + 1]); + + /* We don't have anything yet and this is the only path + forward, add the char to suggested Tab autocompletion. Can't + extract it from the leftmost 8 bits of offsetBarrier because + that would make it negative, have to load as Uint8 instead. + Also can't use String.fromCharCode(), because later doing + str.charCodeAt() would give me back UTF-16 values, which is + absolutely unwanted when all I want is check for truncated + UTF-8. */ + if(!results.length && leaves.length == 1 && childCount == 1) + suggestedTabAutocompletionChars.push(this.trie.getUint8(childOffset + j)); + } + } + + return [results, this.autocompletedCharsToUtf8(suggestedTabAutocompletionChars)]; + }, + + gatherResult: function(index, suffixLength, maxUrlPrefix) { + let flags = this.map.getUint8(this.mapFlagsOffset + index); + let resultOffset = this.map.getUint32(index*this.fileOffsetBytes, true) & this.fileOffsetMask; + + /* The result is an alias, parse the aliased prefix */ + let aliasedIndex = null; + if((flags & 0xf0) == 0x00) { + aliasedIndex = this.map.getUint32(resultOffset, true) & this.resultIdMask; + resultOffset += this.resultIdBytes; + } + + /* The result has a prefix, parse that first, recursively */ + let name = ''; + let url = ''; + if(flags & (1 << 3)) { + let prefixIndex = this.map.getUint32(resultOffset, true) & this.resultIdMask; + let prefixUrlPrefixLength = Math.min(this.map.getUint16(resultOffset + this.resultIdBytes, true) & this.nameSizeMask, maxUrlPrefix); + + let prefix = this.gatherResult(prefixIndex, 0 /*ignored*/, prefixUrlPrefixLength); + name = prefix.name; + url = prefix.url; + + resultOffset += this.resultIdBytes + this.nameSizeBytes; + } + + /* The result has a suffix, extract its length */ + let resultSuffixLength = 0; + if(flags & (1 << 0)) { + resultSuffixLength = this.map.getUint16(resultOffset, true) & this.nameSizeMask; + resultOffset += this.nameSizeBytes; + } + + let nextResultOffset = this.map.getUint32((index + 1)*this.fileOffsetBytes, true) & this.fileOffsetMask; + + /* Extract name */ + let j = resultOffset; + for(; j != nextResultOffset; ++j) { + let c = this.map.getUint8(j); + + /* End of null-delimited name */ + if(!c) { + ++j; + break; /* null-delimited */ + } + + name += String.fromCharCode(c); /* eheh. IS THIS FAST?! */ + } + + /* The result is an alias and we're not deep inside resolving a prefix, + extract the aliased name and URL */ + /* TODO: this abuses 0xffffff to guess how the call stack is deep and + that's just wrong, fix! */ + if(aliasedIndex != null && maxUrlPrefix == 0xffffff) { + let alias = this.gatherResult(aliasedIndex, 0 /* ignored */, 0xffffff); /* should be enough haha */ + + /* Keeping in UTF-8, as we need that for proper slicing (and concatenating) */ + return {name: name, + alias: alias.name, + url: alias.url, + flags: alias.flags, + cssClass: alias.cssClass, + typeName: alias.typeName, + suffixLength: suffixLength + resultSuffixLength}; + } + + /* Otherwise extract URL from here */ + let max = Math.min(j + maxUrlPrefix - url.length, nextResultOffset); + for(; j != max; ++j) { + url += String.fromCharCode(this.map.getUint8(j)); + } + + /* This is an alias, return what we have, without parsed CSS class and + type name as those are retrieved from the final target type */ + if(!(flags >> 4)) + return {name: name, + url: url, + flags: flags & 0x0f, + suffixLength: suffixLength + resultSuffixLength}; + + /* Otherwise, get CSS class and type name for the result label */ + let typeMapIndex = (flags >> 4) - 1; + let cssClass = [ + /* Keep in sync with _search.py */ + 'm-default', + 'm-primary', + 'm-success', + 'm-warning', + 'm-danger', + 'm-info', + 'm-dim' + ][this.typeMap.getUint8(typeMapIndex*2)]; + let typeNameOffset = this.typeMap.getUint8(typeMapIndex*2 + 1); + let nextTypeNameOffset = this.typeMap.getUint8((typeMapIndex + 1)*2 + 1); + let typeName = ''; + for(let j = typeNameOffset; j != nextTypeNameOffset; ++j) + typeName += String.fromCharCode(this.typeMap.getUint8(j)); + + /* Keeping in UTF-8, as we need that for proper slicing (and + concatenating). Strip the type from the flags, as it's now expressed + directly. */ + return {name: name, + url: url, + flags: flags & 0x0f, + cssClass: cssClass, + typeName: typeName, + suffixLength: suffixLength + resultSuffixLength}; + }, + + escape: function(name) { + return name.replace(/[\"&<>]/g, function (a) { + return { '"': '"', '&': '&', '<': '<', '>': '>' }[a]; + }); + }, + escapeForRtl: function(name) { + /* Besides the obvious escaping of HTML entities we also need + to escape punctuation, because due to the RTL hack to cut + text off on left side the punctuation characters get + reordered (of course). Prepending ‎ works for most + characters, parentheses we need to *soak* in it. But only + the right ones. And that for some reason needs to be also for &. + Huh. https://en.wikipedia.org/wiki/Right-to-left_mark */ + return this.escape(name).replace(/[:=]/g, '‎$&').replace(/(\)|>|&|\/)/g, '‎$&‎'); + }, + + renderResults: /* istanbul ignore next */ function(resultsSuggestedTabAutocompletion) { + if(!this.searchString.length) { + document.getElementById('search-help').style.display = 'block'; + document.getElementById('search-results').style.display = 'none'; + document.getElementById('search-notfound').style.display = 'none'; + return; + } + + document.getElementById('search-help').style.display = 'none'; + + /* Results found */ + if(resultsSuggestedTabAutocompletion[0].length) { + let results = resultsSuggestedTabAutocompletion[0]; + + document.getElementById('search-results').style.display = 'block'; + document.getElementById('search-notfound').style.display = 'none'; + + let list = ''; + for(let i = 0; i != results.length; ++i) { + /* Labels + */ + list += '
                                                                                                                              ' + results[i].typeName + '
                                                                                                                              ' + (results[i].flags & 2 ? '
                                                                                                                              deprecated
                                                                                                                              ' : '') + (results[i].flags & 4 ? '
                                                                                                                              deleted
                                                                                                                              ' : ''); + + /* Render the alias (cut off from the right) */ + if(results[i].alias) { + list += '
                                                                                                                              ' + this.escape(results[i].name.substr(0, results[i].name.length - this.searchString.length - results[i].suffixLength)) + '' + this.escape(results[i].name.substr(results[i].name.length - this.searchString.length - results[i].suffixLength, this.searchString.length)) + '' + this.escapeForRtl(results[i].name.substr(results[i].name.length - results[i].suffixLength)) + ': ' + this.escape(results[i].alias) + ''; + + /* Render the normal thing (cut off from the left, have to + escape for RTL) */ + } else { + list += '
                                                                                                                              ' + this.escapeForRtl(results[i].name.substr(0, results[i].name.length - this.searchString.length - results[i].suffixLength)) + '' + this.escapeForRtl(results[i].name.substr(results[i].name.length - this.searchString.length - results[i].suffixLength, this.searchString.length)) + '' + this.escapeForRtl(results[i].name.substr(results[i].name.length - results[i].suffixLength)); + } + + /* The closing */ + list += '
                                                                                                                              '; + } + document.getElementById('search-results').innerHTML = this.fromUtf8(list); + document.getElementById('search-current').scrollIntoView(true); + + /* Append the suggested tab autocompletion, if any, and if the user + didn't just delete it */ + let searchInput = document.getElementById('search-input'); + if(this.autocompleteNextInputEvent && resultsSuggestedTabAutocompletion[1].length && searchInput.selectionEnd == searchInput.value.length) { + let suggestedTabAutocompletion = this.fromUtf8(resultsSuggestedTabAutocompletion[1]); + + let lengthBefore = searchInput.value.length; + searchInput.value += suggestedTabAutocompletion; + searchInput.setSelectionRange(lengthBefore, searchInput.value.length); + } + + /* Nothing found */ + } else { + document.getElementById('search-results').innerHTML = ''; + document.getElementById('search-results').style.display = 'none'; + document.getElementById('search-notfound').style.display = 'block'; + } + + /* Don't allow things to be selected just by motionless mouse cursor + suddenly appearing over a search result */ + this.mouseMovedSinceLastRender = false; + + /* Reset autocompletion, if it was allowed. It'll get whitelisted next + time a character gets inserted. */ + this.autocompleteNextInputEvent = false; + }, + + searchAndRender: /* istanbul ignore next */ function(value) { + let prev = performance.now(); + let results = this.search(value); + let after = performance.now(); + this.renderResults(results); + if(this.searchString.length) { + document.getElementById('search-symbolcount').innerHTML = + results[0].length + (results[0].length >= this.maxResults ? '+' : '') + " results (" + Math.round((after - prev)*10)/10 + " ms)"; + } else + document.getElementById('search-symbolcount').innerHTML = this.symbolCount; + }, +}; + +/* istanbul ignore next */ +function selectResult(event) { + if(!Search.mouseMovedSinceLastRender) return; + + if(event.currentTarget.parentNode.id == 'search-current') return; + + let current = document.getElementById('search-current'); + current.removeAttribute('id'); + event.currentTarget.parentNode.id = 'search-current'; +} + +/* This is separated from showSearch() because we need non-destructive behavior + when appearing directly on a URL with #search */ /* istanbul ignore next */ +function updateForSearchVisible() { + /* Prevent accidental scrolling of the body, prevent page layout jumps */ + let scrolledBodyWidth = document.body.offsetWidth; + document.body.style.overflow = 'hidden'; + document.body.style.paddingRight = (document.body.offsetWidth - scrolledBodyWidth) + 'px'; + + document.getElementById('search-input').value = ''; + document.getElementById('search-input').focus(); + document.getElementById('search-results').style.display = 'none'; + document.getElementById('search-notfound').style.display = 'none'; + document.getElementById('search-help').style.display = 'block'; +} + +/* istanbul ignore next */ +function showSearch() { + window.location.hash = '#search'; + Search.canGoBackToHideSearch = true; + + updateForSearchVisible(); + document.getElementById('search-symbolcount').innerHTML = Search.symbolCount; + return false; +} + +/* istanbul ignore next */ +function hideSearch() { + /* If the search box was opened using showSearch(), we can go back in the + history. Otherwise (for example when we landed to #search from a + bookmark or another server), going back would not do the right thing and + in that case we simply replace the current history state. */ + if(Search.canGoBackToHideSearch) { + Search.canGoBackToHideSearch = false; + window.history.back(); + } else { + window.location.hash = '#!'; + window.history.replaceState('', '', window.location.pathname); + } + + /* Restore scrollbar, prevent page layout jumps */ + document.body.style.overflow = 'auto'; + document.body.style.paddingRight = '0'; + + return false; +} + +/* istanbul ignore next */ +function copyToKeyboard(text) { + /* Append to the popup, appending to document.body would cause it to + scroll when focused */ + let searchPopup = document.getElementsByClassName('m-doc-search')[0]; + let textarea = document.createElement("textarea"); + textarea.value = text; + searchPopup.appendChild(textarea); + textarea.focus(); + textarea.select(); + + document.execCommand('copy'); + + searchPopup.removeChild(textarea); + document.getElementById('search-input').focus(); +} + +/* Only in case we're running in a browser. Why a simple if(document) doesn't + work is beyond me. */ /* istanbul ignore if */ +if(typeof document !== 'undefined') { + document.getElementById('search-input').oninput = function(event) { + Search.searchAndRender(document.getElementById('search-input').value); + }; + + document.onkeydown = function(event) { + /* Search shown */ + if(window.location.hash == '#search') { + /* Close the search */ + if(event.key == 'Escape') { + hideSearch(); + + /* Focus the search input, if not already, using T or Tab */ + } else if((!document.activeElement || document.activeElement.id != 'search-input') && (event.key.toLowerCase() == 't' || event.key == 'Tab') && !event.shiftKey && !event.ctrlKey && !event.altKey && !event.metaKey) { + document.getElementById('search-input').focus(); + return false; /* so T doesn't get entered into the box */ + + /* Fill in the autocompleted selection */ + } else if(event.key == 'Tab' && !event.shiftKey && !event.ctrlKey && !event.altKey && !event.metaKey) { + /* But only if the input has selection at the end */ + let input = document.getElementById('search-input'); + if(input.selectionEnd == input.value.length && input.selectionStart != input.selectionEnd) { + input.setSelectionRange(input.value.length, input.value.length); + return false; /* so input won't lose focus */ + } + + /* Select next item */ + } else if(event.key == 'ArrowDown') { + let current = document.getElementById('search-current'); + if(current) { + let next = current.nextSibling; + if(next) { + current.id = ''; + next.id = 'search-current'; + next.scrollIntoView(false); + } + } + return false; /* so the keypress doesn't affect input cursor */ + + /* Select prev item */ + } else if(event.key == 'ArrowUp') { + let current = document.getElementById('search-current'); + if(current) { + let prev = current.previousSibling; + if(prev) { + current.id = ''; + prev.id = 'search-current'; + prev.scrollIntoView(false); + } + } + return false; /* so the keypress doesn't affect input cursor */ + + /* Go to result (if any) */ + } else if(event.key == 'Enter') { + let result = document.getElementById('search-current'); + if(result) { + result.firstElementChild.click(); + + /* We might be staying on the same page, so restore scrollbar, + and prevent page layout jumps */ + document.body.style.overflow = 'auto'; + document.body.style.paddingRight = '0'; + } + return false; /* so the form doesn't get sent */ + + /* Copy (Markdown) link to keyboard */ + } else if((event.key.toLowerCase() == 'l' || event.key.toLowerCase() == 'm') && event.metaKey) { + let result = document.getElementById('search-current'); + if(result) { + let plain = event.key.toLowerCase() == 'l'; + let link = plain ? result.firstElementChild.href : + '[' + result.firstElementChild.dataset.mdLinkTitle + '](' + result.firstElementChild.href + ')'; + + copyToKeyboard(link); + + /* Add CSS class to the element for visual feedback (this + will get removed on keyup), but only if it's not already + there (in case of key repeat, e.g.) */ + if(result.className.indexOf('m-doc-search-copied') == -1) + result.className += ' m-doc-search-copied'; + console.log("Copied " + (plain ? "link" : "Markdown link") + " to " + result.firstElementChild.dataset.mdLinkTitle); + } + + return false; /* so L doesn't get entered into the box */ + + /* Looks like the user is inserting some text (and not cutting, + copying or whatever), allow autocompletion for the new + character. The oninput event resets this back to false, so this + basically whitelists only keyboard input, including Shift-key + and special chars using right Alt (or equivalent on Mac), but + excluding Ctrl-key, which is usually not for text input. In the + worst case the autocompletion won't be allowed ever, which is + much more acceptable behavior than having no ability to disable + it and annoying the users. */ + } else if(event.key != 'Backspace' && event.key != 'Delete' && !event.metaKey && (!event.ctrlKey || event.altKey) + /* Don't ever attempt autocompletion with Android virtual + keyboards, as those report all `event.key`s as + `Unidentified` (on Chrome) or `Process` (on Firefox) with + `event.code` 229 and thus we have no way to tell if a text + is entered or deleted. See this WONTFIX bug for details: + https://bugs.chromium.org/p/chromium/issues/detail?id=118639 + Couldn't find any similar bugreport for Firefox, but I + assume the virtual keyboard is to blame. + + An alternative is to hook into inputEvent, which has the + data, but ... there's more cursed issues right after that: + + - setSelectionRange() in Chrome on Android only renders + stuff, but doesn't actually act as such. Pressing + Backspace will only remove the highlight, but the text + stays here. Only delay-calling it through a timeout will + work as intended. Possibly related SO suggestion (back + then not even the rendering worked properly): + https://stackoverflow.com/a/13235951 + Possibly related Chrome bug: + https://bugs.chromium.org/p/chromium/issues/detail?id=32865 + + - On Firefox Mobile, programmatically changing an input + value (for the autocompletion highlight) will trigger an + input event, leading to search *and* autocompletion being + triggered again. Ultimately that results in newly typed + characters not replacing the autocompletion but rather + inserting before it, corrupting the searched string. This + event has to be explicitly ignored. + + - On Firefox Mobile, deleting a highlight with the + backspace key will result in *three* input events instead + of one: + 1. `deleteContentBackward` removing the selection (same + as Chrome or desktop Firefox) + 2. `deleteContentBackward` removing *the whole word* + that contained the selection (or the whole text if + it's just one word) + 3. `insertCompositionText`, adding the word back in, + resulting in the same state as (1). + I have no idea WHY it has to do this (possibly some + REALLY NASTY workaround to trigger correct font shaping?) + but ultimately it results in the autocompletion being + added again right after it got deleted, making this whole + thing VERY annoying to use. + + I attempted to work around the above, but it resulted in a + huge amount of browser-specific code that achieves only 90% + of the goal, with certain corner cases still being rather + broken (such as autocompletion randomly triggering when + erasing the text, even though it shouldn't). So disabling + autocompletion on this HELLISH BROKEN PLATFORM is the best + option at the moment. */ + && event.key != 'Unidentified' && event.key != 'Process' + ) { + Search.autocompleteNextInputEvent = true; + /* Otherwise reset the flag, because when the user would press e.g. + the 'a' key and then e.g. ArrowRight (which doesn't trigger + oninput), a Backspace after would still result in + autocompleteNextInputEvent, because nothing reset it back. */ + } else { + Search.autocompleteNextInputEvent = false; + } + + /* Search hidden */ + } else { + /* Open the search on the T or Tab key */ + if((event.key.toLowerCase() == 't' || event.key == 'Tab') && !event.shiftKey && !event.ctrlKey && !event.altKey && !event.metaKey) { + showSearch(); + return false; /* so T doesn't get entered into the box */ + } + } + }; + + document.onkeyup = function(event) { + /* Remove highlight after key is released after a link copy */ + if((event.key.toLowerCase() == 'l' || event.key.toLowerCase() == 'm') && event.metaKey) { + let result = document.getElementById('search-current'); + if(result) result.className = result.className.replace(' m-doc-search-copied', ''); + } + }; + + /* Allow selecting items by mouse hover only after it moves once the + results are populated. This prevents a random item getting selected if + the cursor is left motionless over the result area. */ + document.getElementById('search-results').onmousemove = function() { + Search.mouseMovedSinceLastRender = true; + }; + + /* If #search is already present in the URL, hide the scrollbar etc. for a + consistent experience */ + if(window.location.hash == '#search') updateForSearchVisible(); +} + +/* For Node.js testing */ /* istanbul ignore else */ +if(typeof module !== 'undefined') { module.exports = { Search: Search }; } diff --git a/v3.1.0/searchdata-v2.js b/v3.1.0/searchdata-v2.js new file mode 100644 index 00000000..b0309c87 --- /dev/null +++ b/v3.1.0/searchdata-v2.js @@ -0,0 +1,2 @@ +/* Generated by https://mcss.mosra.cz/documentation/doxygen/. Do not edit. */ +Search.load('O+!-x00000i2?usuyFtY>m>mII&lC10RR9100CtL00001ZU_JX00D0f000310RR92a~c2u00Ctl00001Z6p8y00C(#00001bT9w_00Cb%00001WIO->00C}700001VMqV~00Cc400001b5sBT00CuM00001bYK7g00CiU000310ssI3b8-Lx00C}x00001VSE4p00C}-00001Ux)wz00Cr<00001Zj=B300Ci|00001U!VX000DER00001Wvl=I00C*T00001bhrQj00C*f00001Zo~ip00C*r00001X3zit00C~+00002WNB;w0Nelo00Cd(00001W$XX|00DIJ00001Z}00Cbz0RR92Y&Zb`00Ch>0RR92azp_D00Cu60RR92bWi~R00C)M0RRC21ONa5b7BDi00C!a0RR92ZfpSn00C)o0RR92a(Dp%00DG<0RR92bA$l^00Cc$0RR92Wsm^?00C~60RR92X`BH700C^G0RR92U#I~900C*P0RR92bhH5g00C^e0RR92b-)1t0RRO600DE%0RR92XV3uv00C~+0RR92Y1{z-00DC10RR92bm##900DFE0RR92U-SV000D0L0RR92X#fHM00CbH0ssI3a|{9i00CkW0ssI3VHg4c00DF!0ssI3UnBwm00C?&0ssI3VK4#!00Ct-0ssL31^@s7b3y_D00C!40ssI3ZcG9I00C)I0ssI3a##WY00DGf0ssI3b7TSl00CcW0ssI3WpDxj00Crn0ssI3Z+rp(00Coy0ssI3X@~*<00C}}0ssL32LJ#8bD9DG00DBI0ssI3WuyWC00C#J0ssI3Wv~JO00DHi0ssI3ZoC2j00C*j0ssI3U&sOg00DW<0ssI3a?}C<00Cjz0ssI3Zr}m{00C*{0ssL32mk;9bMgWJ00DCL0ssI3W&8pF00CzL0{{R4We5WR00DFk0{{R4ZWIFm00C(l0{{R4Umybj00C?!0{{R4VJrgx00DF|0{{R4V>kl<0RRaA00DDE0{{R4a!3OJ00CuA0{{R4XH)|K00CuM0{{R4bYKGj00C}h0{{R4X>0=k00Cce0{{R4Y7f1ONa5bf^RX00C~Y1ONa5Ww-k&0RavGI&KAk00DD!1poj6XM61poj6Uz7y^00DHG1poj6VW0&700C{L1poj6a;yaa00D2Z1pom64*&oGWxfRf00C~o1poj6Z^#7z0RRvH00Cvx1poj6Y}f?=00Cm&1pom67XSbOW$Fb000C|81poj7VQJ(A0Q3a_0RRyI00DUf1^@s7VF(5Q00D9i1^@s7aufyt0RR#J00Czp1^@s7ZX^Z(00C(#1^@s7axew}00DG11^@v76951KazX|G00Cu21^@s7XG{hF00CuE1^@s7bXW!e00C}Z1^@v76aWALbZQ0w00C}p1^@s7X>1^@s7ZRiF700C+41^@s7bo2%Q0Ra{OU-||B00CtH2LJ#8bO;9k00ChR2LJ#FZggRDX=Y+%&IJJa1ppcb06Yc&WCj4X1_0g$02BuR00BB02LJ&982~yw2Y>(pWkLr400D4H2LJ#8c~A!c0RSNc00CuO2LJ#8a9{@j00DVs2LJ#8bZiFz00Cce2LJ#8WOxSv00Cuw2LJ#8cZ3H30RWE#00AkG2LJ&9jsz%_2Y>(pbeabM00C*D2LJ#9Wpj!L0H_B50RV{v00Aku2LJ&8iv$1xDZ&Q;0Rf5xD8>hX00DH&2LJ#8W7G!#00Cjz2LJ#8c;E*B0RW8z00AlN2LJ&9j07m~2Y>(pa`p!R00L!i<_7@&2LJ&Ahy*BKya#{;2mk;9Wex}c00DIx2mk;9Y#;~#00L=Yt_J`n2mk>9BLn~eDK-cI0RbWeC^`s$00BHe2mk>9F$4esDNYCg0Rb=sC{hT300C@R2mk;9Z(s-j00D1i2mk;9Vr&Qi0su7xGXwwuDR>9~2LM3?I|MxhIRrlhMFc|x00Ak42ml8GKmAHUucZ2!H?qJ;n$C0{~A1O9V{>00Ak~2mk{CP6SE>Oav(02!H?qUE&A;00lfCJt1322mo>j0ImoC&IkbR2mk;9a`XrQ00D0b2><{AbPx#u00ChZ2><{AavTW&00Ctp2><{Aa3~1?0RSZg00Aj92>=BECj>79DFiD7Ed&4oDLx4R1py`mE(9n9Dg-P9C`t){00DPU2><{AWnc*a00C)c2><{Ac5Dd%0RkihC|@`UfN}`{00Cuq2><{AWP}L-00D1`2>=2BM+8X(00AkM2>=2CMg&L%D4Yp^00C&C2><{AbgT&g00CjL2><{AaJUHo00CdV2><~AQ3L=1Dar`|0RU4300Ak~2><~BQUoa234j0rdEN;C00Cj<2><{Aa_k8J00DCH2><~ARRjP5DgFrn0RdD5C;|$A00C|Y3IG5BVGs%c00Ctd3IG5BY#a&z00D0z3IG5BZzu`?0RUG700Aj93IG8BSp)z9DLx7S0RdP9C_)N=00Cu43IG5BZBPmT00C)M3IG5BbX*Dm0RmP8C|@`VfMN;&00Cua3IG5BbaV;;00Cio3IG8BTLb_BDTWFF0RdVBD2fVz00DH63IG5BZkP%H00C*93IG5BZ=?zU00D5S3IG5BU$6=Q00C#V3IG5BZoCQr00C*j3IG5BbjS(-00Cjn3IG5BZ`29^00C^;3IG8BT?7CDDdq|Q0RdbDDC!D;00DCF3IG5BW%vpJ00C$I3IG5BWdsWV00DFg3jhECZV(Fq0RUeF00Ai+3jhHDUIZv03xEItXC?~(00C|;3jhECX*3G}00DA33jhECbU+IL0RUkH00AjX3jhHDU<4>o3xEItWmXFS00C@X3jhECVq^;d0RUqJ00Aj*3jhHDVgx933xEItWqJz$00C`+3jhEDVQFd$0Ei0!00&`WWM*k|bodDXE(!pE3IN~=02T`XMhgIr3jhHEPy{Gn&Iy2+3jhEDbaTWB0JaMN0RUwL00Ak?3jhHCX9NHNDb@=B0RU+P00AlB3jhHDXap$a3xEItbLtBK00Cw43jhECZ1@WR00CnD3jhECVFU~S00DFg3;+NDUl0rc00Cwe3;+NDZyXE&0RmHh00C@j3;+NDZ*U9%00D1y3;+QDZ3F-TDS`|D0RV3V00AkC3;+QEZUiWh41fRuWtI#800C{D3;+NDX`~DQ00DHW3;+QFYy>D@h75qP3;+NDWws0e00DHu3;+NDVaN;s0RV9X00Ak~3;+QEa0DpW41fRublwaA00D013;+NDY3vLD00D3E3;+NDaQF-W00CeA3;+NDX9NuZ00C|a4FCWEX%Gzn00DFs4FCWEVH^zr00D0z4FCWEY$y!?0|0jfbp&$+00Aj94FCfHb_8?;as((m4S)avb3zRO00DJQ4FCWEZ&VEc00CuM4FCWEZeR@n00CuY4FCWEXKW1s00D1u4FCWEZFmg;00D1)4FCZEc?19fDT)mM0ReafD2@$)00DB84FCWEWt@+=00Cvv4FCWEV%QA;00C{@4FCWEb>s~I0RVjj00AlR4FCZFd;}=;4S)avXZj5Q00C|S4gdfFX$TGg00D9i4gdfFbQBH%0RVpl00Ai=4gdiGegr5a4uAjwWhxE;00C?=4gdfFVmJ-}0RVvn00AjP4gdiGfCMN=4uAjwWljzN00C`Q4gdfGVQD@N09+0L0RV#p00Aj%4gdiGf&?gV4uAjwWp)k#00DJ=4gdfFY=jN~00Ci&4gdfOVPa%vXlZV9baqAz0DKGp&I|x94FH4<0J;qT>J0!I4gg{f0FVv<0Rm(MC|}SEfR+vb00DEr4gdiFg#-WrDbfxA0Re;rDAo>u00Cv(4gdfFaO4gE00DXG4gdiFhXeotDfSKk0Re^tDEbb700CwI4*&oGWe5)d00(w&ZeeM3ax4e{E(rjT2>`+i0L%^m@D2bD4*&oGIus880RfN%Ix-J{00DP64*&oGWk3%A00C)64*&oHbaqw;089@60RU00DJ+4*&oGZ-5T~1ORLUa06}wasvPXDU1&Q1OaOUZv$-uaRVrp4}bsxXq*oK00DHW4*&oGVXzMX00D5e4*&oGU%U?h0swdedIJCfDaa210swpieggmjDbx=D0s(sieFG@k4}bsxdEgHK00Cj@4*&oGa_|oT00DCL4*&uHfCGX900Aii5C8%Je*=L7C00D0*5C8xHZ!i!50sw>qh64ZrDLfDW0sx2uiUR-vDM%0i0s)5ui32E35P$#yWmFIV00C`Y5C8xHX=D%p00DGr5C8%Kg9C*FC|^PlfN&5100Cuo5C8xHbc7H900Ci&5C8%Ij027X00AkM5C8%Jivx`VD4Y<000DHO5C8xHZmbXh00C*T5C8xHZ@3Tu00D5m5C8xHU&Igq00C#p5C8xHZqN__00C*%5C8xHbleaC00Cj*5C8xHZ|D#J00C_75C8%IkOPtf00Alb5C8%Jj{}hdC;$;a`5r6;zXFw4E00C}F5dZ)IX;2XW00DAV5dZ)IbX*Yt0sxo;ngajthHV^=i5CHTL04@;#Vi5qc5dZ=LcLR9?C|}MGfV>d^00MM#!Vdu25dZ-IbOQhZDe@5j0ReLZDE1M600BPy5dZ)IWdsrc00CqQ5&!@JZx9jy00C|m5&!@JARH0^00DF&5&!@Jb0`u300C|;5&!@JZ!{7B0RVOb00AjL5&!`Kbpt3w5`X{!K1vb*00CuE5&!@JWLOda00D1a5&!@KV{SSU0AvyX00BH|5&!@JcXSc}00Cus5&!@JX@C*{00DM}5&!@JUyKp}00Cu^5&!@JWS9~F00D2F5&!@JZln?b00AJX5&!@Jax<@00Cvr5&!@JaMTh20RW%_00AlB5&!`Jq5}W{De4jc0RW@}00AlV5&!`KqXQ`T5`X{!bN&(l00CtN6951KYzz|s00CkW6951KVHgtt00DF!6951KUnCO%00Cwy6951KZ!i-80Ro`|C|~XpfHo5V00DVC6951KVMr4I00DAN6951Ka#Rxl0RW~000Ajr6954Lr2{Br6Mz5#ZfX+%00Cig6951KWq1<+00C@%6951KZ-f&700D1`6954Kr~?22DV7re0RXB400AkW6954LsRJma6Mz5#WvUYZ00C{X6951KX}A*r00DHq6954MrvoToniGJ;6951KWy%u(00DH?6951KVcZh{0RXH600AlJ6954Ls{<(P6Mz5#bn+7b00D0L6951KX#f-e00D0X6aWALa10ax00CbT6aWALXBZR!00C|u6aWALX(SW?00DF=6aWALVK5W`00D0{6aWALY&;YI1OT)HvIDLIumb=ADM%Cm1Oc-Hu>-9GuLCGj6o3E$b66Ar00DJo6aWALZ)_9*00Cuk6aWALZg>;`00Cuw6aWALXM_|000D1`6aWALZIBcI00D276aWDLwgUhGDWVhr0RgoGD5eyE00DBW6aWALWwaCk00C#Z6aWALWxx~w00DHy6aWALZp;(_0RXrI00Al36aWDMw*x5L6o3E$a^e&K00Cv{6aWALV(=6I00C|G6aWALb^H_n0RXxK00Aio6#xMNxdSK+6@UN%XA%_v00C|q6#xJMX&@B<00D9)6#xJMbSxDB0RX%M00AjD6#xMNy8|dZ6@UN%WkMAI00C@D6#xJMVo((T0RX-O00Ajn6#xMNy#pv<6@UN%Wo8us00C`o6#xJNVQE$s0CW`q0RX@Q00Ak46#xMNzXK?U6@UN%WsVg900DKD6#xJMY@8JU00Cj56#xJVVPa%vXlZV9baq-30FV;^;u8Qu6abtQ0MZly0u=x<6##k_0H_rJ0Ro=`C|~3ffUXq)00DE@6#xMM!UF&SDe4sf0Rh1SDDD-200Cw66#xJMaQqbj00DUd761eQ!~@0y$OFm)00Aiu761eR!vnR!i00Cwm761SNWh@o|0RYSc00AjD761VN&I14eDMA(i0RhbeC`J~500DGN761SNV^kIZ00CiI761SNcwiO)0RYeg00Aj%761VO&jToM7JvW&a&{H~00L!iW)=W`761VP%L6E1JQje2761SNWsVjA00DKH761SNY@ikZ1OUg0RS8T00C@Z7XSbOVPqEo00DGr7XSbOV{jJ$0RSBU00C@#7XSbOVSpC^00C`=7XSbOX^a;D00Co?7XSbOWtbNL00Cs47XSbOVWbxT00DTa7XSbOWv~|j00UxgXj&Hlb{7D)7XSbOU%VFp00DE#7XSbOVbB)<00Cdt7XSbOblevJ00Cj*7XSbOZRi&O00DCD7XSbOZ}b-c00M4iI2Qo=7XSbOIsg~|0RbKWItmzo00DCl7ytkPXBZd&00Chh7ytkPY$O-}00Cwy7ytnPjsXAxXEqoB00DA37ytnPj{yJyWkwhP00D4H7ytkPc~BSt00LojKo|g47ytzTodK5tnE{^xn*jg;DP|Y|1p=G_mI0Uno&lNxUnpD{0CE_B00Cuq7ytkPb&MDQ00C^07ytkPVVD>I0|1i&l>w0f00Aka7ytqQu>rFI00Ako7ytqRumQ3GD7YAa0|Jr(lmUnPu@)&>y82|wQqX7T`DJB^J0Rf@`C@L9%00BKP82|$SwE?#Qxd8wHDLxqh0|2`Ly#c=g00AjX82|$Tx&gcaz5ysy8Gr)x00DKv82|tQY{(e^00Cjn82|tQcGMXF00AJ{82|tQbl@2P00DF682|tQZtNKV00D3E82|wQ6#@VODgGG%0RR^Q00Aio8UO(S76K>?8h`-;6apwF0vdo48UO$RCK?(500Ctt8UO$Ra4Z@C00DV28UO$RbT}FS00Cb<8UO$RWkebP00DJM8UO$RY)~2i00CiE8UO$SV|Mr%09+aX1OOQV8v-2y9|8aYDQp@51OXTV8Uh>w9s($K8h`=-Ap#=;00AkA8UO+TAOa!+D3BU}00BOh8UO$XJv<>kASx}$7yuF(05}-{W*Got8UTD60H7KG00DBQ8UO$RZ^Rk^00DH$8UO$RVbB@?00DB=8UO$RW!xG700D5~8UO+S!2!bo00AlP8UO+TzyZPmDD)bD00DFQ8UO$RX9ODn00ChN8vp%x00DGr8~^|TZg3m`0s!3s-vIytDSR9N0s-6s-T^3r9Do1;XNVjC00C~28~^|TX_y=U00DBI8~^|Tbfg>r0s!Fw;{gBxDX<&>0s-Iw;sGeO9Do1;WxN~!00C^q8~^|TV$2)>0s!R!=K%l#DcBqU0s-U!<^d?)9Do1;W#k+H00C|88~^|UVQJDF0Q4LH00&`WWM*k|bVM5fej5PT8vr~U0CpSzsvH3N8~^|TUj!Wh00DC%9RL9U=>Y%%DJ~rV0RZa(00AjD9RL9V>H#P`9e@Ae00Cu69RL6UY)~Bl00ClF9RL6UVO$*m00DGj9RL6UUuYcw00Cxh9RL6UZ*(010Rrd&C|@!ifO;JO00DV`9RL6UVT>IB00DB69RL6Ua+n;WjK9e@A00Aj19smIW@&PC?9)JJ=bT%FU00C}39smFVX+$0X00D1G9smFVa8Moq00CcC9smFVXIvft00C}d9smFVX=ok*00DGv9smFVVRRk<00D1$9smFVY=9mB0|4~__W}6<00AkC9smOY^a1t(_yH)C9)JJ=bDACi00DKT9smFVZ>$~w00CvP9smFVZnz!*00Cvb9smFVXT%-=00D2x9smFVZO|S700D2-9smIV`vCv}DdHXg0Rj2}DCQo300DCB9smFVW%M2Z00C$E9smFVWdI)l00DFc9{>OWZVVp)0Ra6000Ai&9{>RX`~fH&AAkS>av~o900Ctx9{>OWVlW>700C__9{>OWbvz#c0RaC200AjT9{>RX{sAaVAAkS>XHp*k00C}V9{>OWX<#1!00DAl9{>OWbZj300RRC400Aj@9{>RX00Jm{AAkS>Wr80700C@@9{>OWVvrvI0RRI600AkS9{>RX0s<(YAAkS>Wu_kh00C{T9{>OXVQH2h0JI+f0RRO800Ak)9{>RX1Oh0?AAkS>WzHV}00DK@9{>OWY}_9J00Cj*9{>OfVPa%vXlZV9batK{0Ms1-CLREW9st}P01_VnLLUHf9{{=^0O%h800Cd_9{>OWa~L210RRUA00Ai^AOHaY1_CH3Ab@0v7y#%R02UhnC>;PEAOJ!j0Bj%t00BC3AOHaZBm!SLFc<)kAbOWa=IV@00D2lAOHXXbi^P400CjjAOHXXa?l_E00CvzAOHXXble~S00C*@AOHja#{kO!$pFm&00AlPAOHjb#sJCy$N%0s$rgC;=!^A%Fk@Zdf4z00CiQApigYWoRJ)00C@nApigYZ*(C500D1$ApimZD*-J500Ak6ApimZF99(D00AkIApimaE&(tBD3~FD00Cv5ApigYZKxpt00C*PApigYbhIG=0s<-lECDEAj3I!!ApigYWxyc-00DH)ApigYVbmc20su1sH30wtDc~Uh0s%4sGyy2)A%Fk@bnGDj00D0HApigYY5XAo00D0TA^-pZa0ns*00CbPA^-pZXA~j;00C|qA^-pZX&@p100DF+A^-pZVJsp500D0@A^-pZY&aqS0suDwIRO9xDMTUw0s%GwH~}b1B7gt^a!?`w00CuMA^-pZXJ8@#00CuYA^-pZbZjC300C}tA^-vaI{`fb00Aj}A^-vbIsrTZD1;(_00C!;A^-pZZj>Sb00C*5A^-pZa-bpr00DHSA^-vaKLJ4j00AkoA^-vbJ^?@hD7Yek00CvbA^-pZY{()200CmoA^-vaLjgqr00Al5A^-vbLIFepDBvQ100Cv@A^-pZZSW!h00LoY)FJ@(A^-pfVPa%vX>)W&Apn3O0NNn{J|X~kA^@x+0Q@2V00CbHBLD&bX8~ye00Ai~BLD&cW&vmcC@>>{00VM!bQmE3BqIPeBLD&b(E!f?00AjZBLD*c*8tl9*#H0mDOw`{0|C|m+5p%9C}Jak0s_zg&HyMqR3m_BBLD#a(*OVgDS{&a0RhqgD25||00BIVBLD#a)c^niDViey0RhwiD4rvL00BLuBLD&bdjWj`00AkoBLD&cdI5X^D7Yhl00CXTBLDydJv<>>bRz(iBLJ);0LUW%00DB&BLDyaZ{Q;U00DI7BLDyaVeBIS00DCHBLDyaW%wfi00D6RBLD#a-2eaqDGDS20Rh|qC=Mim00D9oBme*bVH_j?00CtpBme;b`~Uy}axNqQ00D0@Bme*bbT}jc00Ch>Bme*bazrEm00Cu6Bme*bbWkJ!00C)MBme*bUtA;r00DGjBme*bb7&+000C}pBme;b0|5X5DS9LT0RaL5D1Ib>00C}c-vHqN00AiuB>(~e-T>eLC=?}t00CthB>(^cb0j4I00ChtB>({c?EnA)DK;el0RZm+00AjLB>({d?f@u6C4c|{Yf2>m00CoCB>(^cVOS*q00ClNB>({e>;NcVIwgQ)B>(^cWojh=00ComB>(^cVSFV30RR;N00Ak8B>({d6agrVC4c|{d6Fdn00L}uf+YZ&B>(^caG)gs0ssdA2>}2BDX=8~0s#gA2mvUzC4c|{WV|H+00VMuZZIVPswDu%B>(~d;{fFV00Al5B>(~e;sE3TDBvZ400D01B>(^cW$+~c00DINB>(^cbo?a%00ChFCIAEg3jqxQ4*?MY00AiuCIAEh3IPlO4gnAWC>SPy00C$oCIA2dV=N{B00Ch#CIA2dWjH1P00CbN+tkuCIA5d=Kuf!DTXEh0RiR!D2gV400C=|CIA2dW0)oY00Cj1CIA2dVx%Sj00CdBCIA2daIhu-0s!d%>i_@&DZC~C0s-g%>HsLhCV&6|WymG~00C~&CIA2db=W2V0RZ^`00AlFCIA5e_y8#ACV&6|Ywjih00Cq6CIA2dVf-cl00CkGCjbBeUkE1v00C$YCjbBea}*~400VDwb+#q|-X;JVCjbNh@c{Jz^8oh%00Aj3CjbNi@Bs7x@&NV#C^#p800DG9CjbBea!e-x00CuECjbBeb66(;0Ra5~00DAjCjbBeZ)hg~00DGvCjbBeVRR<|00DA(CjbBeWq>CD0RTq<00AkCCjbEeNdW)>DV8Sy0Rcz>D4HjL00DELCjbBeWvC|r00C^SCjbBeVzeg!00CjTCjbBebigM700CddCjbBeX3Qr500D2(CjbEgMgb^akSBoHCjbBedEO@g00Cj@CjbBea_}br00DCLCjbEeO921@DFP?}0Rc(@CT5$00D5WC;$KfU$iIy00C#ZC;$KfZonu200C*nC;$Kfbj&CK00CjrC;$KfZ`ddR00C^?C;$ThQvp>0R{;P4De5Qy0|8P2Q~_22DDo(P00DFOC;$Kfbp$B@00D0bDF6TgWe_O<00C|mDF6TgWgIC000CzrDF6TgZzw4M00C_-DF6TgZ!{?Y0RUM600AjLDF6WhSOF+RDS!Y0a!M%x00CuEDF6TgXILo!00CuQDF6TgbYv+200C}lDF6WgTLAz8DRwCU0RdV8D0(S?00DA$_ADW)j^0RdbAD5@!d00C#PDF6TgZn!A`00C*fDF6Tga>OYB00DH$DF6WgUjYCCDb^_f0RdhCDB3B200Cv-DF6TgZ0IQf00Cm|DF6WgVF3UEDf%e@0RdnEDE=vc00CtLDgXchZ44>^00LoY^eF%mDgXfhV*vmGDIzKW0RdtGC?+a^00CtzDgXchbu=mf00C?|DgXchVL&PX019DZWM*h-ZgX^Y{3if1C;)^g0OTkDIw=5fDFC1;0MID_7%BipDgXchUrZ_h00VAxb6zI^h9>}aDgXfh`v3p|DT*op0Rj2|D2^(C00Cu`DgXchW1K1g00Cj5DgXchY^W*#0RR~R00AkqDgXfi7y&4_Du4h1Wxgr^00DN!DgXcha?C0K0RS5T00Al3DgXfi8UZNWDu4h1W#TFT00DaHDgXciWognX0PrdR00MAxt||cbDgXchWdJJx0s#L20RaF3DG)0F0s;O200Af#D}Vq2ZX7EB00C(xD*yliXDllK0sw0PZ2(D*yliZrm#X00C*@D*ylia_B1n0RSHX00AlVD*yoj9swx$D}Vq2W&SGw00DXiEC2ukXld>%01PYu0RSNZ00Ai+EC2xkAOR>KEPwz3WhN{D00DF^EC2ujVKgiN00CnmnkxVjEC6sU0K6;!00BC}EC2xlegR)P=pX?2EPwz3dHyT_00ChNEdT%kau6*51OPh#KL9-dK>z>&DI6^T1OYk#J^(xbKmaHvEr0+4Xe=!N00DG5EdT%kVL&Ya00D4DEdT%kUra3k00MG!7A*i$EdT)kAOHXXa$+q200D1iEdT%kbZjjE00CigEdT%ka(FEO00CuwEdT%kbc8Jc00C)=EdT%kUyv;T00DWHEdT%kVVo@h00DBMEdT%ka;Pl;0RSNY00DBeEdT%kZ@4W000DHqEdT%kVZm00DG9E&u=lVMHzf00C`EE&u=la!@V+00D1SE&u=lW?U`+00CcOE&u=lbZ9OB00C@nE&u=lb#yKO00CioE&u=lW`HgL1psRRZvb%sZ2)rs00AkCE&v4qY5;BkZ~$xoasVipE`R_5Wu7ho00C{TE&u=lX|yf?00DHmE&u@mX8>QoE&u=lWyUT500DH)E&u=lVbm@F0RU(K00Cv-E&u=lZR9Qh00C+0E&u@lX#fBLboMR)00CwCE&u=la{w;@00CwOF8~1mcK`qZDH1OL0ReUZC>Ae(00BK5F8~1mc>n+bDJm}j0RVdd00Aj9F8~1ndH^UmFMt66eElDT*%u0Re&lD2^|H0Rn&kC_RKPfRrx)00bdCJw7Ba09Y>odM^N+F8}}ma;Pr=00D2hF8}}mbigkF00CjfF8}}ma?CFP00CvvF8}}nW^fEI0N5`80RVLX00AlJF8~1nbO0#qFMt36Z1OJv00Ck8F8}}mV*oG!00D0XFaQ7nYz!~}00CbTFaQ7na~LoH00d-oZ)w^t0PrpV-Y)5{0Rox;UpiJW0HQH~00CvFF#rGobhI%500L!UhAsfQF#rJoBLDyaX38-D00D2#F#rGoU(_)G00Cv%F#rGoaNscj00DXCF#rGobnGzz00Cd}F#rJoB?15fWODd10RAxm00CtJG5`PpbPO^800D9mG5`PpWf(F500DCzG5`SpC;$Kfc`7mh00ChxG5`Ppax^jk00DA3G5`SpDF6TgZbmWy00Ci2G5`PpWl%Bz00C@PG5`PpZ(K3}00D1eG5`SpDgXchY;H0D00CigG5`PpV|X$E00C)!G5`PpXM{2U00D1`G5`PpY>+Yl00D27G5`PpZk#dz00D2JG5`Ppa;P!@0RSri00DBeG5`PpWw^0Rb!kUjj1#00CtPGXMYqbPzKD00ChZGXMbqE&u=lbRshV00C|$GXMYqX)H4U00D0@GXMYqa5ysn00Cb00D0XHUIztZwxj700CkWHUI$tgaH5nDIPWe0Re*nC?Yn100BKHHUI$th5-NpDK<6$0RV^r00AjLHUI$uhXE)=Hh=*DiU9xtDN;570Rf2tC{{Lr0Rx2rC_FtnHh@Yt09-Zz0RW5v00AjD00C(hHvj+uXB;;G00CtpHvjEXkIq}00DGnHvj+uVQe=500D4vHvj+uUwAhF00CuwHvj+uWP~>W00C)=HvjEZu&O>00D0TH~;_vX$Uv~00CzXH~;_vWfV9700U`oa*j0s2sZ#4H~;_vUm!RD00Ct#H~;_vV>CDb00DA3H~;_vbwD@(00D1CH~;|vCjbBea#A<|00D1SH~;_vbX+(900CiQH~;_va%eaJ00CugH~;_vbaXfX00C)wH~<0wR02{000Ak6H~;|vVgdjGDUvt<0RdqGD3&;Y0s>P4Q35DEj5vUtH~;|vUIG9CDY7^K0RdeCD7H9&00BI_H~;|vU;+REDatqi0RdkED9$*500BMJH~<6ym;#&vngX5z00AlDH~<6zmjastnF5^xDC{_Z00CX{H~;_yJv<>>q&NV?H~`!@0021v00D9aIRF3wZx}fM00DF!IRF3wVI(;K00D9;IRF3wWiUAa00D3|IRFFzRsvcASOQ!E00AjNIRFF!RRUQ8R{~oCC`>tk00CuEIRF3wY+yM600ClVIRF6w`T_s}DRMag0Ri~}D0Vr300CuuIRF3waD+Jk00LooY&igmIRF6wWC8#IDVjL|0RdwID4sch00DBOIRF3wVXQd-00CvPIRF6weF6Xha=tkL00D2pIRF3wbjUdX00CjnIRF3wa@08h00Cv%IRF3wbl^Dv00C*{IRF3wU+g&m00DIJIRF9xpaP--00AlfIRF9yp8}x*C00CuMIsgFxh5`TqDP}qV0Re>qC~7)@00CrhIsgCxZg@HX00eArVr95F05&=RU^)PPIsgR#W&&seYyxfqY61WODV90_1p#FOX98;iZ31ZmD55%m00CvFIsgCxbGSMH00CjXIsgFxbOHbYDatwk0RVOa00Ak~IsgFybpj~ZI)DHHbly4u00D01IsgCxY3w=x00C(7IsgFza{?$|&N_hjIsgCxW&Sz<00CnPI{*LyVGuh20RXfD00Ai+I{*OzvjQj}JAeQIc_upm00L}u7CQhgI{*Lya5Osr0sx2tiUI%uDMUK}0s)5ti2^7}JAeQIWKcT*00VMuZp1nOK05$fI{*RzZ~}4y00Aj(I{*R!Zvt@wD0Dl300CusI{*LyZiG7k00DK1I{*Lya*#U!0swjfcme00DCTI{*LyWdu9`00DCfJOBXzegXgiauz%Q00D0rJOBUzbRawc00ChpJOBUzax6Rm00Ct(JOBa!mI9Ol00AjJJOBa#l>(CjC`3Gf00Cu6JOBUzZd5z~00C)QJOBXz?g9V-DP}wX0Rim-C~7=_00DAvJOBUzWq3RQ00C!yJOBUzWrREc00L}uU_1bdJOBUzZjd|x0RY?r00AkWJOBXz-U0vtDXKgG0Ri0tD6Tw!00DEfJOBUzWxPB900C^mJOBUzV#quI00CjnJOBUzbksZm00CdxJOBUzX5c&k00D32JOBX#+X5(Gq&$G^JOBUzdGb5}00CkCJOBUzas)j900D9eJpcg!-~s>vDHc5d0Ri6vC>lM000C|wJpcd!VJJNS00Ct#Jpcd!Y&1Op00D10Jpcd!Z$Lc&0RZ9x00AjXJpcg!6J00C)kJpcd!baXuc0RrIyC|^)LfON700C*XJpcd!Z@fJK00D5qJpcd!U&uWG00C#tJpcd!Zqz*h00C**Jpcd!bl^Pz00Cj;eD*DgHeG0|Dm(=>qElC0RZp<00AjfJ^%p$?*b@TK7arLa$Y_F00CuYJ^%m#Vr)JD00C`sJ^%m#b$C7i0RZv>00Ak4J^%p$@d7A_K7arLXO2Dq00C~6J^%m#X`DU)00DBMJ^%m#bf`W60RZ#@00AkqJ^%p$^8zTiK7arLWxhTD00C^qJ^%m#V$41O0RZ*_00Al3J^%p$^#Ul|K7arLW#T>n00C|4J^%m$VQJDn0PsEl0RZ>{00AigKL7y%_W~#cKY#!MWePt400DIpKL7v$Y#2WP00ChhKL7vvR-K!5-NWE?;M00C|)KmY&%bud5x00D0{KmY&%Vmv?q00Cb@KmY&%a!5b`00CuAKmY&%cT_+C00D1WKmY*%wgLbFDP}+b0RgoFC~81}00CuiKmY&%dU!wp00C)!KmY;&xB|KY00AkAKmY;(w*t8WD3Cya00DWHKmY&%VW2<&00DBQKmY&%a;!iA0sy=Mz5)ONDY!rY0s*@My#gq{K!5-NZp1(U00CjnKmY&%Wz;|b00C^;KmY&%Z{R=x00D32KmY;&zyiVo00AlTKmY;&!~(_w00AlfKmY;(!ve(uCz>&Z4^NO00C(lK>z>&bRa_&|UrK>z>&Wh_Ae00DG5K>z>&VL(9u0szPY$^rlZDNI2C0s+SY$pR=+L4W`ObXY+E00C}dK>z>&X=p(J00D1qK>z>&aCAWc00CcmK>z>&XMjNf00C}>K>z>&X^cSt00DH8K>z>&VVFSx00D2FK>z>&Y@|T|0szbc&H?}dDX>8R0s+ec%>pR4L4W`Oa=bwR00CvjK>z>&XUstW00CvvK>z>&bl5=v00C~^K>z{(&;rr|00AlLK>z{)&jQf`DDXjm00C$AK>z>&ZU90600C(RLI3~(atuNM00DFoLI45))B@H500Ai;LI45*(*o53C?rCF00CtxLI3~(Y&1du00Ck;LI45)*aF%D00AjRLI45**8|t00CuELI3~(ZCpYC00LoYKtcdwLI3~)Y4KmhDO07gLoszCtcK>!#+0BAx000CceLI4B+`~m<2{sIC600AkMLI4B-`vU(0{Q?04D4;@s00MJ#kU{{aLI4B+1Oo^I1_KHM00Ak!LI4B+3PRb00CvrLjV8)bksut00DH`LjV8)Vc<00Ci^L;wH*ZJa~^00DBML;wH*Z>U5700CyML;wH*U$jI300C^eL;wH*ZNNkT0RWo-00DB$L;wH*blqA0RX-L00Ai|M*sldW=DW_M*si>Av`@k21fuoM*v($0DeaR00DA}M*si;Z=6Q}00DHOM*si;VW>v{00DBYM*si;Wwb{C00D5iM*si=ZFFy(MgZd+>bVh&xNB{rVQ*<>LjcA^02oLB0RTAw00DC>NB{rO=00DNQNB{rN&+YlNq_(WZWc)Z00D0vNdN!=X(UMi00DF=NdN!=a4<;#00C(>NdN!=ay&@@00Cn{NdN!=b4W=500CuANdN%=O#%P`DOyPY0Rc<`C|*f`00CuWNdN!=V{AzP00DAxNdN!=b$Cet00D1)NdN%=PXYh|DT+w|0Rc_|D2_>h00BIdNdN!=Je)}Y00DBMNdN!=Z>UKC00DHaNdN!=VYEpA00DBkNdN!=Wxz=Q00D5uNdN!?WOHv+NdSaN0L)1M00BDENdN%>Py#yONq_(Wa^^_@00D3ANdN!=a`Z_600DCPNdN%=+XDarDF#Xa0Rh?rC<;n|0RZCz00Ai&N&o=?;sYogN`L?XJR(W}0RZa*00Aj5N&o=?>H{b=N`L?XCOS$000DABN&o->Z%9f200DANN&o->a#TtH00CuMN&o->UtmfA00CuYN&o->b8Jcg00DAxN&o->VR%Xa0RR;Q00Ak4N&o=?6a*-UN`L?XCXPw~00Cu|N&o->Y@A8}00Cm6N&o->VW>&~00DHaN&o->IN&o->Y`{tY00C{rN&o->Z_G*n00MAyeo6q+N&o->AlOO(00DI3N&o->bLdI{00D09N&o->Z}dt40RZg-00AigO8@}??*jk+00Cb{O8@`?WlT!|00DDSO8@`?a#%|M00CiMO8@}?5d;7MDQZgq0Ra#MC~ixD00C@tO8@`?Z+uGt00D1;O8@}?7X$zSDUM430RR~U00AkOO8@}@7z8MsOMn3a76d3Jl1qT1O8@`?CaOyS00CvTO8@`?Y`jYV00CmcO8@`?VaQ7W00DH)O8@`?I@C)500BDMO8@`?Y~V`(00C|0O8@`?Z|q9|00d)jVs!dS0Ax!5h)V$SO8^7_2LuZQ2?PxU00AiqOaKG{1_TNO2m}lSC=^V900CVZOaK4`Jv<;=5J~_lN&xsv04PiV00D9?OaK4@Z$L}{00DGHOaK4@VN6T_00DAROaK4@WmrrA00D4bOaKA^-2>kP00Aj#OaKA_+ymYNC~!=G00DG%OaK4@Y=BGv00DJ|OaK4@bBs&?00Cu^OaK4@a+pj200Cc~OaK4@Wu#0100DEVOaK4@a00Cv@OaK4@a_me100Cd}OaK4@W%x`000DFUOaK4@as*8P00ChNO#lD^a1c!Z0|4a%=L6{j00Ai+O#lM{N600MGuLQMc(O#lG^@B;t=a&Aok00D1uO#lD^ba+hw00CisO#lD^a)eC)00Cu+O#lD^bdXH|00C*1O#lD^Uz|+<00DHOO#lD^bEr)K00C~UO#lG^_X7X{DY{Jn0Ri>{D85aA00C~qO#lD^Y0OOk00C#xO#lD^W!Oys0RZ^}00AlFO#lG__yZ{DO@IIaWbRD>00D0HO#lD`Z(?P%O#t3a0Q^k=0RZs>00D9kP5=M_Zxl`d00DFwP5=M_VIWQb00D9)P5=M_Wh_nr00DF|P5=S`^8@t*00AjJP5=S{@&oh(C`3+x00C}FP5=M_X;e-C00C!OP5=M_WnfMK1OWd70|WsC1q1*ADQr#v1Ofg70t5gA1OzB{PJjRbXnalp00DH0P5=M_VUSJ$00D58P5=M_Uz|<=00DHOP5=P_4+H=KDXvZc0RavKD6&p~00CsUP5=M_Wx!4V00C^qP5=M_Y0ORl00CjrP5=P_69fPODc(*10Ra*ODB@0l00Cs^P5=M_W$;b_00Ct7P5=M_W&BP600CtJPXGV`V+cTPk;acWiC$u00C?|PXGV`Vn9y-00Ch}PXGW5Z*YEPV`*YxW^;68OaQ!002WOEWK949P5?Mg0A@}As7?UbP5>HD08CE+00BBuPXGY{AOt#qPk;acbcRm=00C@{PXGV`b(Bv400DEFPXGV`WuQ+000U-aat28N07?L+PXGx5Q~*W*QUFc>N&rLvOaMp#Pyi@j+DL$`PXGV`Wx7uQ00DE>PXGV`a@)-00Cd>Q2+n|Ztzh600D3IQ2+n|bNo>N0stBV90LFWDF{*k0s$EV8v`f~Qh)#fJQPv@00BH6QUCw}awJj!00D0*QUCw}bTCo?00Ch(QUCw}ay(K100Ct}QUCw}a7a=B00U%dZ=O*A0#X1@QUCw}I#f~s0RbHYI$~0Q00DAnQUCw}WpGje00DG%QUCw}bbL|(00CiwQUCw}ZHQ6;00DB2QUCw}Z&-P00DEdQUD169|I`^B?BP?D+4V9Cj%n`F9QGpDZWww2>~7hC<7z|AOk7`ECVJ3A_Fc1DAH1Z00DW}QUCw}W$;n}0RS-r00AldQUCz~Fasz6Q-A{iIRiTbJp%v%DGpNr0{}k*K?6er00Ai+Qvd@2J_A4lLIWryQ-A{lI0HHZJOex^JqA+%7E^#KQvd@1GXpgPHv<3xDN0iS0|7DvGy^sRC{j~^00BK%Qvd@1MFU3zNdo`@DQZ&y0|7(>MgvF#C~{MP00BLCQvd@1O9M>i5u00D2xQ~&@0bkI})00CjvQ~&@0a@0RUeE00AkmRR942UIQq!Re%5iVY*cS00DHuRR911VaQbg0RUqI00Ak~RR942Vgo4HRe%5iXx>!-00DI7RR911XY5q~00D0DRR911W%yM9010bvV`*Y#b7XAxQUGpL0KilL?oZRR911Is{e#0Rd(300D5KRsaA2Z>UxP00BC#RsaD3l>|DpR)7EjbGlXl00C^mRsaA2VaQeh00DB&RsaA2Wz<#x00DH`RsaA2Y2a1>01swvc41>=X>W6MaCvHLY`6sgA{PL(AOKh`04Od1z%c*-H2`uo08BUl9!LP_PXJO;0Ju^BK2`wcRsaA2I_y>e0|I6MUI1VKIw*ETfWAY300D9^R{#J3Wk6Q|00DGHR{#J3bWB$O00CiAR{#J3ZCFR{#J3Wr$Y*00DE3R{#J3bCg#A0RTDz00DBKR{#J3Wu#XC00CsGR{#J3VX#*K00CvTR{#J3XuMYd00CdZR{#J3XUJCo00C*vR{#J3X4F>z00C~=R{#J3Z{Sw|0RTG!00DFCR{#J3a`0CG00Cw8R{#J3bo^HU00DFYSO5S4VF*|N00C_dSO5S4auiqq00D0rSO5V4JOTg#awb>+00CtxSO5S4b1+x{00D9~SO5S4VLVs>0RTM$00DDISO5S4WlUHA00DARSO5S4by!#c00DGfSO5S4VPseU00CucSO5S4W^h;l00CciSO5S4WPDfv00Cu!SO5S4bBI^~00Ci+SO5S4Wt3O|00C^8SO5S4WuRC900DBQSO5S4Zmd`U0RTP%00DHkSO5S4VZ2xX00D5qSO5S4ZOB*v00D2#SO5S4W7Jpx00CdxSO5S4bKqD200DRASO5S4Z|qnA00Ct3SO5S4ZunRL00C+KSO5S7W^i?PAXorGSOBtE00db800CbLSpWb5WgJ-m00C?wSpWb5VklVv00ChxSpWe5KLP*&b2?c700C}3SpWb5Z$w!D00C)ASpWb5bWm9U00D4TSpWb5Wn5VR0RTV(00DDoSpWb5b8J}v00CigSpWb5YQ8x0RTb*00C~$SpWb5Z`4@;00C**SpWb5bl_P400Cp>SpWb5ZtPhA00DLKSpWb5X82hE00CeASpWb5as*lc00CtRS^xk6Vh~yY00C_lS^xk6WgJ=n00U!YZGKq*%2@y+S^xk6Unp7t00Cq+S^xk6WjtB{00DGDS^xk6a!6VL00D1KS^xk7V{l?w090B400M4!G+6*zS^xn6LjnK+d2U(&00C@rS^xk6Zg^S%00D1)S^xk6UxZo!00DA}S^xk6Wsq6`00Cr{S^xk6VVqh300Cv9S^xn6L;?T-ZmwDY00D2ZS^xk6X}DSd00DHqS^xk6VZ>Sh00DH$S^xk6ZqQl)00CvzS^xk6ZQNP_00CvZTL1w7Ndf=?EB;#m0RvnBI$tX)SAg7G00LY900C?WTmS$8Z5Uht2LM(A8w4E$S^^&gSOQ!E00Ai^TmT6J69ZKO8U!2!SppseR{~oC5CC5~D1bNsNJD@$Tz~)pWjb5{00C@TTmS$8VqjbV0|LbWvjDXKIw;gffT%`*00DGtTmS$8Wqe!!00DD?TmS$8W{6w>00Cx>TmS$8Zt<9VHjNi2mlKKi~kOC0_k^%q$DI{G02muNKivkP*jRFnt<9VOU)N00CuQT>tttu6GkOU?KE(9n9Dg-P9Iw&#^fJzB~00DQhT>t<9WyoCs00C*vT>ttz>&DLh^P4gqTe{sV6V0t9UXMg#x^IskD4NCX4~J^(xbKmaIOUVs1rXkcCd00DG@UH||AVTfJ;00D50UH}FFX8~ye`~m<2{sIC600AkQUH}FHW&vmc`vU(0{Q?04UnrDb0H|Jo2>^TpBLT$$xB`9yB>~3)x&l)K00Ak)UH}OJdjlc?!~wSgeFG!`#sRqkQUoa2UVs1rdEQ^rxD*?>`zygK?EdkE~!U9(W00AjvUjPXJhyyPH(E-E)iUTnL(*ec;Sp)z9DSlr72?2)#E&9#{!K5Gy&ED$pTsgC<?00C((U;qFCZ!};400D41U;qFCUqE0000C!4U;qFCZcJbR00C)IU;qFCbXZ^j00CiMU;qFCZ)9Kq00C@jU;qgKkOMaX*#XP~k^?yb+X2o3T?7CDDRy802?37-HUZcH%L0)DI04!L%>rBmD2iZ!00DB4U;qFCWvE~P00C#NU;qFCWwc-b00DHmU;qFCZopsw2>_G>I|1DR&;phNJptbV(gI%u00Ak?U;qgLlLI;d+yT!5l>_S_KLOzZ)B>6VK>_0d)&gM!00Ai+VE_pMmjgZl-~rPDnFBxp;sMnHU<4>IVSoSuWj0{|00C@HVE_ODVpL%O2>_e}LjmOh*aDsdMFHml+5%$)00AjrVE_pMn*%}tJnUS9z4UjT4m0LEYd7GVIMVE_XFcmsL^Q3L=1DaK&{0|Ivgc>_=cUnr;F=@Bs7x@&NV#Whh?)G5`c(fa*H{00DFgVgLXEawK8^00CtxVgLXGWOQ@B1OQkD05DjB;ZX#@ZPDOO?t1p%W2NCD~r-2!L?C}LuO00DDoVgLXEWq4u$00C@%VgLXEVuWG<00Ci&VgLXEbdX{I00Cc?VgLXEW}IRG00D2JVgLpLp#w$%=mFaTW&|hzC|^)wfT&^s00DWfVgLXEVZ>qp00DB!VgLXEa?oM`1puZ4O9AZx-~wv|00Al7VgLpKr2|R<>;c~bY6K|&DClB<00D09VgLXEVE|(Q00CtNV*mgFYz$)n00D0jV*mgFZx~|$1pul8PXX}({@B!ljZUij=C@^Dy00Ct-V*mgFZAfDP00C)EV*mgFbW~#i1puf6O#$x#;sR|100AjrV*myMrvpp@?g8NfYy>O-Unp8*0BmD`00CukV*mgFbckaB00Ci+V*mvJtOHR2^8w}paRdMXDVk#d1_7%BPyzA**MwF6iI`T^|%cmyv1C>Ugb00D9yWB>pGWiVs_00CzpGWjtg600MMuLSz77JOBUzZb)PR1pv4MTLJw6@B(`T00AjjWB>*Mw*y)M`~mL*dIU58C}d=S00DApWB>pGWqf1+00ClxWB>pGZHQz500M7yGBf~=WB>&Kx&vJS{{iv>eFOjjDV}5i1_8MPTmk+8@dA7VH2^58WPktxXRu@d00C~oWB>pGX~<*%00DB&WB>pGbkt-31pvGQUjYFE^a6hb00AlBWB>*My8~VU00Q#@egrlEDC}f_00Cw4WB>pGYy@Qh00CkOWdH>Lz5`(a0|NE}fdl{nDHde_1_8YTU;zRG^#XtdHvlLiWq<$yWhi9;00C_}WdHyIVQCO$06=8`1pvSUV*v#M_yU6j00AjbWdH^NzXM_c1OoR0f&@4KC|qTL00CuUWdHyHb#!F_00C@zWdHyHVSr@-5CF6TcLcHnQvvk>=mK>Ft^-v8_W|kxume{C`2p+#a|8eZDU4+R5CO9Tb_B5lQUUY<=K^#Dtpij6_5tYvuLD*A_yOwzas()@Wq<$ybF^gu00DK{WdHyHZ{TGB00Cv@WdHyHZtP_M00Cw4WdHyHXZU3R00D3QWdHyHZ3Jcj00D0bW&i*UVPa!sW@&3~b98oWXx3r?9%BIFG60lg00v|LQe*%EGys%j0NP{#Mr8noWdIB?01##X0sx=`Wdr~LDNJSn0s@}{WCUL*7G?laW`G0$R|EY3egg3W00DAlW&i*IZ*XP+00DG%W&i*IVSHu)00DA>W&i*IWr$_~00VAwbT(oDSY`l@W&i~M!~@0yhXlw2$^!raDWYZo1p&hY#RG-}#{b0In(k_9_6hW&i*IWyEFx0Rm~i00D9mX8-^Jbr@#=0stQYwgLbFDI{kA0s$TYwE`$AXMg|!WiV#|00DYBX8-^ObZ=#7X?5sk03K%m8btu^D*!-e02EIE2LS&7fCBRaSpxw9f&%pe00AjrX8;HR{s4ah@&i}{00Dsl^aC&gC~#+h00C}xX8-^JX^dw800C!`X8-^LZ)IWF1^}3608}dg2LgluY5;BkZ~$xoasU_rIw&?UfS4|T00CvJX8-^JZNz5)00C*rX8-^JbkJu21p}G@hyaQJ764}eUpgq(X8@uxfS53V00L!U+-Cr~RR912bb0h=0FE#K0{~qBCIS=#00DCdXaE2KXAo!r00ChZXaE2LZ){dB032ul00CwqXaE2KUo2<<00DF|XaE2KY&d8D00DJAXaE2KVMJ&E00L%nN@xH`NdN!>VP*bj08nTE0szhfiv$1xDP(8>0s+kfiUcTXXn+6#bZ}?@00CoqXaE2KVSs1=00DT0XaE8L&;yMG00AkIXaE8M&jXAED41w~00DBIXaE2OW?^(?Zz>o7Ko|g47yyiD0H|mH2LQ|ii3FVimjRgpp8=Zz00Ak)XaEQUBm&C=hyCje00DFyX#fBLX)I{~00MJmGHC#c2LJ#9VQB^VWepQ&}jeyY5*u|0P-XN6aX;;kpQRw(*U6XUIJqPECLz>djKN@WdJS$90R-nPXgluHUdKchyefrDMV@j6ag>;kN~Fu(g2_VT>@eND*_nWB@G!8w0xlP6FZsH3C8ahXE*VYJdv>IRm8urvZ-urU1GCI|DrfsR4Nah5-NpDWYls3jjX@s{yS6lK`p!z5qc3Lj$h?eE^C900Ak$Y5)rXJ_D)&tO1e$sQ|qIKm$Spt^s@ii2*3sYJdv^I0K{srU8xsr2x4AIs-fdr~!BYg#kP$J#=aSx@v&lY5)uXGXsqPqyV@8)c{}uH3K&TqXBmSHw1(M00Ai;YXA%ZG6ReNqX4%6)Bs-sGy^sRq5*aQHUxtKC^&0?00BKdYXB7hMFX(`l>n>&zyQ|(Vgf+~M*~R%vjIByHHkpWTyH3ZuOGXwwuDa3043Ifmok^xf!lmX5FkO5HwGz8iMG6X#+lxqOmYk&#>O9Qn5w*i*`t^mRSO#@E@xdDLy00AlfYXAxWQ3JaHy#bj3umHpWQv+24zX5{)00Ai)Yyb)YPy@OFyaAX1uK>dUQUg>2z5#*&C@^e*3Ia+4v;npOmH@2)!2nDHP6N0BfB+~x6l{PtYyb@adjWj`PXw3(2Lzk~3j~@1O9Tl7o&rq-4FmuIDQ;{44FP%qd;v}bmjVU^n*s_1nF2}#2n3x1Oau%BD2i-=00CW)YyblQF$56=f&l;lDYk3?0|77u5Cnk%D86if00C^oYybcOZ_sQ200D2-YybcQc5rmm832At0MbeT00AK4YybcObnt8d00DFMYybcOZv1Qj00D0TZ2$lVVq(L;y?xNB~d(C|}x0faYxg00Cw6Z2$lPa}aI-00MG!7H$ASHvj+xa$#?Eu5ADuZUD9>02(I%0|GAsCjuz~Iw<^5fJ9J$00DA1ZU6uQWk_xS00DGPZU6uQbX0Bt00CiIZU6uQZD4Ky00DAlZU6uQZ)|P=00CxlZU6uQUwCc+00C@%ZU6uQZG>(B00L!UW-tJXZU6xRoB(rrMgRZ-WtwgP00DHOZU6uQb*OFt00C~UZU6uSZ)stIFaWe}0F)~L2LNUQ-vDR=Yyxfq;Q(p^00Ak;ZU6@XWdhy+X98;iZ35r`X#yzNZh!y*W!`Q800DFIZU6uRVRHCx06a|q0s!p*bOHbYDF|->00LrYUL^qXIsgI!>;Q8DC|?e5fD~^400CtlZvX%RV=Qj~00Ch#ZvX=TVFMKbv;qJDDL!ui0|8(I6aljWC`NC900DVSZvX%SY;-tp09bDT00D4bZvY1X2LXrz`vY482?2@%{R032DQ<572muBGhXVQoS_23Hi30osF#;%lZ-4*+WQ1=300VMuZvJinXm0?TZvYAa2?7fOa{&zk4+3=o1Oo^I1_KHM00AkkZvX}WcL8|;3ZYFR500D0*Z~y=SX)tgA00DG1Z~y=SVLWgE00DABZ~y=Sbx3dk00C!CZ~y=SX;g3k00CxNZ~y=SZeVZ#00D1iZ~y=SV{C8$00AI!Z~y=Sd3bOD00DA-Z~y=SVT5o100DA}Z~y=UZen!6H2{!s0NPdn00U`nWtMONT0j8!RR9A59Rn2u7XvydVp4#rQGfseaY9s?)?Bm*D=Dg!J7CIcb^E(1C!Dpr8fQh)#fc@S{`00Ct#aR2}qbY^aGVQF%6Vq|t>Z*X~SXk}+?cWP^X@>~FpT>u7N00aR50P+_ADHs4>7yz3X0NEG-8W{jq832+Q0LvKw0~!D`8USY+0G=8E-x>f98vsEY0C^h#ts4N`8vq0x06iQ4ZyW%f901T90RJ2SC>;P<9RP|Q0Jo0QVmN`yT*JAOKMy0H7cMq#ywJAOQRz08JqPQ6T`NApoc$0QeyQ{2>5QA^=q)0Hh)Ss3HLLA^`Xz06ilBK_dW&BLIve0Ma7>)*}GzBLE^K0D2?<5n0LCQ%@+ANsCICz(0C*+0Qo2Y{U`ubDF9e00Iw+kvnc=xDgX^C0AwlvXet1FDgdY|0M#l004o45D*!Sp0B9=!Y%2h{D*(MK00}Gr4J-g$EC66E0Ie(lu`B@oEC2#608T9cQY`?VEdZk}0K_c-@GSryE&xm}0Ddk2tu6qtE&%E-0PZdTJ1+n~F93@#0FN&K-Y)>+F90tv05dQEfG_}rFaXdn0Msx5Au#|YF#tv}0Ch0{t1$qsF#zZ>0PHaUIWhn}G60D(0F5#L<1zr}G5|C)05~%Mg);z&GXT{y0NFDDCNuylGyp<00CF?{bu<96Gyt_U0PHjX@H7BCH2^?00Dv_Bgf#%aH2}jk024L<7d8N9HUMfi0J$~*y*2VWHHvqCX0Pr^e^fv%PH~>aC0D3q8emDT6H~^?P0NXeK-Z%ghIRF?r06sYYLOB4BIRKM60NFVJ-8ld?IsiF30GT=fojL&ZIso}P09`u(VLJegd00}$*4LkrtJOFb%0HZtrraS=AJOI@^01Q0<5Iq1zJpf5P0CznAdOZN8Jpida0OUOY=sf@qJ^&Iv08>5yS3UrJJ^+C}0J=T^zCHl-J^=VW05LxRH9r7tKLBw*0Kq>1#XkW3KL7wg05w1WIY0n%Kmc|?0I5I#tUv(QKmgl701!a{6F~qzK>$KQ0CYhBcR>K6K>(&f0Np_V;6VTjLI4j!082suPC@{ALI8b20J1^=wL$>kLIC7K02o668$$p_LjX!c0DVIMfI|SQLjbQs0O3Ob+08B&xP(%QeL;#mW0MbMN)O#qHf0KZKD@l60RP5?Dd0B}wKbWQ-VP5`w|0Ps!#^iBXUPXIJe0DVsYflmOqPXN46002+`1W*7}Pykp^0IE;`u22B^Pyqc<07y{)Oi=)xQ2?P)0PRr#@lgOhQUF0x0FzPxmr?-ZQUK>t069|tJyQUPQvi%p0M}Ch+fx86Q~)qk0DM#cfK&j?Q~=Oa03uZYCRG4jRRCaB0Gm|+pH%?TRRGmh0RL4016BYyRscIz0A^MIYE}T8Rsf$?0LoSX&Q<^gR{#iC05ewrH&+02R{(Zb0HId^rB?vjR{-5t00>wB3|Ig_SO7y<0B%?Sa##SRSOBP40Ml3i*H{1vSpW=K05@3xJ6Qm9Spaxh0J~WLzgYnKSpfc705)0xI$8jCS^#@m0KHlO!CC+bTL2AP09RW8TU!9JTL86N0PtG?^jiQfTmUj$0Bl?Ua9jYXTmY?H0Oec&>0AIJT>vIs09#!EUtIu?T>z6^0J&WNy$r803BWcAzlD(UI21l0J~lQzg_?UUjPJO07qW{OJ4wiUjT()0IOdBuU`P`UjXl402N>W8DIcTU;t5I0DNEofM5WkU;xWt003bCSYZHMVF0{g0Kj1Y6Jh`tVgPGm0B>Rdq+$TkVgUSN04QSsVq*YiV*tKm0K#Jc_G17=WB^HI0GMO|>tp~rWdN3C0PSS}Ic5NfW&q)406S*@h-U!UX81#0K#ej{%QaMYXCWG06l8}nQH)@YXI$Q0P$-8Kx_a+YygvN0GDh4$7}$~Yybjn00wOUL~Q^_Z2*>S0Ge$8+HC;dZ2%u`03&VyS#AJbZUBRB0Ecb>)NTOSZU8!O06uR3l5YT(ZvftJ0OD@|KyUy=Z~%I60IF~R+He5fZ~z8z019ycL2&>@aR7R80Df@*tZ@LZaRAzJ0N!x`8FBy}asWbd07h~EhjIXmasaV%0JU-e?{Wb1asVrH055X@baMcBa{!}r0H<>R?Q;O}a{wH403dV#X>bO5(>0K0Sm`g8#PbO0%J04;R@ZFK-~bpV`o0HAdM=5+w-bpRE102y`wV0Hjxb^wod0F!nA$#wwEb^ro*00wseId=d&cK~O10Bd&upmzYHcL2_J0Md5=1b6@kcmOhZ05*64ZFm51cmSJt0H1gO+js!pcmN4`01bHnLU{m1c>r*E0Caf(sCfXZc>vUT0N8l|3wi(!dH^|k06lsDZ+ZZ7dH|hz0HJyS+Ij%qdH^AN03~|>V0!>$djOn!0HAvS-FpDxdjKPR04IC^Z+rlAd;ql~4}Jg>egI2;08f4Zh<*T!egMIK0L6X)0)GGoe*iIm05yLAbAJGLe*mF>0HuEb<9`6>e*hAI02Y7%Re%6lfB=Mm0EmD9$$$XOfB^V_0Q`UeK7jy2fdFlR0C9l;lYs!pfdC+a03?C{gn|Hwf&kls0N;WDGlKv(g8*!U0GfjUor3`Eg8=Y@07QfUNQ3~CgaDX?0O^DP?Sud~g#bH+0E&eGj)ef;g#hA(05^sJJB9#>h5(I*0N92A+=c)xhX65$0D^}AhKB&qhXB-v03?V2D2M=fhyZ+u0LO>`%ZLCRi2xvp0C9-`b%_ALi2%fj02PV=8HxaEiU4kk0Jw?(yovw}ivSRd0APy%WQzc=ivY8W00fKx2#f$(i~wDX0F#UW!;Ap=i~#+N05OdKHH`pljR0_s0Huupsf_^NjR50~02+<}9*zKLjsR?q0HBTlq>cc>jsW?N0R4^tKaT)Ij{t6u0CJB2wT}R~j{xM40O*eZH;@23kN|#=0D+JIu8;t+kO16}0N{`S6OjNGkpMxF07a1idXWHqkpQTX0IZP!-jM*|kpK*m01%P@N0ITz02!13OOyaklmK~@0DY7Iu#^C_lmP9N0P&OnG?f52l>l><0C$xDuay9^l>qRS0Q8jrHkJT7mH>p70Em_V-j)F3mH;Z304|pRZI=LXmjJAn0I-(;>X!iSmjEc304$gQWtaeIm;j-e0Hv4!-k1R5m;e`<02`SAOPK&qnE-W}0C|}JubBX|nE=?C0Nj}X5}E)OngCLo09Kj+l9~XPngGt40MeQO_?iIxngBYR06v=lWSanJn*fNL0Lq&H&YJ)QoB#-%08N|#QJesYoB)iR0OOnh=bQi;od6x307IPsN1XtFodAQK0MDHO)13elo&Xk}09T#>TAl!qo&dm}0Pvmw^PT`6p8z7C09l^^U7rAwp8%Gh0K}gF$DaW5p8)os063rkJfHw)pa5&20Ir|_vY-Inpa9{Z04AXTDxm;Xp#WK-0H2`%qoDxKp#ajM012W14Wa-`q5w~#0EwaijiLbAq5$2Z03D+MAfo_bqX1;10G6Wwnxg=~qX5LC0Q{o>0HgphqyS{30Jx+8yrcl}qyY7#04b#aETsT!r2ufH0I;P1w50&}r2zb;06V4tKc)bErT~Ga0LP{P%ccMfrvMPA0BWZIZl?gqrvS{S03WCTBd7p&r~rDX0M@7g+Nc02sQ@jh0F$Wzm#F~rsQ~w>06(e#L#hCbssNCx0Nbhn->LvBs{k*n0C1}SbgKZTs{pI30OYFx=&JxDtNZ|}ItpF*l0AsBHXRQFBtpKF00Nkwr;H>}?t^gOV08p*~RIUJ*t^k{^0M@Pm+O7Z+uK*UW08_63SFZq>uK=B|0Q9c__^$v!umD7`0E4gqhp+&`umHxe006N71hD`eA`0DG|jf3X0!u>iZV0Q9i{_^|*jvH&r%0A;cOX|e#HvH+v90N=6z)`si~={si~={si~={si|1#si>)`si~={si~={si~={si|10sHv%`si~={si~={si~={si~={si~-`si~={si~={sHv%`si~={si~={si~={si~={sd#v)sHv%`si~={sHv%`si~={si~={si~={si~={si~-`si~={sHv%`sHv%`sHv%`sHv%`sHv%`sHv%`sHv%`sHv%`sHv%`si~={si~={si~={si~={si~={si~={si~={si~={si~={sHv%`sHv%`si~={si~={si~<*=;*1bsi~={si~={si|0ac&VwWsi~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~-`si~-`si~-`si~-`si~-`si~-`si~-`si~-`si~-`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~-`sYqDpsi~={si~={Na*P3si~={Sh2aVu&}VOu&}VOu&}VOurL^@si~={sYt1*si~=`si~={si~={si~={si>)`si~={si~={si~={si~={si~={si}B)si>)`si~={si>)`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si>)`si>)`si>)`si>)`si>)`si>)`si>)`si>)`si>)`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={Na(4lsi~={si{b*sHv%`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~=Wc&VwWsi~={si~={si~={sYt1*si~={si~={si~=`si>)`si>)`si>)`si>)`si>)`si>)`si>)`si>)`si>)`si>)`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si{b*si~-`si~-`si~={si~={si~-`sCam(sHv%`si~={sHv%`si~={si~={si~={si~={si~={si~={sHv!_si~={sYrOKsi~={sHv%`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={sYt1*si`Oq05m!}Zf|a70AVvTG-EVjG-EU}W@KVFIb=6wVq-I9H#1^2F*jv4W;hN2G&(wQb#HWKUu0o)WpiI)Ze(9{X>Db50AV&|H8wdgH85deW@9#GV_`I7Fk>}jW?^D8HD+WoHDL|_G&(wQb#HWKUukY;X>MtBX=QU?VQyq!Zeeb70AXcfV>MzqW;kXyH)J+sW;0_rFg7zYIW#vpW;8Z1IXDggG&(wAY;13LUuMn80AVvSI5amiH#Re7W-(!6IWak7WiVneF=RG2VPrF6W;PB0G&(wAY;13LUu|`4bZK8~X>Mg-b98cPZfA1Mn80AV;aV`MipV=!Z7H#uW6F)=wdF=94kVlXu|I5#&pIAaa~G&(wAY;13LUv+M2V{c?-UvqSFX>Mn80AXS{WHe@DH)1h0H8U|cGdE;5WHK@}Gd5#2W-~ZAF=Gw@G&(wAY;13LUt(!)VRCt2X>N37XJvA80AXb~WMXA8F=aC|F=8_?IW#diIXPoxI5B2qGG=9EG%*eUG&(wAY;13LUvFb{VQgP%Zggd5WpZ->VKZbgI5c8oWHx0uW;QuxVq-EnVlgy0IW#q9GBac}Wexx|Iyzx&Y;Sj8Xk~a|WMyM%ZDDL*X>N37XJvA80AVySWi(_rV>CB6G%{v5W;J3qFfleUV`DWrG-5F}Ibsd~G&(wIZe(R{bYF9IVqbJ&Vr*q|0AVy^V`648G&f;1WidH4WjACpVP!I6GBh$}F=b_AWnvBhG&(wIZe(R{bYEd|a$$L2Wo%__Wo~qH0AV;{W->8lWHC20HZeIjWHC80VKFo}Gch+~H)UZtHDV3`G&(wIZe(R{bYXO9Z*Bl#G&DIdH!@{2Fk&<_WH2;hH#9V6GBPzXGGRD4FgP(d4gfSdI&x)fVR&U^UuJA?VRT<`a%E#_b7^mG0AVsPGBY$dIc739Gh#3{IWsq8WHUEoGBsi{V`efiH#l4X5;{6&Z*py6bYEs{VP|syBVjTzFfw6bI51*kH8(dnGh{h7F*q=0Gd5*0W;QftHene6G&(wNZ*FA(VKXx{V>DqjV>B{mWMVftWH)7EV>4wpGh#I{H)S?vI2iymIy!V=Vr*pqVPRonIb|_qWid8pGdM9fHfA_BWH(_sGGbvfGdE#4WElW7Iyzx;a$$J@VP-LAH!(9~Ib|>~FlIGmGiEY4Fkxh3WHB-{WM(vGH5mXjIy!T7a%pa70AXS@HDhLGWiU82WMngBGB9L0GB{#oWjHluH)1emGBFtdG&(wIZggd5WpV&vF*P@2VmD-FH8U_UGBY(dH8n9cWHUB4V>x0rH!@{782~goI%aHdVRUJ3XJ2q{X>N1?VKX>4W;bItGB9B>H8y5sW@ck$V>dKoF=aO~I5A-|VHp54Iyz!+Z){~@ZUA98G-WblHZ*24IA%9EVqr67VKrkpFg0OfHDNMjVKO%v05m!}WMOn=0AV#|V>dH0GchqaFg0UhGB;&7GGsP4W;A9tH8C+}H)a_CG&(wTX>DZyVK6siV>UT7VmV?nW@9!pHa9UaW??WmVm3K4GGjC{Vio{3Uvz10WdLM0F)?E_HfA_wHZ^29WiT{3VP<79HZ^2rF*su~HZ<7-0AF-@aAg2)VQpn|aA9L*bZ>2JE@*UZY$IV}VPi98I5c8nW-(?mV>vK4F*jyoVKFc_Ff}!1G&p1)05m!}Zf|a70AVvTG-EVjG-EU}W@KVFIb=6wVq-I9H#1^2F*jv4W;h-IG&(wFZ*py6bYEd}Ut(!)VRCr@VKZbhF=06}I5lKtF*h}4W@ct%IXPoyVKFmgW->8kW*z`EIyz==a&2LBUtx1!Z)0>}Yye?oW@9ooH#RdjH8f;lVq#=wIX7f8V>mc7Ghs4iIAUQQ05m!}W^ZzBVRT<%b6;p>cwuB^V`*(+Yye?2WMngDWn(lpG-5YoVK6deWnyMxV=!W5G&eFeV=_4;0svoTY++|}0B&JzWpi+0V`X%2ZEP-RbZu-SVK*~nVqrF6Gc;v4V>e?oVKihjF)=YPFgP$UWieu6HGTmAUukq@a$$6DasX~&ZDn(CVPj=I^bY*g3bZ>G1BVlD?VL4`HGhs0~Gh;YnHZ(C|F=k>jVKOi|He@$rF*95M5;{6#Z*FsRUvyz&Y-L|*bY*g3bZ>G1BVjaRV`F4DH8W;4G&C?YWiT)~H#9XjH8C_XH#cTuVq#nX5;{6$WoBV@Y;<2{Z*py6baZ8M03%^CVmLQqHDoe1H)b_7H#ajjI5RUcI50CYW;8W3Wj8il01`SnX>N06a&%>6UvznJWnXV*03%^#W-(?kVq#-tWHUB6Hf1t4IA%0rI5A{7WMMZjF=Az001`SnZ*X*JZ*F0103%^$Gc;j2W@0llFg0Z~F*!FlG%+wVHZVD5HezC8H(_I301`Snb8mHWV`X1yZe(S603%^$VmLK2W??ciVK`zlWnnpFGB7Y?HZ(P2Ib=0sGcY(@01`Snb8mHWV`X1(VRUF;aCCA2BVl7UV`eloHexh5Ff}wbVP!F9H!)^4VmLN5G%_2JE@*UZY$IVYIWjaeWn(sGWnyMAVq!QmG-Y8qWivK5G%z(~Gch+@01`SnX>(s;a&lpL03%^CGBq(`H!w41Gi75mWHDhgFf%q|I5K5nWHV$oIb&m701`SnX>(sw|sGc_bYW?3WpV%`VPrOAHf1q3H#cQ5V`DWoG-Na|WoBVGIbmipH8C_{GF$)>Iyz}{Uu0o)WdI{#Gh;PmVPP~iHZx^2VPbZKp605Ui=V_{}6F)}weIbk+1H#jvhFfuk~IXE&mVKXyiTmTX}I%#uXW^8X^bZKs9UvO_}Zgc=6VKHH0VPP<3GBz}0WMnjEG&40ZI5jshW-?|rF=1mfHe3J_Iyz}{UukZ1WoKn_03%^FF*9OhV>DqgIWRXdW-wx9H!x*6GGbyjV`4F3F<~=Y01`SnX>(s|WqAN2VK-tpWo9`rH)J_BGC5>1GdW>1Fl0D4G-5L}HDWP2H821aUvF|>V{dMDWpZ?BVr*pqFf}q}VP<4yH!(RdH)UosVK_B8FlA;pWn(flH8o^7TmTX}I%#uXZf|5|03%^EWi&A|HfA<6VqrBlFgZ3eWMwcpHDhEsVr6A8H!w6Z02E(#X=Qf+Vl`qgHe_LAIAbwoFl1#pWiU20F)=wYH)Sy}Vm2{2TmTX}I%#uXZgp*9WpV%`VKy{lWjAGHHaRymWHMqgH#jmgH8wS3V>UNqG%z?fGh6@?Iyz}{UvqSFX>Ml#BVlD>F*G(ZF*qdA~Ib&pHFgIKP5;{6*b6<2}Vr*pqBVlAQF=IGmIAJ(4I5uQ9IWsY3G%z+bI5syqVPQ99WMW(Z5;{6*b6<36ZDjx>VK_HoWo0umH#Rt7GcsagI5RjgH83MmV=AV>C8mGBZ8^G#Fd}5+FJ{VRT<`VRUFHV{dMAbRceTWMw8SAaitNIy!fAbaH8KXJ2+{Wp^n6BVlD`GGjF{I5s&kGi79AWH@ADW;9_lWHmB1W??lmGc!N{G#*?45+*u2Z*XODVRUbDJUl3KbYwa@VqtS>V_$D`baG{3Z9GG0VRAkuEFf-gWMyA;d2nSZ03%^yVKy;2HDonqI5S~lF*s&3Fk?AkGBGhTI5cH4V=-Yu05l|A01_lRI&fifb7d%VbYwa@b98cPZf9S1X=QgTAaitNIy!T7a%pa7Uv_C_cPRiPVPs)AHZ?S6Vl-oAWo9uoV=^#iV=-hkWiVr7H#0P3WJCZoB3u9xAv!v6VRCb2D06gVIy!T7a%pa7Uv_C_cPt=tbYwa@b98cPZf7PYDF7p3GB9RgGi5M1WH&N5H90UiGiG8jH)A(9GGQ|{H!w6aMgTM)TmTX#Iy!J+a&u)Ub97`nI(0a6baH8KXJ2+{Wp^wfb97`nI&*Y#X>MmTmTXyIy!J+a&u)Ub97`nI(0a6baH8KXJ2+{Wp^wfb97`nI&*Y#X>MmGCMf_TVK6dbGB+|bH8wOcG&x~pI5aakV=y!|H#0RiGcY(}I7$FCAzT0wB|18AVRCb2D06gVIy!T7a%pa7Uv_C_cPt=tbYwa@cXM=dX>MmMmdT8H#syjHZm|bHZo%}GGaC}G%;jjHa0jiV`DO8P5?9@TmTX$Iy!J+a&u)Ub97`nI(0a6baH8KXJ2+{Wp^wfb97`nI(Kt)a%pa7Uv_C_cPRiPVKX>5H8M0cF*7hZW;8H1WMVQnF=jD0Gcz=0VK`)FWl#V#C0qa!Av!v6VRCb2D06gVIyz}{baG{3Z6+)rb97`nI&*Y#X>MmfAGBP(XF=JslF*q_fV>UN1IWsUdQ~)#_TmTXhIy!J+a&u*0W@&6?D06gVIy!T7a%pa7Uv_C_cPRiPVK`)BV>LKrVPrHjV>4nlHfA(5H#T86F*7k{H8(UdVO9V%5L^Hf6goO^VRCb2UuJ1+WhirWWI8%^ICFGzX>MmZ9WHvcuSO7E4ngIb~V^G!b-fZEOH;VQpn|aA9L*bZ>2JE@*UZY-Ru2JUuJJ|ZDDkDWpXHEZ*FsRAarkSY&tq_Z)9aAEFflYa&2LBUuJA!XLBh4BVjl(F)(3aVKFc@H)J<9Gcz2JUuJJ|ZDDkDWpXHEZ*FsRAarkSY&tq{VRCb2Uvg!0b!>DdEFflYa&2LBUuJA!XLBh4BVjXPW-w!6IXN*iIb~#GWHT^0G&Ny0V`MjEGGj0?GdExWLnmecAs{+BZ*XODVRUbDJUl3KbYwa@Z*z2VWnpb5EFg4mZERm=Z*py6baZ8MCMf_TVKp!~F*Rm1I5aRhH8(dlG%z=2Gc;l`HaRq6VrDlpWnutB9%cX`Av!v5aAk5~bZ>GzJScN?WI8%;b98cLVQnTXAarkSY+q(?a&2LBbY*fTCMf_TVP-HgVl`!9Vr4O9I5c8qI5aadH8o>5V`eZiWjJJHVPpV9A6x(cIy!W3ZERm=Z*py6baZ8M0Ap-nb8~cWZERmLUomuVZERm(W^ZzBVRUq5axQ3eZES=99XdK>VRU5xBVjl>W-~cBH8?e9GdDA2F=aPmWHmWvWi&J}GBGkRH#CF*9XdL6X>DZyBVjQ(WHn_sH!@^mG-ft2HZwIgG&5slVKX@}V=`hlGBAVy9XdL1W@d9`bO0k^W;iuDHZUvWoHa0RdWjSMEV>M)AHZ?LhIb<DaFV{dMAbRcwZZEQL^WMOn=CMf_lGdVP4IAu0AIWT55Ib}97H)c69Vm2`}VlXyhWi>c%06!6D03Q=ybZKp6C}VGKb95kdZ*6QkI&^7mWhN;AH#1~rH8C(WF=b_CFgRj4I5cE4I5ajgVqr68WMpA9Z~#9MX8<2HUvz10Whi5BZgX@XbZ>2JIyz)wbY&(iAY*TCb95kdZ*6QkI&^7mWhN{jV{dMAbRcwZZEWIzrYQhnV`5=3H8W;8Hf1?BGdE;4Gd5vlWHm80IbvaCIXPi+06#N?038TAI%#uXY;R*>Y$z!pV{dMAbO0k^W-w$nF)=wgI5ajiHDzKjF*Rl~W?^J7Wo9%uH)3LAbO1jFga92RIy!G~WpZJ3Z*n0$C}VGKb95kNVRU6*bZKp6CM+OhZ*FsRAY@^5WnXk@ZDl4Y03%^JVP!C7Ff%e{W@R}rIWjn7G&f>2Fk)mlF*P-0WnnXR06!vx039ScI&W}ga$$6Day%$wZ*FsRAY@^5WnXk@ZDl4bAY*TCb95kNVRU6*bZKp6CMf_TVKinoH#jgeW@KY9GG<~mH8eS5VKOl@VL384GhsF}Vt4>QB7^`PAv!v5aAk5~bZ>GzJScN?WI8%;b98cLVQnTXAY*TCb95kNVRU6*bZKp6CMf_TVKreeIWS{lIb>#GFl07iGi5h4HZU_{VK*=`Vq#=uV|oBTAA|rMBsw~8aAk5~bZ>GzJt$*uZgX@XWMOn=Uvz10WhN{jV{dMAbRcA5bY)+3X>DaDDF7p3H)1koFfukVVP!KoWo9;HVq!LAWiV!9Gc{&nVrDa9d;mWpga92RIy!G~WpZJ3Z*o07C}VGKb95kNVRU6*bZKp6CM+OhZ*FsRAY@^5WnXk@ZDl4Y03%^II5lHpWjQc1VP#=tVPj%2IW;pfGcaLfWjSOxVmV=c06!vx039ScI&W}ga$$6Day}?yZ*FsRAY@^5WnXk@ZDl4bAY*TCb95kNVRU6*bZKp6CMf_TVKHK3WnwTjFfur1Gc#d0GC5>6F=l3CH#RtBVPZEpVSoTXB7^`PBsw~8aAk5~bZ>G#Jt$*uZgX@XWMOn=Uvz10WhN{jV{dMAbRcA5bY)+3X>DaDDF7p3Gd3}1Vlg=|G-fn6H)SwkF=jVmV_{)4V`OA8G+|<9f&f1vng9}CbZKp60AF8pX>DaLXmo9CngAC%I(cPbasVS?WHDr8H8L_{F)=k`HaTQtIWRaiG%#W@V>V`HH#st5ngAC%I&E)mbZ7u0VK6l^IAb?5GGs7eI59UgF=071W;SIrVKFf=Ha0OdWtspNIyz)wc>p6}IAvouVK*`}IASlV=yr>ngAC9Iyz)wbY&dTsIW;gjWQ+hg7@7bV8ag^}aAk5~bZ>GzC}VGKb95kNVRU6CEFfcVZgX@XWMOn=CMf_TVK^`_F*rFmIXPi8WMO7CVmM=DW-((mVlp){VmCK3WR3ti7@7bV96CC0aAk5~bZ>GzJScN?WI8%;b98cLVQnTXAY*TCb95kNVRU6CDF7p3VKOvkWMpDtHZe3gVKO#mF=S$8WoBhCGd3|YHZw6ckN`OvngACXIy!G~WpZJ3Z*n|6C}VGKb95kNVRU6CEFfcVZgX@XWMOn=CMf_TVK8B2WH~TnIAUdCF=k|AHD+ctFk@n3WnwjDF*Z47W0C+l7@7bV8ag^}aAk5~bZ>G!Jt$*uZgX@XWMOn=CM+OhZ*FsRAY@^5WhN;ABVlGYHZe0aGC4SAGB{x~HfAv}G&M0bW??pBVK6Z`Vlb2dIT)G%7aBS`Z*XODVRUbDJ}6^vZgX@XWMOn=CM+OhZ*FsRAY@^5WhN;ABVjQ(HZf*qHe@w8H85s4F*G=1WiT)@V>dNoGGSslH8Pd}IT)G%7aBS`Z*XODVRUbDK0PR7Z*FsRAY@^5WhN{jV{dMAbRcA5bY&(f03%^IW;ZlpVm3EnGdDP4H8N!~I5amnWHn|tHaKN8F*P!n067?30025VWMOn=0CRM5bz^jNZ*6Q}F<&ucVRU6KXmo9Cu>co3I%scoasVS?F*s&3GGR41I5ak7Gcz-0Ib}FDHexq2HDWhnH(_Nou>co3I&Eogb#!F_BVjNyWMwpFWiT``WM*MGH8VA3Vl-rCHZWv3HfA?wVl=S;7dkp~Wn*t{WB?;!IALWlVPZHmIbk<8F*P(ZGB7t|VK_EnGG#GjFlJco3I&NWZZ*yg1Z*F7&BVjXTIb$|3HZ?F~V`MThW-(cnhIy!V|ZDlA(EFeuRAX6+LPE#oWBVl7UN9G&e9dV>LHpV>dA}VPZ5eGchtVWj3JzISa7>7aBS`Z*XODVRUbDAw4K#Z*FsRAarSMWhN{jV{dMAbRcwTZDl4Y03%^HHa9jlVK6s0Wic={IW{miH8^8oVKiYmV`64xGBskO067@302dlMI&W}ga$$6Day%$wZ*FsRAarSMWhN{jV{dMAbRcwTZDl4Y03%^CGB9K{G%`3fGcsgjH92N6I5ak9GC46dIW#jcVr4j`067@302drOI&W}ga$$6Day&dJb97`nI&X7ya%Ev{CM+OhZ*FsRAarSMWhN;ABVl1=I5A>5F*!6cWMwmAGiEYmH8eIgHe)zpHaIqAWjCh)IU2D57aBS`Z*XODVRUbDJUu95Z*FsRAarSMWhN{jV{dMAbRcwTZDl4Y03%^EH92H7IWRUiGcsaiHe)t1GC5>rHZo>0V>U1`VKy+S067@302dlMI&W}ga$$6Day>mLV{dMAbRcwTZDl4bAY*TCb95kdX>DaDDF7p3VK_KsF*P=3IAvipFf}zXGi5L^H!w0{Gh;Y7WMwjDs{lC|u>cnuIy!G~WpZJ3Z*o2;V{dMAbRcwTZDl4bAY*TCb95kdX>DaDDF7p3I5jpjWi@0pG&43eGG${lIAS$0VPj=vWo0p8Vm35mtpGU~u>cnuIy!G~WpZJ3Z*o38C}VGKb95kdX>DaDEFfcVZgX@XbZKp6CMf_TVP!QnF=I9}V_{}8HZ@^4IAk?pH#1{5IX7ixH8VJ7HLn0U7+e4VIy!V|ZDjy+baHiLbaZcRY+o^7F?4BdWiDuRZEVE=A38d1X>N6NWpe-{VKQbkV`MNgH90ddFl93_IAmpJV=!YiWoBe$H90b5WW@j<0y;W$X>Da+Z)Rq5WppSh03%^EIbmipV`4EgHfAz0Gc+_aW-&EoF)%nbH8*B8W-w*5071n79|k%)bZKp6UvFk+b7gcWNGu>tDF7p3Ib}IEGc-6jW-&H2G&eJ4WjSGHGc{ynW;bLsW;ruuwE#f`#Q+}~Iy!G~WpZJ3Z*n0$D0FFUWnXV*W^-k9EFg4gZDn6?W@d9`bSVHMVK+BrHDY2gH8y5uV`MgAIWb}}H#9IaGc#r~Gh#R}Hn#vl7{ve|8ag^}aAk5~bZ>GzD0FFUWnXV*W^-k9EFg4gZDn6?W@d9`bSVHMVP<79H8?UhHZo#1IWjUeG&VIdG-NR}V=*;2IAdlxWVrxA7{ve|BRV>7aAk5~bZ>GzJScN?WI8%;b98cLVQnTXAY*TCb95kdX>Da+Z)Rq5WppMf03%^zI5%WwFfn2@Wi~KkWHT@`WH&W8F)}naFf}nZG&M2106`(e03RAUI&W}ga$$6Day&gKbZKp6UvFk+b7gcaAarSMWnXV*W^-k9DF7p3G+{6}I5uQCVPrNnIW{w4G-Wt3GBr0gVqq|2HaRjly#PTN#Q+}~Iy!G~WpZJ3Z*o07D0FFUWnXV*W^-k9EFg4gZDn6?W@d9`bSVHMVPrWpGBagmFg7=2Fkv)fFk)ddIb>yGGB!6kVK6slHopKt7{ve|8ag^}aAk5~bZ>G#D0FFUWnXV*W^-k9EFg4gZDn6?W@d9`bSVHMVPQ2gH!xu}V=*ydW-?(pGc+`0GGj6@IWaLdG&3|ZIl%xy7{ve|8ag^}aAk5~bZ>G#Jt%Z(ZDn6?W@d9`bSxlrX>Da+Z)Rq5WppV3BVjNxG&V6ZGh|_AHZx;3H#cH3H8nY5VP-jEWMMHgGdRNlK^UvcsWjQxwH)S?CIWb~4VKg%_GBYLB0VKy^kGcq|fIXGlCH!)>4H8U|{Fk@wAIW;$8$^bbBegPLAIyzx;a$$KWMQmklRC#b^CMGN(MQmklRC#b^b08)rATBO0DF7p3V`4EkVKq2rF=k?9VlgsdWnpGGW;bLpWjHW7Gi5bn%m6tYegPK_Iy!G~WpZJ3Z*n~-V{dMAbRc1Ja$$KUDF7p3GdE^5GB{>6I5jaiIAdiuFk?6}W-(-DHaRmjW;J9r&HyKpGiEq2V>vivI5=f6G%;mnIXE&iIX5G!Jt$*uZgX@XVRCX|c_u6%V{dMAbRctdWI8%&ZfSIBVQgu7WpZC^X>)WuR6Zst03%^yI5%Z9Gc{v1VKgx@G%#g0Fk@sgWj8Q0WM(-wW@2R6068sw0T(4YI&W}ga$$6Day>mLV{dMAbRc1Ja$$KUEFfcVZgX@Xb97`nI(B7abZ>GzR6Zst03%^FVl!hlF*Rj0VqrLDWH&f4VmUT8W-&K4FgGw_H8nKa068Om0T%)~I%8~QVR9%b03%^!VPQ5kVrDioW->WuI5{|DGB-3bGczzYV=*>0WHvb506BgE7Z5r+WpZJ2Whi5BZgX^BX>?_BVRUbDDF7p3GBPtbIbk_vWH~f6G-hQrGGb*hFk>`fV`5}wV>vK5-T*lcegPLCIyz-?VRL0DV{dMAbYE$7WpZJ3Z*nXkV{dMAbYE$7WpZJ3Z*nOBBVji(Gc!0iI5se3H!@>6VKFu`F*7%0FfutaGd4D6VlvQ7V`edAV=^{jWMwumH#0LeG&o@}Fkv$}Vlg*0=m0qe=l~fBCIB{OV>vN6VKFr^VPs)6Fk?3{Gh{Y6H8o*oGcYnSV>0RhIR}0L7ack}Wo>Y5VPj<|V{dMAbYE$7WpZJ3Z*nXkL2_qvASNatE-o%903%^EF)=V=IW{vmHexd~FgZ72GBq`3Gd4LiVPh~cWHe#y0680e0T&TEI%REeY+++%Ut(cnYbZr*Wo?_BVRUbDEFeW}Wo=Y>aAhVYEFgAaY;|Q{W^7?+b148LVKFyjH)S(4Vl*=|WnnluFgGzcHe_OAF*i6kV>x6qH}C*CCw>7JF*-VFZgXXFbSPtQZgX^BX>?_BVRUbDEFg1fdSzd9EFeW}Wo=Y>aAhVYEFgAaY;|Q{W^7?+b148LVKp^jIb}9wH#9P3H8nP6VK6r}H#1~1Ib$+2V`VpFX7T_zFMa_RDLOi7ZgXXFbSPtQZgX^BX>?_BVRUbDEFejAWpXSaNpxj$EFgAaY;|Q{W^7?+b148LVKy*fFk~}1VrFDGH!?9}Wo9xnWid51W;Hc1G-Ne2Wb^7JH99(JZgXXFbSPtQZgX^BX>?_BVRUbDEFg1qWI8%&ZfSIBVQgu7WpZC^X>)WuMQmklRC#b^J}lyZrYQg;VKHK1Wn*MDWHmQAVP;}AFgQ3kHZ?agHa9e4I5{^sG4=pCGkyUV89F*}b#rK6Vqs%zC`D{#ZB%)1WhN#pAa-GFb!A^>Y++|}DF7p3VmC23I5jgjVly={Wo9#BH#Ih5H8f&4Gi5YlFg0Q`_y9Q?_BVRUbDEFeW}Wo=Y>aAhVYEFgAaY;|Q{W^7?+b148LVKX;jIAJn4Gi5eoF=Jw7Wo9=uH)1knH90gmIb~%wWBLF&Cw>7JIyz%-ZgX^BX>?_BVRUbD03%^!W@IxsGch=1Gc!3bVK+8rFgG({I5TEsGG;PiVKOm(0T((tX>?_BVRUbD03%^GGGQ?|G&eD0VK-wnVlXx`Ff?Q`WimEnIW{w9I5RVT0T%)~I$~vKX>KSf03%^IWo0-qH#uZvW-()8G&E*pW-wwnWH2`{FlIG1V=`v`06G2u83-U_Z*FsR05@Z1W-&D~HeohoF=jR~H8*82Wnp46GcjT`H#Ik5VE_R+27Un-2s%1rVr6G(ZYU`rV{dMAbO0k^H8x~1V`5=2Fg9dkV`DX8WH~uFGGaA2VK`zkWMpG80s%P&egPK1GBad3VK_8mFa!ZP27Un-0y;WnZe%Da03%^!VP-inIASnkV>4wqVq;=4Wo0>KV>xAGH!wD2GBPs;0XYT%83-U_Z*FsR05>-{Vl`qoFgIpqH#0IhW;bMIF)%VSH)J<6W->WrG6(@V27Un-3OYJwZ*pH{VPj}0Ms;puCMGE$CIBO0F)=kXVKZbhH)1hiW;8KoW?^A8IXGiDWHvB2Fk(133IRC?3IQ1lCIDeKWHw}EG-ft7GGRG0VmUWtF=aP3Fkv+}WM(&IW@8KiISGCN7Z5r+W^Zy|Wnp7zC`NT|VdV>38nWHvA`GC4J3H4p(g4}Jj`2s%1rVQ^t%X>@rgDIjBSZgX@1BVjNyVmCK4VKHWAGcz|fIWlE8IAmcoGC43aFk>+`F)$JVIR<_K7YI5!Wo>YDc_=9$V{dMAbO0k^HDon1H)UZqVrFDyVPr8dGBss6Fl96|HZx;5GBRUh6ahH~egPKe=9IA$?2VKrf4WH~r9V-^8927Un-2s%1)Wpib6c4a7YX?kT}bSVHMVKHK1FgG({WMeflV>4uCHDP2jIb&vIH)SaAhVYEFgAaY;|Q{W^7?+b148LVPY|1V_`BgGdE^tV`VpGH8?Y2GGk^lFf(Q`HZnCiW*PxGAASKB0y;W#XmV+8YhQG4UuJ1^C@BCVVK*^2V=^!^F=b(7G%`40VKp*2F)}waF=jSoFgY|~VH^QDegPKNFVRU6Eb7^{IUvwz|BVjgWGht&nIW{t5H!wC~I5=Z5FfcJ@W;iopG%z?cW-}lGIR<_K7XmsuVRK($a&lpLC@BCVVL3NqH#agjIW}WCHZoy0Gc{#6WHnU2kWn^J9Ib}9EWHK~iVq;-rV__@-IR<_K7XmsuVRK((VRU6*bZKp6C@BCVVKq2oGc_E&&+`AY*TCb94Y5jVq`fm0XYVK0T%)~I$?8PW^8X^bZKs9UvO_}ZgeOq03%^FWj1AGH8M0~G&M9hW@KbCF*7k_V`5@6IASMmIDF7p3HDokoGh#I`GG%5mWivA|FgImlF=RG4GGa0~GGjM2IsrL40T~D&V{dMAbO1RtGcz|hW@a@xF*0R2V>dH0Vl-rBWic{jG-75lWMw=7IR<_K7XmsuVRK(}VPb4$C@BCVVL3H9I5lK8Hf3XEG+|<9He)q7GBRUgWH4khGdVRlGCl!0J^>jBAY*TCb94Y@G&MCdG-5S3Gh{I^V>e|oWiewlHZn9ZH8VCaIA%FO0XYVK0T%)~I$?8PbZKp6C@BCVVKZc9WMg77GBz<`H8MD3H90gjG-hKtWiVo5H)AomWM*MDWMVW#0XYVK0T&25I%#uXVRCX|c_=9$V{dMAbO0k^F=jDkG-Nq5W;HT5H#jyiGh{GfH)3OEH#A`~Gc+I~W?yt+Vr*q|C@COgZ*FsR03%^IH)CWlWMg7wVq<1xHa0O~FkxjgI5#piHDfR~Fg0aJ0XYVK0T&25I%#uXVsCG3Wnpe8DIjBSZgX@1BVl4(s>VRU6EDIjBSZgX@1BVji=GGt>jW@I-pFf}naH8e3bIWje5G-f$rVl!i5F=R{uIR<_K7YI5!X>(s>VRU6*bZKp6C@COgZ*FsR03%^#I5ae7H8Wv3HZU}1Vl*;lF*r40IWaadHeok1V`5}Z0XYVK0T&25I%#uXW^8X^bZKs9UvO_}ZgeOqAY*TCb94YBVPZEmIAS?7Wo2YyWMeWnF)=bWI5B22HZ(LaVr6A8Gf)9J27Un-5jr|)b6;q0ZEt5~Ze?$Eb0}_aWMyA;d2nSZAY*TCb94YBVK+HpF=k~qH)Aj}Vly*kVKQPlWH@9nVK_B8V>vTrHc|mO4}Jj`6FNF+b6;q0ZEt5~Ze?$Eb0}_aWMyA;d2nScAZ~ADWhy2q03%^#G-WwBHfA|yWMVQiFgY-0IbkqjGdD3dVKy^mIAUT{0XY$V0T&-SI%#uXXm4$AXJu|>Z*_AhZf|5|UvznJWh@|LZ*FsRAZ~ADWhy2qAY*TCb94YBVPr5cHZd?`Fl8|~W-u}}F*amnIWl54GBadjG-NPlHC6#R9ex292s%1xb6;t0bY*8{awsVvV{dMAbO0k^H#lTsG%-0aIX5>jGc;o~Gd46fH#A`~IW;&qH8o^3SOGZ(egPK(t5baH8KXDBHkV{dMAbO0k^Wo2e$WH2#dGGk>kW;SADWH(`DV`gDuWHUB1WH2^jTmd--egPKoAWi>QmWHVu5Wo9;HH#RvlV=^{kI5;H8V3|H)dfmWnndAHaKQuWj1CsW@TYDVq-KhIb&i0IR<_K7YI5!ba`-PC@COgZ*FsR03%^DH8Ns0VL3T6Gc__XHfAt4Fk&@jIX5{sHa0dhH8(M20XYVK0T&25I$?Aub7^{IUvwz|BVlD>WMwpEFk@k6VKZhmH)1q6Ffe5|GGbw2I5ab2F=b`}IR<6{84e(0Z*FsR061YaIW;$BGBROdGGs7jG-f$vHfCjEW;tSJW@ceEHE01j41NI@0y;WkVPk73DF7p3G-EY5WMyGBWjHrEHDxqnIc7LyW;A9oWid22GcqtVY5_TF0T~D&V{dMAbO2*FHZ?M1F=1jhFkxmgV_`94H)J(3W-vB2I5smmVl-?4IR<_K7XmsuW^!+CbSNnRBVjpXH#j&nI59FgVKQMiFf(H@H8f>6V`617VL3N5WHW97Ic@UB2G&W>mHfA|wGGSvgVl`qnH)b|8Z~-|6egPKDwnF=aV4W@ThEFkxk3H!@>kIAk(5ICud$41NI@2s%1%aAk5~bZ>H7T_|&DdSzd9DF7p3I5jh3VPr5eIX7crG-P9CWi>ZrIX7fsGG=8nF*s#6dI32GdI1>@AY*TCb94Y@Ic7I9VKHJjH#cT7VPiHnGcq?}F*Pz|H8o*jIb$|_0XYm@0025VVRCX|c>rTfdUIy!7=Ze;)?VPY~dV_{=8IX5{tWH&HnGBsvpIX7WrH#9RdH#Re4V~qhLIyz%-Y;|pJ03%^BV_`OAFl1shFk?13WHL86G&e9aFflP^H)CcsG&3}f0V4=HI&W}ga$$6Dav)-FZ)_+jAY*TCb94YBVPj)rVKQbjG+{6|WH@3pH8Wy3W-?|rVqs=7WH&QoW`O}k28{tDFgiMKaAk5~bZ>GYJt$*uZgX@Xb8mHWV`X1(Z*ysMX>V>OEFfcVZgX@Xb8mHWV`X1(Z*ysMX>V>ODF7p3IWT5rV>o7EF)%SSVKFl`IAJq3GG;k3H!)*mVlX!|g8@Y@jR7MtIy!G~WpZJ3Z*n{+V{dMAbRctYb#h~6UvO`8X>@6CZYC@sV{dMAbRctYb#h~6UvO`8X>@6CZYC)JBVji;F*h+ZIWRJ2Vlgo@G&D6eIX7W3W@Iv9GBjm4V`PN^MJ|m2BPTjKZ*XODVRUbDJUl3KbYwa@Z*z2VWnpb5EFfcVZgX@Xb8mHWV`X1(Z*ysMX>V>ODF7p3G%#W`Vlp#hV`MTjVKOi^VKQSfGC4RnH8U_aHeq66hXF+;jR7MtIy!G~WpZJ3Z*n|6C}VGKb95kcZ*_8GWnXY_b7^#GZ*C?mAY*TCb95kcZ*_8GWnXY_b7^#GZ*C?j03%^yVmD+oH)A+8GdDCdFfnCgG&p59V>MmLV{dMAbRctYb#h~6UvO`8X>@6CZYC@sV{dMAbRctYb#h~6UvO`8X>@6CZYC)JBVjT&HZfsjVmLA~V=yu~F=I6|GB{*8WH2ygG-5enIA)6hMJ`+b06IEzZ*_8GWnXY_b7^#GZ*Bl{baHiLbaZcRY+o^7F>`Nqa${v*UvO`8X>@6CZZ2qaZEPe07dkq2VQh6}Utw}*03%^zF*7kXI5jY4Fg7G!C}VGKb95kfVQh6}CMf_TVKXy1H#0F|I5IIaVl`zjIXN?8H8nIhFg7=4WMwgCH;@523?u><2|7A&aAk5~bZ>G!D0X3Nb!8?dDF7p3IW;(BVK-r6Wiw`GIWRCeG-We1IAvmEWnp17VPQ37k^wmfBmx%;Iy!G~WpZJ3Z*n~-c42IFWnW=(XDI+9VK6v3H85mlW@cnDVKp^2I59OeWHmTsGB-6bH)A(b08)rATBO0DF7p3WMpD6Hf1?CGdMOkV>L2jF=b&lH)UpFWiewmVPr8dmH{~nBmx%>Iy!b?Y;|QQV{dMAbRc$NY;|QODF7p3HZoyjWi@0oH)A$qW-vKsWMefrIb~*HHDxeiFgY+am;pHqBmx&3Iy!b?Y;|QQV{dMAbRc$NY;|QOEFgAaY;|Q{W^7?+b148LVKy~oHf1UEloB=rpBmx%}Iy!b?Y;|QQc42IFWhN#pAa-GFb!A^>Y++|}DF7p3HD)$uHDNe2Vlrf7GiEh7G%{v4W@I&HVq-96G-fq9o&h-&Bmx&5Iy!G~WpZJ3Z*n|5D06gVIy!H2baG{3Z6+)rV{dMAbRc$NY;|QODF7p3Wid7|VPZHkFf?H_Wn?usWMN}6VPrOAHDP69Vm3H4paD4>Bmx&7Iy!G~WpZJ3Z*n0$C}VGKb95kfVQh6}CM+OhZ*FsRAa-GFb!9wMJ|-yuBVjliWHd50Vl^}}WH4emWH4npFgP|gWTXK(7bF4~89F*|aAk5~bZ>GzD0X3Nb!A^+a%U_cV{dMAbRc$NY;|QODF7p3HezCBFgZCiGGb&lFf=x1VL3EmWMpDFF)=wbFf=(arU5w@Bmx&7Iy!G~WpZJ3Z*n{+V{dMAbRc$NY;|QOEFfcVZgX@Xc42IFWjs_qCMf_TVK-)EV>D(sH)c6yV>4xDVmLWAV`DRAFgZ3kG&3?dVyFQ*9V7x589F*|aAk5~bZ>GzJt$*uZgX@Xc42IFWhN{jc42IFWnW=(XDI+9VK-zjGBq|eV>U22V>UK3VP<1EW;0|mF)%VVGdVXjFscDL7bF4~89F*|aAk5~bZ>GzJt%fzY;|Q{VRC0IAY*TCb95kfVQh6}CMf_TVKQbjH)b|DWHV(nH#cK2V=`qjVqq~hW;Qu7IXE#jWvl@?7bF4~A38d3aAk5~bZ>GzJt$*uZgX@Xc42IFWhN{jV{dMAbRc$NY;|QkR6Zst03%^zHeqHlHD)zAWHmE4WH~itF=1w9I5;mLV{dMAbRc$NY;|QOEFgAaY;|Q{VRC0F03%^AVmUBnG-fz8Wn*DxGGjO~Wi(=8IASz1VPQ36WivFe0XY{W0v8`TI&W}ga$$6Day>mLV{dMAbRc$NY;|QOEFfcVZgX@Xc42IFWjs_qCMf_TVKQc6G&D9bFfcGQH)Jq1GGs7gV_`C5F=jJnHZU+aHL?LY9V7x589F*|aAk5~bZ>G#C}VGKb95kfVQh6}CM+O!VQh6}Utw}*DF7p3V`VsFFfe5^G&N&3Ib~%zGi5boGGb&hWM(!wG&3|Xv;jF6Bmx&1Iy!G~WpZJ3Z*o2;c42IFWnW=(XDlFNZ*FsRAa-GFb!8?g03%^$GB7Y^GGb*kGB-12WH320GdDCdW;9|sF*s&8Hf1)p0XY{W0v8`TI&W}ga$$6Day}?yZ*FsRAa-GFb!8?jAY*TCb95kfVQh6}JXAg=DF7p3VmUQrFgIa0W;8fuG&EviWoBYwV`64CW;QT4GB`6gxB)pGBmx&1Iy!G~WpZJ3Z*o38C}VGKb95kfVQh6}CM+O!VQh6}Utw}*DF7p3I50FZH)1s~H8n6dGG;O`WHVtlIXE?BF=973VP-Nhx&b*CBmx&1Iy!G~WpZJ3Z*o38D0X3Nb!A^+a%U_cV{dMAbRc$NY;|QODF7p3H!?S6GGSw6GBIUjW-v5iF*GzeF*sx~H#9deHez8mya72EBmx&7Iy!G~WpZJ3Z*o38C}VGKb95kfVQh6}CM+OhZ*FsRAa-GFb!9wMJ|-yuBVjOQVq|4uI5IJ0IXE>mHe_WqVm3H7W;8W0H83_dGdI2gIUOVd7YI5!W^7?+b0{ewV{dMAbO0k^F<~+>GdVCgVK*{4H#9jhVK6skHZ(UmHa9pqH)dmEzyUc1Bmx%=Iyz=-VP|tFc42IFWnX4&VP|tG03%^EGchqZGB_|bIAk|9VrF4sGGj0?V>2^3HDoY3GdMNE0XYjK0v7^0I$?8PVRCX|c_=9WBVjdVGG;Y1GdN*mWi>W8Wn(vDV>dN5I5;(8H#sw7FfqgdIm7`P2q0r`ZgX@1WH&G|H)doxWo2VGG&eOiG&wdoHZVCgHeoq3WHw>O0XYUF0v7^0I$?8PVsCG3Wnpe8DF7p3VlXy0Fg9XlHa0kBG&we5He@n1WHvZCF=8_`Vl*~1$N@RX0T~D&V{dMAbO1A9I59RiF=R72VmCE2HZx*jH)AqlGiGEqVmCH4G-1jCIR+#G7XmsuVRK((VRU6EDF7p3W@IokW-~cAWi&EnIX7cCV>4wiG&N&1Vlg>lHZVD5%mF#f0T~D&V{dMAbO1CkGBh`3F)}!2GG=CEVl^{3Hf3crF=8@dI5c84GGxvHIR+#G7XmsuVRK((VRU6*bZKp6C@BCVVKg~oW->Q2W??X9H!)&2GdVLjWM(&HWM*b#V>n_lW6%LP&;c0;AY*TCb94Y?GC4P6WHDl4F)%qcFl8|^HDxtnFk?40WnncjW@a?f0XYUF0v7^0I$?8PW^8X^bZKs9UvO_}ZgeOq03%^yIW;*nH)dfnGc{r{HZx-}GdN^9GBq?ZH83+ZFf}>U0XftG83-U_Z*FsR0A?~_Gh{F|VlriBF=l2pH!?XfWHV$mV>UK0VmLNrHr4?-1|$L(0y;Wjb6;t0bY*8{awsVPBVjQ&FlIJ3V`F7xIWcBqGB`LkV=^*iW;bLsHD)+wH#67)IoJUi2q0r`ZgX@1VPi01V`eZiHe_aEIWRLbG&y5sG&wUeF)=kWW;Hcr+5tHRBmx%#IyzxMmIDF7p3Ibk<3H#ajmHDzKoH92K6Wn?mAF)=qdGcsghV`Va7+yOb<0T~D&V{dMAbO19kHfCWpVliSeH#RghG&f^7WHm8kGdM6eF=jV8V=>+VIR+#G7XmsuVRK(}VPb4$C@BCVVKz84IX5VKiemVq-KoW-&Kr=m9wfBmx%*Iyz}{Utw}`VR>I~W?yt+Vr*q|C@COgZ*FsR03%^GHa9jmH#TKrW;rxCIWaggHDfk4I5aadGBq+|VPY`q0XYUF0v8B6I%#uXVsCG3Wnpe8DIjBSZgX@1BVjf;F*ajlGG=07WivHpGBG(hFk~}iH8wFeWMMTqHDT-lIR+#G7YI5!X>(s>VRU6EDIjBSZgX@1BVjZ*WnyDFH)AwnH8D9kIb%36WnwTjGh{S1Ght&nF*fc2IR+#G7YI5!X>(s>VRU6*bZKp6C@COgZ*FsR03%^BWjJPHHeoY2W;QiuW@b4#VKy@{VPs`9G+|;kWMVY%0XYUF0v8B6I%#uXW^8X^bZKs9UvO_}ZgeOqAY*TCb94YBVPQ35Ghtz4H8(e7HZWo`G-fj~H8n71IAS+pWMnouX7T|!1|$L(5jr|)b6;q0ZEt5~Ze?$Eb0}_aWMyA;d2nSZAY*TCb94YBVKz2qGcjahFlJ>mVPP?0HZ^8uW-()BGh$*mVr4O9V)Owy4Z*_AhZf|5|UvznJWh@|LZ*FsRAZ~ADWhy2qAY*TCb94YBVKgvgG-Y8jW@a#CGdVLdG&N>pGcjalV>V$hW->QsV)y|$9V7x52s%1xb6;t0bY*8{awsVvV{dMAbO0k^WHn+jI5ae4F*q<`FlJ&hWMwcmWn?sCWMX16H9284`T;oxBmx%*Iyz}{Uv716Vr6nDDIjBSZgX@1BVlATFkxgiG-NqpIA$<1H8y26H85d0GBP$~Vr678GBNxCIR+#G7YI5!X>(t5baH8KXDBHkV{dMAbO0k^IXGlAH#cH8Wo0onF=RJpV>UQrG&yBqH)Az2VKXr_{sB1#Bmx%*Iyz}{Uvyz&Y-K1ZAY*TCb94YBVKgx|Ib~!rI5cK6VK!tlF=aS2IA$?1H)LZnW;0}FFaQEM1|$L(2s%1xb6<36ZDlAaAY*TCb94YBVL4$jVKQYfVKFr^I5A^3Ha9n9F*IQ^I59G1Gc-6iI06DW1|$L(2s%1xb6<90Y;|QQDIjBSZgX@1BVjdUF=RP7IAJ$5VPZ97Hf1(rVP!ctFg7?jF)%nYW-|l=IR+#G7YI5!ba`-PC@COgZ*FsR03%^GIb~!pWHdEpGGt{nIWjqBWnnWjH#K8qHaIypFlAx}0yzdG0v7~2I%j2cC@CN&03%^$HZV6~I5RXiWi>f5IASw3W@BbzF)?L0W;bLsGdVa20yzQ*0vQD+05D=SWnnisF=99~VKZYfHZ){rGBhzVIb<+pH#0LdF$w}X10(_$3OYJxWppShAY*TCb95jk03%^DVK8N5Ib~rvHZU|~HaKEoIbk_rG&VUhI5s$DIAk~s0yzi_0vQV?0A({`VmUQsH(_QpHZn3~Wn?inGcq`0I5Ib3HZV9jWDWv32_ym+3OYJ(aAk5~bZ>GXV{dMAbRc$NY;|Q{ba`-PCMYQ&V{dMAbRZ@GBVlD>VK-(oI5lH8H8WykH)b(0W-vE3IAl0sWiv80Vm1&0IS3>I7X>;xZ*XODVRUbDAY*TCb95kfVQh6}UvznJWhN#lDIg{$03%^#W;tSFH#jq8H)A+rVKg^2I5RjmG%{j0V`gJBF*i680yzUD0v7~2I&W}ga$$6Dav*kLY;|Q{ba`-PCMYQ&CIBO0WMO77G-5R|W@TYAVq{}8WMMNoW@2VGGh;F|Fk&-e6aqN{Bmx%&Iy!G~WpZJ3Z*m}ZVQh6}UvznJWhN#lDIg{$03%^!HDoklF=IF}IAk|4Ff?LgG-EU}GBG)2WM()tWMnxO0yzUD0v7~2I&W}ga$$6Daw;e(ASM7KVK6l`V=-o8H#s(8G-Wk5Fl01gW@0ioFfln|VliQ5W*7oF0vG}r1ttJCG+|^pG+{9?I5uTvWMpMAVL3ErF*0T_GB7kbIAk&!0yzUD0v8H8I&W}ga$$6Daw;e(AY*TCb95jk03%^BHDxt6GB`G5F*jy0F<~@hH8wY8VPs@tGd43eIA%B;0yzjA0vQV?05>%e`BV>vNmH8(kBG&p2pHeoR}W-~ZAWgY@K2_ym+0y;WxaAk5~bZ>GkJ}4;wBVji=IXE*hGdE>6IX5^oIAdZsGGRG2Vlp;0VlXpgG-MzGIUoWV2q0r`ZgX@1GBaUfF=I73VrDdDV>Du8F*#y3W??gCV`eisIWadeA_6%ETmS$%I(A`fb!7l!Y+-YAbZ>2JUol@Xc42IFWiDuRZERcs06IEpZgXXFbY*e?b98cbV{~+HZERmLUomNJb7gXLWpXZPbZu-e0wFp&WMyVyb!>EBW^7?+a{wb@W-&G~W-wtkV>dZ8IW#q8I5lE2F)(FiI5lHpH#lWEF9IPUIy!k_ZERm=Z*py6baZ8MC}VGKb95kdZ*6QkI&N=dWhN{jW^ZzBVRT<+Y++|}DF7p3FfcedV`OACF*js6W;Ql7F=b>iFk?7mWMVa9F=H_?CjvtsF9IPcIy!k_ZERm=Z*py6baZ8MC}VGKb95kdZ*6QkI&fifb7fz0Wpj0GbS5kyW^ZzBVRT<+Y++|}DF7p3GG$^lFk>`1I5TE9Wn(fnVKgx}Vr6D!W?^GxGBaXkDFQ<$F9IPTIy!G~WpZJ3Z*n|5D06gVIy!H2baG{3Z6+)rd0}mAUuJJ|ZDDkDWpXAd03%^BFk&!cI5{#kHf3TmVPZ68VKQPgWim5nIALTsWoBk80z)1z0wEzfI&W}ga$$6Day&dJb97`nI&X7ya%Ev{CM+O%VQp+*W^ZzBVRUq5awaAz03%^FFl00~Gd3|dVq;@sHa1~7V`OG9F*7+ZGcqw^WHdJ|0z)5M0025Vd0}mAUuJJ|ZDDkDWpV&xY+-YAbZ>2JUol@Xd0}mAUteZ#a&2LBbY*fbXmo9CHv%C#I$~vKX>I@`VPZ2jVKro8F*PzUF*r6fVKFmiVm2~3W-~J}F*!D5FgF4rIyz-;WB?;!Ff}weG%#W`GGt?BI5RUjF*Z3jWn(g8I5s&jH8U|}Hv%C#I&fihXaFN&GBsvnGBaj1H#ucwVmM)DV=y=|IAbs|Gh;PjV>M(qHv%CDIy!f0WMyA)VRUFHDIjBSZgX@1BVjmYIWaLXV`MZkWjHf5W;r!wIbks}V>LNBFgar}V=yxULk2ejAtgFGZ*XODVRUbDJUl3KbYwa@Z*z2VWnpb5EFfcVZgX@Xb8mHWV`X1*WoKz`ZYC)JBVjpYWjJADGBjZ}FgIahWH326Vq!EgH#s#jFlIA1Gc+{|zZ*FF3XLWL6bZKvHE@*UZY$Io3FgY?XG-hRDG+{GlW;Hc4G&V9bV=`i7Ff}q{V`XD7R8LJzUqwzqLQF+pMo&^rK~z*lQd0nDa&L8TUteQyZf0p`b#h^JX>V>WXmo9CBWGbbW@9%uH8?V4Ib>xwH)b_CWHMxAV>w}EF=jV3IAdW{Pfbi;MNUCNOhsQ%K~hsiQUGUiZ*_2AUt@1>W@%@2a$$67Z*DGVbZu-SXJIiiF*z|ZWH&WrG&V9cWMwvCVm3H6G-Wg~WH@0sH8NCBO-x@!PC-IUMPF4;QbkNfK~qIUUq(eiR8>+%QvhdjZ*_2AUt@1>W@%@2a$$67Z*DGVbZu-SXJIihF)(IkH)Jt5Ibk<9GdN;7F)%q~F)}b_H8wb6HeysyO-x@!PC-IUMPFA*PDD>vQ(r?*O;ABp0B3Sim2OkYJluVKic6VKX^1W;QTkH#lNsVKy`~VpLB}OkYJV>WXmo9CBWGb`W;HQ2Vq!O8HextqWj10lG-75rHe)zBHZfr~Gh<>@Pfbi;NJT+JMN(f+PE1(|zZ*FF3XLWL6bZKvHE@*UZY$Io3I5IIgVrFDFWj8f7I5#yhHZwRiVm2@`GGa0~VPa!4R8LJzUr9|+OhrvaPE|zZ*FF3XLWL6bZKvHE@*UZY$Io3GB;&qHaR#mHDNJiWM*bLWMW}vGcYkVVl-kfIAJj{R8LJzUr$g}Nl#8eOkY%4P(=V|a&L8TUteQyZf0p`b#h^JX>V>WXmo9CBWGbbV=`kfGiEq8H)UcrWH&ZpHD)$7VlXykWnwWgI5uTePfbi;Q%ylkOkYM!PeD{)R9R3(0B3SR9R3(0B3SLHqVKy^1Fk?4nGGbvcIAb<2WieqmF-&PV>WXmo9CTmS$oD*$P3WMz0RXmo9CPy!wZIyz)!b7OL8aCB*JZYU`rV{dMAbO0k^H8nUgWjSOvHfA_sVKZhnWo9%qGGj1dFf?Q}GB`43N&-LzPy!wZIy!T2b#h~6C@COgZ*FsR03%^IF*Z12G&wXeGcYwaH8f*pG-6>mW@9-vWoBeBH8C_y0zd{(0v;neI&W}ga$$6Day&dJb97`nI&X7ya%Ev{CM+OhZ*FsRAaG%Fb7fy;a&m8SCMf_TVL322IW{;qI5;;qVlrVcGB`6eG-ft5Gh$^oGBsmnHckRSAzT0eIy!J+a&u*0WpZ+FasXp&VRLhIZ*6Q}F<&uoVRCb2UteW%a&K}jXmo9C69X3xIy!G~WpZJ3Z*n~-V{dMAbRcwLVr*q5DF7p3V>Du9W;J1CWjQrrV>MxBVKg@~VP!EgF*#y5VmLWuQ35#(69X3sIy!G~WpZJ3Z*n~-bYWs_WhN#m03%^FV>M=EFl8|@WMVinIALNkHZ)~pV`DisWM*V!HZeI<0yzg00~Z21I&@)TY-K1Z03%^IGBai{WHU23HDoemIAl08GB9B`GG;e8V>UN8VKX&V0yz@{7Y;f)bYWs_Whi5BZgX@XbYWs_WhN;ABVjmWFg7_fF=a3{Wiv50FfwE`HfAz5VqrKmWHB^iGBZ~KISdm67YRB#bYWs_WhiuEVr*q5CMf_TVPZ5lVK+8mVlp%`VP;`5GiEViH#B86Win!8WMyPDG+6>U2NMGqE;>4NVPb4$D06gVIyz}?X>@5}Y-xIBa$js|b96juZE$QlI&@)TY-L|*ZfSI1aA9e3J}CerVK-)EV>L2kFkxXaVq`WqVP!TqGdN~2GC4OmH)3NlW?KR|EE5A49XdL1aAk5~bZ>GzJScN?WI8%;b98cLVQnTXAY*TCb95kdVPb4$CMf_TVKZbnVP$4zW@9-wFflYYGGsDgGchz_G&5vnVqrF9GF<{W8xsQ;96CC0aAk5~bZ>GYJt$*uZgX@XbYWs_WhN{jV{dMAbRcwLVr*q5DF7p3Vq|4vHDoztIc8%rGh;9_F=ID4Wi>Q3V>U54Hf3QpUjjKA69X3?_BVRUbDDF7p3G-P3BVl-i8F)=n|IWl2nWH~o8Wi@6pH)c3EFkv}lX977669X3@Iyz-?VRL0DV{dMAbYE$7WpZJ3Z*nXkV{dMAbYE$7WpZJ3Z*nOBBVjc;W;A4EIb}35VmC8mIb$(pV>B}{Gc;mlW;bOqF*9ibIUW-O7ZN%;WpZJ2WhirWWI8%?baH8KXJ2+{Wp^n6BVl7UFg7$~W;13sW->EkFfuYYI5aakFkv}4HZx-}Vq;A7ZW-LH8WH&K3Vl-wlGGSt3F=S#hV>vf9a{@UV69X45Iyz--aBN{?WnXA%ZgePPZ*FsRUukq@a$$6Dax5TAWqDM2aAhVYEFe~4Y;|Qpa%XcOCMF;*E-onmBVjOPGBYN06a&#z5WqDM2aAhVYEFe~4Y;|Q+d2nSWCM+O!VQh6}UuJA!XLBh4BVlD^G-EkAG+||9H8LN06a&#z3bY*fZAW3v(ax5TrVQh6}UuJA!XLBh4BVjW$F=b*lWMwckWH~isGiEn7VrDipWj1CwG-NbkWHxyMITsTH7bQA6X>N06a&%vBa$jL{b7^O8C`)B|RC#b^CMGN(R$**)WmI`^WhN#pAa-GFb!A^>Y++|}DF7p3VKFu^VmC2mWHw@BHfCcsGdN-~IbtG1BVjf;W@TYGV_`XBF)%SWW;r%DHD+WpG&W*6W;8W1GG!A37dkp=bY*g3bZ>G1BVjlCH7V>K~2H#0L~G-MM47XmsuVr6G(ZYU`LBVjW$G-fb0Ff=kZWnwZgV>mT4FfuhXW;A1DHe_UEW;1^RIe!8h2q0r`ZgX@1H8N&7IW;t8Ff%YXH)1wsH90n6Wim4|I5T2oGh=}QIR+C07YI5!V`61zX>KSfAY*TCb94YBVKFsfHD)+sWHw|mIW%TtVr4lpHDNL|Wi?_qGh#7jVuJ!X1``7p2s%1rWo~3BDIjBSZgX@1BVjW!F*G$XGB7!2IXN&nGcjdhGBr3dIAb<2IWadeG-ibYIR+C07XmsuWo~3BDF7p3IW}ZrHa9jkG-EYmVKFl?V`gPzGG#MkFgIagGB-0YhXOf=0vQM(V{dMAbO1CkV>dEoI5A{pF=SyjHexq0I5T5mWHB)`G%{miFg1w+IR+C07YaH$W^Zy|Wnp7zC`NT|VOKeISCU37Z5r+W^Zy|Wnp7zC`NT|VM$3Ze=K9Z*OcV03%^IWj8rDVKz83W@a*CVPj-5G-NkrH#9aeWn*MAH#jhr0yzW|0~ZoHI&W}ga$$6Da$8*}b97`nI&*Y#X>MmM~Ub97`nI(Kt)a%pa7Uv_C_cPSuaZ*FsR03%^HVr64EWHdE1H8WvkWnp7EF*r6hIAJ+vV>M%9HeoWM0y!5G0~ZoHI%a8ZWGHiVWI8%?baH8KXJ2+{Wp^n6BVjN&H)UgDIb=CzWHdE4GGsS7W;io5G%;o{V>UE1V=$uvIS``)85kgAZ*FsR05&yYI5{*lI5A>jVl`xBGGb&fFg7_bIWsY3WHL56GNl4J783&(6FNF(X>MdFb97`nI(Kt)a%pa7Uv_C_cPRiPVPY|6F*0E|GB+|YGGsC{Wo0lpIW=ZvVL38kH8C+WW2XW+5vKwf86abCZgX@1GBsv6W;9_qV>C85GB7kUWH&WpI599dH8x^oHa9kAsRB6{69X3#Iy!7`cV%*4VsCYBWGHiVWI8%?baH8KXJ2+{Wp^n6BVl7>H8D6aWH4qkVliPiIA%08IW{t8GBh?}HDoz9Fg2?JIS{J?85kgAZ*FsR05f7XH#lKqHZWu`FgH0cGcY(}IW}fBWi>HmVKg!~G_3+T783&(6FNFMmoI5T84I5aRaIAvxvW;8Z7W;kRqWHU5oGch%>0y!5G0~ZK7I%REeba^N#AY*TCb94YBVKp^0W;8i9W;SLrWnyDFIWuBqF=AveGdDRjG&e9cF|z_W1``7p2s%1*X?kTSDIjBSZgX@1BVlAWV>B@^H8?diV`DfmH)3WsWj8o6W??sGVliSiWHz+|IR+C07XmsuVRK($a&lpLC@BCVVKz52Vq{}sV>vl6Gh#PnVK6XbH8?plW;SFuW@R{KFt-9Zw*namAY*TCb94Y^GGt_7H8^BrG%{j0I5J`|V>32kGBY+eWH~fAIW;%A0yzc~0~Z21I$?8PVsCG3Wnpe8DF7p3Fk@skG%+$}G%#Z_FfchYIW{ykFfuqaF*js4I5}fxy8=180vQM(V{dMAbO2&wGG;L{HeoO{IXF2mH#0CeGcYzaHa0S3W;tayGGe^~IR+C07XmsuVRK((VRU6EDF7p3F=91lH!w0aWivQ8WnwWfW-&HoG-5MhH#Re5Vl^-^zXCbG0vQM(V{dMAbO1FsH92NtHaImhG&wanHZ(XgH)c6GI5K59V>n}FF*3mdIR+C07XmsuVRK((VRU6*bZKp6C@BCVVK!kiGd3|dW;bLuWH~iuW;QoAV`VU7VlX*4WHLE7Fv9{l!vYxyAY*TCb94YQW@I%pW@BP7Gd5#0Gc_32nH8C_}Gh#I~WHn~T0y)P583-U_Z*FsR0AXe`FfwH`Wn^SHG-PHpV>2-~HZ^8uVlg#gWn?gBGRXot1``7p0y;Wjb6;t0bY*8{awsVPBVjdSI5sjkF*Y(VVqr5hWoBVwW;bOsV>DuAW;r%DHDb#GIm-eW2q0r`ZgX@1IXGi7IW}cDVKy^0F*z_|VPZKqWjHuCV>mNrGBz|g%>p?F69X3lIyzxMmIDF7p3VK`+oIWjO}W@a@uIb>yJGc#soIAt?5W@chGGd3|~&jLBm0viY*V{dMAbO2#uGcsi{Vm2^lHDWVjFk)soH8VLdH#TE9IbmaC(E>RJ69X3lIyzxn_sH(_IAF=jbtI5smlG-NY3H8?plW;J9pW7PsV1``7p0y;Wjb6<36ZDlAa03%^JI51{5F)=hbGcY)1F*!3bI5J{5W;J4FVP#}tGB`BX0y)B}|HZwS4G1&q+1``7p2s%1xb6;U{a$$KWDIjBSZgX@1BVjc*WHC54VKFykIAt<4VrF4EFlJ#kH8(hAH)1n5H!|A-IR+C07YI5!X>(s;a&lpLUvFk#bYWs_WpgMgAY*TCb94YBVKp*kHe@trHa0h9G&VG0G&x~oG&wRjV>o4GGcjgmW8DHd1``7p2s%1xb6;X_Z){~@ZYU`rV{dMAbO0k^HZWr}F*i45HDoj~F=H}jIAUcpFlI1fIXPlBI59Xm-vT)X69X3rIyz}{Uu0o)Whf~iV{dMAbO0k^GcYwWW;bFoVq;}CVPs@DWo9)nWnnirV>LN5GdN>3;Q~1Z69X3rIyz}{Uu0o)WnXk@ZDlAaAY*TCb94YBVKX>nI5K5sWjSOvW@9)xVl^=|Fl9AiVq|1xIWaOfWa9!k1``7p2s%1xb6;j`Z(($4Zf9R`Z)t9HC@COgZ*FsR03%^GWnpGvVPY{jF=9AlWimE1GGaAjFf}zcIW#e5VmCJB0yzc~0~ZlGI%#uXXm4$AXJu|>Z*_AhZf|5|UvznJWho$IZ*FsR03%^yWiex8G%__aGh|~iFgRi|Fg7w|WimE4HZ(UeW?^CH0yz&80~ZrII%#uXXm4$AXJu|>Z*_AhZf|5|UvznJWh@|WZ)9aECMf_TVP-L5GG;V5Wn^MvGht?7IWsmhV>3B2H90jnGcY(bHt7O65fcL!A38c|b6;q0ZEt5~Ze?$Eb0}_aWMyA;d2nScAY*TCb95kXZ)9aECMh6eZ*FsR03%^IVK8AhWHeN37XJv9IDIjBSZgX@1BVjRNIASn0V>o1GGc+?}W@a)lVl+1~I5}i9FgZ9jGGgrlIR+C07YI5!X>(t0b!}p0awsVvV{dMAbO0k^I5{&pGB7YOWjHx9I5s#nG%#i`H8C@0G-72mHDX~h?*cgn69X3rIyz}{UvqSFX>MmIDIjBSZgX@1BVjgTW;JFrHa0dlFgZ9mF=I7jHezLBVK*>1Gc`6aG-2@qIR+C07YI5!X>(t6VPb4$C@COgZ*FsR03%^CV`OGwF=k{lWjSOuV>UEnVl`wmFgQ73F=R9|G&E)N0yzc~0~ZK7I%#uXbZKp6C@COgZ*FsR03%^BW@9!qHDozAHDhHmVlX!|G&p53WjSUzFfuu0Fk>K`_IbmdEGc`0aHZU|aW-~T9W&Hv<783&(6FNF!bSQIlWI8%`b98cPZf9S1X=QgQ03%^#W;A3rGd4M6W;QfoH8wLcGGaM4W-(zgHD)(9F=ICW0yz=?0vZ`0V{dMAbO1OsGC5*qG-NPjGh}2jHDWk2Gc+_}H8(Y7V=`eeH30)T7ZU>)5;{6(WppTWbYwa@b98cPZf9S1X=QgQ03%^#HaIacWnnjCHaRk3V>dB4I50LjGi5R|HDfk5VP#|k133@_0~r_~V{dMAbO1CnVP;`vG-fw8FlIL~HDfk8VlZMjVPP;~H)UopH!%eRITjNG7ZW-|_V>UBnGdMM7I5;sdGBRUfVmUZCH#9V32?IG769X3#Iyz@%bYEd}D06gVIy!T7a%pa7Uv_C_cPRiPVP;}EHZWs3Vlri6I50LgW;ro8WHK^jGc-6iH8?dfGYbPb5DNnt7$9SBZgX@1VKOmdIWc8rGG$~mIASt1VrDitG-5Y4GG;I_V>UQ64FfqA69X3$Iyz@%bYEd}D06gVIy!fAbaH8KXJ2+{Wp^n6BVjW#VrFAxF*z_}VmVEBW^7?+a{wb@G&M9aVKg>2GB`OjV`VrwGd5;6W-?4tiGdVJ0Vqs!AF=Ayo6$3*b9RndLIy!1|Z*E^^Z*py6baZ8MC}VGKb95kdZ*6QkI&fifb7fz0Wpj0GbS5kyW^ZzBVRT<+Y++|}DF7p3H8D3hHDO^mWo9!sGhsO~Gd5*7IW}ftW?^DvH8Wym7Xw2l9RndCIy!G~WpZJ3Z*n|5D06gVIy!H2baG{3Z6+)rYIARHUuJJ|ZDDkDWpXAd03%^CVmLTrV=^-^V>LKAV=-o7WHL2oW@I>IW;r%uH#B7#14AAi10f+gI&W}ga$$6Day&dJb97`nI&X7ya%Ev{CM+Oob8l{6W^ZzBVRUq5awaAz03%^FWo2e%G-WkoVKy`{VlgsiVq!2kW@I%oF=b(5Gcz?C14AEN0025VYIARHUuJJ|ZDDkDWpV&xY+-YAbZ>2JUol@XYIARHUteZ#a&2LBbY*fbXmo9CXaf}jIy!4*c_=9WBVl7XH#lWxWHVwkIAvonVKrkhG-fb3HZeG5G-P6BGBX|nH)sPDBRV>3WqBxbbYwa@b98cPZf9S1X=QgTAaieZa${v*a%E>}Z*C?gDF7p3H8C+cW-&4{V=*;0I5%N3W-w+rF=8?|Fkv<_H)LfpAOklcXaf}}Iy!4*c_?#qWI8%?baH8KXJ2+{Wp^wfV{dMAbRctYb#h~6UvgzV>ODF7p3FgGzcWnwZmW;A3uV=-YgV=!i7IWjn9W@0d8HfA_6A_F%jXaf}>Iy!4*c_?#qWI8%?baH8KXC@{rAaieZa${v*a%E>}Z*C?gDF7p3H#j(AF=Aq6VP-ZnHe_RCV>DqmIA%CAGGb;iGBaf`Bm*}dXaf}`Iy!4*c_?#qWI8%?baH8KXC@{rAY*TCb95kcZ*_8GWnXe-XK8P4CMf_TVPZHoW@a@xFlI6`GGsM3VmM|rHZw3eFflSYIAl0vVI~7NBWME^9y&T}WqBxLZ*FsRAY*7@aw;q!b8mHWV`X1*WoKz`ZYCxv03%^JI5B25Wo0sEVq`cnGGsJ2WH4egG&f^4WM(xrW-&1+12-IK0~I4WI%{QlC}VGKb95kMXkl_HEFfcVZgX@Xb8mHWV`X1*WoKz`ZYC)JBVlAUW->NnGdD3eGG#L~VK`$qFl9J2IALTrIWaLeF)%6vHz8;P6(l-3Yh`&Tb97`nI(Kt)a%pa7Uv_C_cPt=tZ*_8GWnXe-XK8P4CMGEWBVjf-V`gP!H!(M3I5ammGht#gW@R>IV=-bkIWsn9VK*!THzH^Q6)8G8Yh`&Tb97`nI(Kt)a%pa7Uv_C_cPt=dZ*FsRAaieZa${v*a%E>}Z*C?j03%^yVKQT4HaTQsIAdXDH)CRBHZV9jIbkqmWj8i4IAk*}12-pV0~H%OI&W}ga$$6Day&dJb97`nI&X7ya%Ev{CM+OhZ*FsRAZulLCMf_TVK+EsVmD!CV>UTuV`MitW;A9tWMyP9HZo>1W;bPFH!uS?8E69)7&GYJt$*uZgX@XYh`&REFfcVZgX@XYh`&RDF7p3F)}qZWjQo3Ff=$}Gd40}WMMHeWo0rnFk&-iF=l3EG6OdjXaf}9B2a-9y&U2aAk5~bZ>GYJt%W@WI8%?baH8KXJ2+{Wp^wfV{dMAbRcVGc_t|UBVjQ%HDWR_H8)}~F*GzYH85f^V=_50W@chAIW;yhGBP#;HymgK6&N}?Z*XODVRUbDJSbytZgX@XYh`&REFfcVZgX@XYh`&RDF7p3H(@qrG&y21Vq|7BWim4~W;ZoCI5aphVKiZ8WHn@BI0H8pXaf}MmMmx4DJOeizXaf}(Iy!G~WpZJ3Z*n|6C}VGKb95kUWqBqnAY*TCb95kUWqBqk03%^#GcYh>WidB5IWje3F*0H|Gc`6iWidH4V=*)|G+|{v12-0E0~H=RI&W}ga$$6Day&gKV{dMAbRcVGc_u6%b97`nI&*Y#X>MmmE4W;kOsW;kIuKm#`%Xaf}G!Jt$*uZgX@XYh`&REFfcVZgX@XYh`&RDF7p3VKHPjGd5vlFg7t^WHMtoWivBlHZnP7F)=b?VqrC9L<2V#Xaf}0Vlp>1Ha9soFf%wcVP-L7IALWrHaRddIb=6vWJUuw9B2a-9y&U2aAk5~bZ>G!Jt%W@WI8%?baH8KXJ2+{Wp^wfV{dMAbRcVGc_t|UBVlD^G+{R}WMMdDFlJ_AH#KB9G&f;lGGj6}IW#z7F=I#rHymgK6&N}?Z*XODVRUbDJ}6^vZgX@XYh`&REFfcVZgX@XYh`&RDF7p3Wi>HmV`eaBI5uKsWH4qnW;J7FGBji}GB#r{Vqs)sN&`0*Xaf}MmMmqH8Ei_Wo0&GHZe9~VK6gcIAmowVl-kfP6Ia_Xaf}(Iy!G~WpZJ3Z*o38C}VGKb95kUWqBqnAY*TCb95kUWqBqk03%^DV=^!>H8W;5WnpDGFlIS4HZ?OfVL3H2GBsv3GBROM12-0E0~H=RI&W}ga$$6Day~sMV{dMAbRcVGc_u6%b97`nI&*Y#X>MmUN4G&wjoVN?S*9B2a-Iyz%-ZgX^BX>?_BVRUbD03%^DIAJq0WHm4`FgY_eF*!A1V=^!}Gi5X~I59RgH8C=10~I?_BVRUbD03%^EFk>__Vq-HhGc!0dWMVZmIX5z5H8(XfVmV=CG-PCG0~H85I$~vKX>KSfAY*TCb94YBVPY{hIWajkHezKoW@cqEV>U1}WjJLvHeq9AV=^;0Wmp3@2518n2s%1tZe%DaAY*TCb94YBVL4(mH(@a_Vl-i9W-(LK2H#BB5IXPxDIWaIWF)=k|WiU86W?lm~2518n2s%1tZE$pXC@COgZ*FsR03%^CVqsx4IA$_7WMN}8VKFdaI5RRhH!wD4IWssmG%+_|12+a}0~H85I&5WbXLM*NDIjBSZgX@1BVjdWW??fjGB##mHa2E4Vr4NoFflhcH8(P0I5%N1Ffd{RHwI_}6$m;yZ*XODVRUbDAaitNIy!T7a%pa7Uv_C_cPJ?!V{dMAbO0k^FlIG4FgP$aV=y>5G-Y8pGB9H`Gc#d1W;SIoW??xoWCJ$_Xaf}pIy!T7awsVvV{dMAbO0k^Fk@jiH#ucEF*YzbF*Y(cW;ZxFHZ?XlGchC76>{zb8mHWV`V5QAY*TCb94YBVPP{jIA&opG&5vjVmD+rVq{`8FgG(bH!x&kVKruCV`&382H67^5;{6zbYE~`bZ97ZbYwa@b98cPZf9S1X=QgQ03%^CFkvubW?^GEW-~E1G&waiG-P5mWI1JJVPrNiIc7O)12_2;gHeon5FgIpmF)}taG&D3~Wio98I2PFh785!;VRT<`VRUFHb97`nI(Kt)a%pa7Uv_C_cPRiPVL4(nWH~i5WiT;fWHM%9W@R^HGcY$~HZf#0VKOu~W^V&H5pM$+86abCZgX@1V_`RCGBjgkFfcbTV`VZjHe_XHWH&KoVl^-^V>DxAaRWFP*#i~`Iy!G~WpZJ3Z*m}RZ)9a(c4=jIJY#Qeb95kXZ)9aYC@COgZ*FsR03%^zH)J+BH#uWBGBh@1H)dgFWjJGDG&o^lWM*S!Wi~i-12_iR0~P{0I&W}ga$$6Dav*MRWMyA=X=QgjZf|5|J}4;wBVjN!WH>M|WHx1EIWsgeWHM!CGGQ||G-fb0Gch+cH#2nuIN1Xh0y;Wjb0{eQBVl1UF*so{GG=2iGBGk`HDxq0Hexe4W@BbCFf(R2IXQO&ICldW2q0r`ZgX@1GBIQ~G&nJ3VPa%vFlAw7WMVlnWMpM!W??xsFk@pec>_2G*#i~=IyzxIWuK7G-YBrG-EbnVl+5pGBhwZHa0mpGiG5lIWvC)IDZ2e2q0r`ZgX@1G&N*oGc+?cGB_|~Wo2SBFgGzWH!?RkW;ii6WjJLyfde=O*#i~=Iyzx354F)(3fGB;*pg#$PS*#i~=IyzxvZuV=-f9HeqEkGG;V5WiT)>VlrWe12~5R7ziL^Z*FsR05@beVmV|qWMyV$HD+dGGiEU}IXE{lHD)zsGcq+|Gl>H@2H67^0y;Wjb6;j`Z(($4Zf9R`Z)t9HC@BCVVKy;jGiEYlH843fGGQ@eIXF3HI5J{2G-EYmGG%3CVT%Jeivt)4AY*TCb94YSV`X7sGhs71IA&otHe)d}G-Ek1GG${iV>CB6IALLp12_iR0~P{0I$?8PX>N37XJv9IDF7p3Ib|_4F*##1W;r=!WMMZqHaBE3F*GnaHDWPgWH&i8j{`W50~iP(V{dMAbO1CnVr5}DGht>nFk&?~Wn*JGIAvyGW;HNmV`FAzIbx9mI0o4R76LjtVRK(|baH8KXDBHEBVjl-HZV0gH#ImmIWaY5W?^J9F=jG2IA%3DF=H|_V`P&9IFkby2q0r`ZgX@1G&f^4HDP8mI5aUdW@KVBGB7taV>356Vly-_HDYFAl>;~i*#i~=IyzxlxWo9^KI5{$5VP!BiV>4wrI5;+DWMyVIWMgHU12~%l7ziL^Z*FsR05@e~W;ZotGC4OmVP!F8VKXvhVP2``H90Y1H#IdhF*0UkWin-CH=zSK2H67^2s%1xb6;U{a$$L2Z)RU~VPb4$b0{ewV{dMAbO0k^VK6x|HZx%`HDzWqHZfsjGBYz}H!(0XFgRvoWi~l5qXRew*#i~`Iyz}{Ut(`>Y-M3?C@COgZ*FsR03%^EGBRd2HZ^2sH)UloG-hEjGcq+aVPs=uVKO;kWjJJ|12_iR0~QE6I%#uXWMOn=C@COgZ*FsR03%^BV>mWuVlZN4IAt<4F=I40HaIabI5{{tVKq53GcsYP12_iR0~QE6I%#uXWMOn=Uvz10Whf~iV{dMAbO0k^IWRD0H#ImpH#Rb5Ffn5}F=k>lVlX#hGGjPpIWjOZsRK9$*#i~`Iyz}{UuJA?VRUJ3XJ2q{X>N2VDIjBSZgX@1BVlAXV`O4BIAJz9Vq{}6Gh<|7H)J$sH#RmiWi>ZAG&idQI0o4R785!;X>(s_Z*6a9Wo~6}b#o|gZ)9a(ba`-PEFf-gWMwKQDF7p3HaKKuHa9miWimB6Wo9ulGGj0>VlZJjV>eA~WHm5iIA*T{I33vo77;o+X>(s_Z*6a9Wo~6}b#o|gZ)9a(ba`-PDIjBSZgX@1BVjdUIWajgWMefnHDzODWn?pAV>o6vH!wD1HZx^pVPvrbI1kwa76>{zX>(s_Z*6a9Wo~6}b#o{wAY*TCb94YBVK-zlVmC83Fkv!fVKg){I5IdnFl8}hWn?pCGdVOiVY34`2H67^2s%1xb6;t0bY*8{awsVvV{dMAbO0k^V>L55FkxdhG-fa{I5{*oWn^PFH8?ObVKp-~Fg0N{wF5W?*#i~`Iyz}{Uv716Vr6nDDIjBSZgX@1BVlG^V=^`~Vr4ckV>2^iGiEt5HZ(S3HDhLBFgG(fGiA2}I0o4R76>{zX>(t5baH8KXDBHkV{dMAbO0k^VL3H1I50FgH!(IcWjHi6F)}$YGch{zba`-PC@COgZ*FsR03%^BFlIA2IWRLdV`VWjVPax1Fkvw712_iR0~Q22I&x)ZC@CN&03%^FIA&yJG%#gmFk&$`GGsG0VrDWqGh;F}F=8?`F*7j312_W10~iG+0Apb`H8Ev3W@R^KGdDM8WjQrCVlpr`H#lT4IAvxrG{plr1K9%>3OYJ+Wo9TTAY*TCb95jk03%^JH#szAWHmQrIW;n5I5IgiWn?olH#lK2F=aJ0V_`DK12_oB0~re@05dmXW->WsV=*;lW;kUrVP-cuH85m3GBq{zc42IFWnX1@VPkYCDIjBSZgX@1BVjRSWHw|qI5J{nVPs)tHexX_G&D3YVP#`CVm4(nI5W)yI0o4R77IE$c42IFWnXV{C{!jUDIjBSZgX@1BVlAQV>2@{VP!NhGiG6AWjQc1F*Y|cHZd?YG%-14W@FC-I0@MU7798#c4>2IbSOr3Zeu1UDIg{QBVlATH#0dfW-~Z5GBP$WWMVgBW-vBmWHLB1H90skG%(QvI0(@L7z-umCIWW}&I1beV7!f7_V>386V`4BgF)=Y=WMpG7V=_50Wn*MyHfAz8IW{&n*8?~YTmS$%I&N=dWdLJrVRLhIZ*6Q}F<&umZ)9aIXmo9CAOs%}Iy!G~WpZJ3Z*n~-aA9(DWnXe-b9HQVCMGEWBVl1QV=`kmH!xv1WHK={W;tXvFgP_hGBPtWW@a&DI5gS=K@K1U9|Af$aA9(DWnXe-b9HQVC@BCVVKg~rIWjgfI5uQqWjAGHHDNX~IXGrDVKX*0HZ?RjV%!5kAOs%}Iy!J+a&u*0a%FRMY;-7aVRCb2Uvg!0b!>DdCMf_TVK6l~VmCHsGdX5rHDNh7F*P_fH8VJ7GGsI`IXGfrHQob34j=>{0y;W=aA9(DWnXe-b9HQVC@BCVVPrXFGBRc`IXE>mVP-UAGd4IjFl06{WiVqfW->KmG2jD1AOs&IIy!G~WpZJ3Z*n|5D06gVIy!H2baG{3Z6+)rV{dMAbRckHa&u*0a%FRMY;-0m03%^!G-Y97IAmipV`DKiG+{Y0GGR6|WI1LzH8V3YH8(Qi13@An1Rn%CI%RTlZ*nLpASM7KVP$4wVmV=9W@KhCFlJ#fVPiQrIXN~mWHK^kF*0Q~IOGFC0^|cB1ttJuFgH0dG%_+cW;tdzG&43fGB{&7Ib>!uH8f^1H#cPF13?2I1Rn}II%RTlZ*nLpAY*TCb95jk03%^JVKq52Ibtv|WM(;GH)c0xIXE_AI5aacV`XM!GGaLB13?HN1Rn@GI&W}ga$$6Dav)=GZgX@XaA9(DWnX1-a&K}bC@COgZ*FsR03%^EGh}8qG-WU{G&D0}GGSt7WI1FqV>mWrHDxqoGcaN513?BL1RnxAI&W}ga$$6Dav*SFa&u*0WpZ+FawaG#03%^yV>n?pIWuEoH8VIgG%;c|IX5(AW@a-uV>dB2Ha0oz13@4J9|Af$Z*XODVRUbDAaG%Fb7fy;a&m8SCMGB;03%^JW;ZZlVKz23WH>ZoVP-XEIWsn7WHL8qHe)$8V>Dsz13@4JA38c?Z*FsRUukq@a$$6DasVS?VrDrqW@chEIAbwpG-NPlF)}%3G%zzVH!wJ4G+|;eAOs&eI%#xea$$6DasVS?VP!QiGh;C^WjSU!F*Y(}Wi?}BWo9*HGGjSrG&nXhAOs%*Iyz!yXK8LIDF7p3GiEk4F=aV4GG;L~F*syqW?^JDW@BSFWMeTiI5{(9@&iHg10e_?V{dMAbO1RqFlI3`IWse1Ff}wcVKO-~Ff=eUGB`IlGC4OmF=q4wK?WcM9|$@+V`61zX>KSfAY*TCb94YBVP-WrGBGk_IAJq3H)SMmWpWj1CsF<~?|Wi>c9Wi&BkH8^55VFUz07a#;55;{6>aAk5~bZ>H7T_|&OWI8%?baH8KXJ2+{Wp^n6BVjl=GBsskWo9rjF=IDmVq!I8F=R1iG&VIjG-Ww3Vq*pbK@bK6As8TIZ*FsR05N1aF)}bWF*!G5GBRc}IW}QqVqrC8G&VUoHDowpVh99579a#46FNF?aAk5~bZ>H7T_|&OWI8%`b98cPZf9S1X=QgQ03%^!WjJFtGBso~HDqIBHDWYoWMyMHH)J_xHDNbqIW}er1VIrB1R)t9V{dMAbO1FtVKZfAIX5vfGB7kbH)UoyGBRdkGGSshV>e+rV=xQ^K^Gtd9|$@+W?^Y;Wn?HRAY*TCb94YBVL324H)3NoH8LGXVsCG3C@COgZ*FsR03%^$Ha2BpH#lK7WMnuvF*PzVV`VrtHDNP1GBPGXV{dMAbRcwZZEQL^bYWs_WhN*oAY*TCb94YBVL4GXbZ>2JIy!V=Vr*q5C@BCVVKrqjG-Wa}WHe+pIASt4V=*x|F)?8?Gch@2V>V)DITi##AOs%*Iy!G~WpZJ3Z*m}XZ*6QkI&@)TY-J`UC@BCVVK`)CVKFu^FgQ3iIW;t5GdN;7Ibk$mG-f$tVmCKqG#CUyAOs%-Iy!V=Vr*q7DIg{QBVjZ*WHM!8WHK;eWjSOqHaIadF)(8`Gcz$cVK!kgHZmFnK>`{CAq6G?H#cH5H!xy0He_TpFfm~;VL386FfcY`WH&fCVmLT590WlFAOs%@Iy!V=Vr*q7DIjBSZgX@XCIBO0IXN?CHDon8V>DthFlIP6F*7)3IALO9IAJk1WHm8l9t1%MTmS$%I&fifb7fz0Wpj0GbO2*)VRLhIZ*6Q}F<&uoVRCb2Ute-%b9HQVE@*UZY>)&TIy!b~Wp`y{UvznJWdI{#F*P+XW;A6rH#IXdW@IokVm4zlWjSOxH#jggV=yyekOUkdIy!G~WpZJ3Z*n|5D06gVIy!H2baG{3Z6+)rV{dMAbRceTWMyA=X=QgNDF7p3F*h(VFga#0VmCK9I5=iCG-5JlV`O4DW@TkCVPZKjA_P7kkOUkEIy!D|WMwERAY*TCb94YBVP;}9GGbviW@Kb!W@0ojH)3QnH)1w9H(@j|H!?IfWF!PW29N|C0y;WwZ)9a(c4=jIC@BCVVK8JkVrDflF=S#fF=941FgP({WnnWlV=^^mG-F{oWhMkZkOUkKIy!D|WMyA=X=QgPc4=jIWn^D;d2nSaDF7p3F*!M7VK8GbF=aA0VK+2lGGSykWMXACH8e3XGiG8qCG!C}VGKb95kXZ)9a(c4=jICMh5$03%^$VKg;0V=yx_H(@qrWi(_lV_`KjGi5O_H#IO~VL4?o1U?dw1RM`KI&W}ga$$6Day=++Z)9a(c4=jICMGE$CIBO0Gh}2qF*!A5GdVXgWnyA7F)=V=I59FeI5T5rW-&81Gz2~kkOUkjIy!G~WpZJ3Z*n0$C}VGKb95kXZ)9a(c4=jICM+OhZ*FsRAZ~ADWnXq_Wp_MOJ|-yuBVjXSV>mKmIW;&mIb=6wHezHrIbt<5IW}fxIW}TtVPQ4|J|&O@949(DZ*XODVRUbDJv}I6Z*FsRAZ~ADWnXq_Wp^elAY*TCb95kXZ)9a(c4=jIJXAg=DF7p3F*z|fGB9K?GcYhSHDon5G-hQmIc7CwVlp)`VmUH5I0QZ=kOUkcIy!G~WpZJ3Z*o07C}VGKb95kXZ)9a(c4=jICM+OhZ*FsRAar43Y-J`X03%^HH8f&mVqrHpI5s(9W@R>FV`E}8Vl^>kFkv@0Wi&N91U?>+1RNkbI&W}ga$$6Day>mLV{dMAbRceTWMyA=X=QgNEFfcVZgX@XVRCX|c_t|UBVjXQGdW>pWMW}tVKy={F<~@iGdMLjVlZYfGBY(eG&4K|J|2(+94R_FZ*XODVRUbDJv}I6Z*FsRAZ~ADWnXq_Wp^elAY*TCb95kdZ*6QkI(A`fb!9wMJ|-yuBVlAYW@I@wI5IY7V`XJDGh<{iWnnR6V`esGGBRU0IW;~6J|~a_92`12Z*XODVRUbDJv}I6Z*FsRAZ~ADWnXq_Wp^elAY*TCb95k7CMf_TVKii7VKZf9H#0RhH!w6dHaTT9F*h}4VK-wqW;J6oG(ZGC8ju7WGdenNaAk5~bZ>G!Jt$*uZgX@XZf|5|Uv_C_cP1<#V{dMAbRctdWI8%&ZfSIBVQgu7WpZC^X>)WuR6Zst03%^yWjHc6V>vfwGGa6}F=b^kI5%ZuW-~WtG&VIcH)di&1U@m41RNmLV{dMAbRceTWMyA=X=QgNEFfcVZgX@Xb97`nI(B7abZ>GzR6Zst03%^!G-5O{G&E*7Ff%h_H#lWAG%+w{H!v|}HDP5pWiv2D1U@H_1RNMTI$?BQaA9<4D06gVIy!T7a%pa7Uv_C_cPSuaZ*FsR03%^FIb$_6GcsmkH#cH6FlA;kGB7zfWidBoG-f$9He@wM1U?p!1RNPUI$?BQaA9<4D06gVIy!fAbaH8KXJ2+{Wp^ncV{dMAbO0k^F*P@1F=b(9VmD%BW;kXuGc!3jF)%hTF*jr}VlpseNCZ9?kOUkUIy!G~WpZJ3Z*p5*D06gVIy!T7a%pa7Uv_C_cPSuaZ*FsR03%^CWMpMAGB`OjW;ZZ3GcaU0Fl1#kHDNF_WnpDEIA&o=1U?p!1RNPUI&W}ga$$6Da$8*}b97`nI(Kt)a%pa7Uv_C_cPSuaZ*FsR03%^DH83(UWi~Z8H8^BrFk)pjFf}2VlXviV>mHnHDoemIX7cvGhs1iQUpE*kOUkEIyzxY-M3?C@COgZ*FsR03%^JW@TeIIXGcAW??uuWMpDuGdVV9Wiw(jVK^~kIW#p?1U?3k1RMxDI$?8PWMOn=C@COgZ*FsR03%^JG+{SmW-&BmHe+EoH#cNuH8x>lWHn=CVr4jGWn*Pl1U?3k1RMxDI$?8PWMOn=Uvz10Whf~iV{dMAbO0k^HDY68Ght&eWn^PxH8D12W@KSCGiGEkGBPkVH!?UfSOh)>kOUkEIyzxN2VDIjBSZgX@1BVjo*HaIddWoBYGGht*mGC4A3GiEU~I5aV1H8eOkF=AQ-J_e8k90)o(VRK(;Zggd5WpXGfAY*TCb94YBVPrBfH#IOdI5K5pHZw3YWiVngH8)~0GcsjkG&C?dWLyM329N|C2s%1pb6<0Ga%pa7C@COgZ*FsR03%^DGh;MlWH@GGIW##qW;SGHHfCZlHa9UeVl^;0WHC2h1U?3k1RMxDI$?8PbYWs_Whf~iV{dMAbO0k^HDWh2VmD=FVPQEpHa0e8Vr6ABWHvA~F*h+`H8nRjU<5t}kOUkEIyzxmWAWMpMEV`5=pH)S<6Wn(gA1U?3k1RMxDI%#uXVRCX|c_=9$V{dMAbO0k^I5#I~W?yt+Vr*q|C@COgZ*FsR03%^GV`DTmIbvlqHa0mpWn(pAIbmZkWH2ydG&DFcWnpD#1U?3k1RMxDI%#uXVsCG3Wnpe8DIjBSZgX@1BVl1TWo0mAF=jJ4Hf1p~I5T53VKFgeFgId3G%zqYIX7wqJ_e8k90)o(X>(s>VRU6EDIjBSZgX@1BVjaTV>e@FIAJw6WMVfnW??ruIbk_7Ic7IuV`McnIb>`EJ_e8k90)o(X>(s>VRU6*bZKp6C@COgZ*FsR03%^FVKX=|W;Zu8VP!HoF=IJ2GGQdN8WpD&O29N|CAUZl}b6;q0ZEt5~Ze?$Eb0}_aWMyA;d2nScAa-eGcV%Q>ba`-PDkdo)V{dMAbO0k^GGQ_~FfuSUG&C|XW;8G{WjHWpVKz87V`XMFGd5&las)mekOUkNIyz}{UubV_Z)at0Wp8zJC~j|LWnXl8aAheVV{dMAbO0k^W@Rv8Vq`TjWiVwiFgRi}Fg9XkGGQ}iWjQrAF=Jz4bOb&RkOUkEIyz}{UubV_Z)at0Wp8zJC@COgZ*FsR03%^CIb%37WH>WoF=RG0W-u`}WnwfkW;r!xWHUEqGc-1K1U?3k1RMxDI%#uXX>N37XJv9IDIjBSZgX@1BVl4WV>mN4WMpPAF*jy1H85m2G-hEnWHmQ4Hf1<9GB9`qJ_e8k90)o(X>(t0b!}p0awsVvV{dMAbO0k^F)%kbGcq$bFk?0{G%zw^F)=VPVK+EsH#0agW@I>GdIUZOkOUkEIyz}{UvqSFX>MmIDIjBSZgX@1BVji=Vl+20HaIagHDoz8HDWkrGGj0@H)1ejGGS#oI5T_%J_e8k90)o(X>(t6VPb4$C@COgZ*FsR03%^HFk&?}H)UZpI5J~2H!@~rIW=K8Ibt2^lGh$&iH#1{1H(@X~IWaOeVPj@6VmM=f1U?3k1RMxDI%#uXc42IFWhf~iV{dMAbO0k^VKq2rIAmosH)3TqW;HW6GdN-~VK6jgH)T0wFg0Ojf&@MWkOUkEIy!WDaAhbdAY*TCb94YBVKOv0Gh=2kVK_4}G&VLdIWak6IWRUhV`VlnV>vc5F@yv@29N|C2s%1)Wo9TTAY*TCb94YBVP#`AV>dQ5GC4D0H)UmFGB7YOIbk$7G-5L}WH)0oVTJ@g29N|C2s%1;VQh6}C@COgZ*FsR03%^yVl^>gIWaOcHZox{H8?XjIbu0BIAb(0H#BBAGcq)Y1U?3k1RMxDI(A`fb!A^=cwu97C@COgZ*FsR03%^CWHmK7Wj8lDIbvfpWim8jWMpA5IW{yjHf3TnI5cF61U?3k1RM)GI(A`fb!A^~awt?LCMh6eZ*FsR03%^DF*Id0WHvT7WMgDuGc-9fW@b5IVKQSdI59S6H8W$31U?Cn1RM@JI(BJuX>=$?b#7xOCMh6eZ*FsR03%^xHD)+8VrF4tH#a$BH!)!_H)1d}V_`62GGt;nHZx|91U?Me0})?#X=Qf+Ute}2JC}VGKb95kMXkl_HEFg1fdSzd9DF7p3G%ztWGcaW}HZWr{WMefnFgG$eVP-HfWic>fGGR9~kpw^!l>{CbIy!G~WpZJ3Z*n3cUvzJ6Y$#)IZgX@XV`yP=IA3%sEFg1fdSzd9DF7p3Vq!8gFgIj2HZ?OiWH4kjGh}2iH#9IbFlIP2GBPw{lLSB(TmTI^I&5ilWpZI`a{ym4UomWHbY*g3Y;!JXbZu+`AOR!-EdeqCHvv5XLIX(yOa)K{Q~_E5UI1nRX#j9=VP|D-VQpn|aA9L*XL4_KaARy?b8~Zaa&=>Lb#7^IZghEYWn^V$WNC6{X>4U?b#7y1WoBt^Wo2%4ZDnqCZ6J1GY<6LCV{dL_WpH!='); diff --git a/v3.1.0/structtoml_1_1date.html b/v3.1.0/structtoml_1_1date.html new file mode 100644 index 00000000..bc77222e --- /dev/null +++ b/v3.1.0/structtoml_1_1date.html @@ -0,0 +1,216 @@ + + + + toml::date struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date struct +

                                                                                                                              +

                                                                                                                              A local date.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + date() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Default constructor. Does not initialize the members.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Y, typename M, typename D>
                                                                                                                              + date(Y y, + M m, + D d) constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs a date from individual date component values.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              uint16_t year +
                                                                                                                              +
                                                                                                                              The year component.
                                                                                                                              +
                                                                                                                              uint8_t month +
                                                                                                                              +
                                                                                                                              The month component, from 1 - 12.
                                                                                                                              +
                                                                                                                              uint8_t day +
                                                                                                                              +
                                                                                                                              The day component, from 1 - 31.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const date& lhs, + const date& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(const date& lhs, + const date& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const date& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a date out to a stream as YYYY-MM-DD (per RFC 3339).
                                                                                                                              +
                                                                                                                              + auto operator<=(const date& lhs, + const date& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const date& lhs, + const date& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(const date& lhs, + const date& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(const date& lhs, + const date& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const date& rhs) +

                                                                                                                              +

                                                                                                                              Prints a date out to a stream as YYYY-MM-DD (per RFC 3339).

                                                                                                                              +
                                                                                                                              std::cout << toml::date{ 1987, 3, 16 } << "\n";
                                                                                                                              1987-03-16
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.1.0/structtoml_1_1date__time.html b/v3.1.0/structtoml_1_1date__time.html new file mode 100644 index 00000000..45897455 --- /dev/null +++ b/v3.1.0/structtoml_1_1date__time.html @@ -0,0 +1,338 @@ + + + + toml::date_time struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date_time struct +

                                                                                                                              +

                                                                                                                              A date-time.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + date_time() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Default constructor. Does not initialize the members.
                                                                                                                              +
                                                                                                                              + date_time(const toml::date& d, + const toml::time& t) constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs a local date-time.
                                                                                                                              +
                                                                                                                              + date_time(const toml::date& d) explicit constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs a local date-time.
                                                                                                                              +
                                                                                                                              + date_time(const toml::time& t) explicit constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs a local date-time.
                                                                                                                              +
                                                                                                                              + date_time(const toml::date& d, + const toml::time& t, + const toml::time_offset& off) constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs an offset date-time.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto is_local() const -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this date_time does not contain timezone offset information.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + toml::date date +
                                                                                                                              +
                                                                                                                              The date component.
                                                                                                                              +
                                                                                                                              + toml::time time +
                                                                                                                              +
                                                                                                                              The time component.
                                                                                                                              +
                                                                                                                              + optional<toml::time_offset> offset +
                                                                                                                              +
                                                                                                                              The timezone offset component.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const date_time& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a date_time out to a stream in RFC 3339 format.
                                                                                                                              +
                                                                                                                              + auto operator<=(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date_time::date_time(const toml::date& d, + const toml::time& t) constexpr noexcept +

                                                                                                                              +

                                                                                                                              Constructs a local date-time.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              dThe date component.
                                                                                                                              tThe time component.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date_time::date_time(const toml::date& d) explicit constexpr noexcept +

                                                                                                                              +

                                                                                                                              Constructs a local date-time.

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              dThe date component.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date_time::date_time(const toml::time& t) explicit constexpr noexcept +

                                                                                                                              +

                                                                                                                              Constructs a local date-time.

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              tThe time component.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date_time::date_time(const toml::date& d, + const toml::time& t, + const toml::time_offset& off) constexpr noexcept +

                                                                                                                              +

                                                                                                                              Constructs an offset date-time.

                                                                                                                              + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              dThe date component.
                                                                                                                              tThe time component.
                                                                                                                              offThe timezone offset.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const date_time& rhs) +

                                                                                                                              +

                                                                                                                              Prints a date_time out to a stream in RFC 3339 format.

                                                                                                                              +
                                                                                                                              std::cout << toml::date_time{ { 1987, 3, 16 }, { 10, 20, 34 } } << "\n";
                                                                                                                              +std::cout << toml::date_time{ { 1987, 3, 16 }, { 10, 20, 34 }, { -2, -30 } } << "\n";
                                                                                                                              +std::cout << toml::date_time{ { 1987, 3, 16 }, { 10, 20, 34 }, {} } << "\n";
                                                                                                                              1987-03-16T10:20:34
                                                                                                                              +1987-03-16T10:20:34-02:30
                                                                                                                              +1987-03-16T10:20:34Z
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Variable documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + optional<toml::time_offset> toml::date_time::offset +

                                                                                                                              +

                                                                                                                              The timezone offset component.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.1.0/structtoml_1_1inserter.html b/v3.1.0/structtoml_1_1inserter.html new file mode 100644 index 00000000..78144103 --- /dev/null +++ b/v3.1.0/structtoml_1_1inserter.html @@ -0,0 +1,129 @@ + + + + toml::inserter struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + toml::inserter struct +

                                                                                                                              +

                                                                                                                              Helper class for suppressing move-construction in single-argument array constructors.

                                                                                                                              +
                                                                                                                              // desired result: [ [ 42 ] ]
                                                                                                                              +auto bad = toml::array{ toml::array{ 42 } }
                                                                                                                              +auto good = toml::array{ toml::inserter{ toml::array{ 42 } } }
                                                                                                                              +std::cout << "bad: " << bad << "\n";
                                                                                                                              +std::cout << "good:" << good << "\n";
                                                                                                                              bad:  [ 42 ]
                                                                                                                              +good: [ [ 42 ] ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.1.0/structtoml_1_1source__position.html b/v3.1.0/structtoml_1_1source__position.html new file mode 100644 index 00000000..22106965 --- /dev/null +++ b/v3.1.0/structtoml_1_1source__position.html @@ -0,0 +1,244 @@ + + + + toml::source_position struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::source_position struct +

                                                                                                                              +

                                                                                                                              A source document line-and-column pair.

                                                                                                                              + +
                                                                                                                              auto table = toml::parse_file("config.toml"sv);
                                                                                                                              +std::cout << "The node 'description' was defined at "sv
                                                                                                                              +    << table.get("description")->source().begin()
                                                                                                                              +    << "\n";
                                                                                                                              The value 'description' was defined at line 7, column 15
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + operator bool() const explicit constexpr noexcept +
                                                                                                                              +
                                                                                                                              Returns true if both line and column numbers are non-zero.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + source_index line +
                                                                                                                              +
                                                                                                                              The line number.
                                                                                                                              +
                                                                                                                              + source_index column +
                                                                                                                              +
                                                                                                                              The column number.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const source_position& lhs, + const source_position& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Returns true if two source_positions do not represent the same line and column.
                                                                                                                              +
                                                                                                                              + auto operator<(const source_position& lhs, + const source_position& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the LHS position is before the RHS position.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const source_position& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a source_position to a stream.
                                                                                                                              +
                                                                                                                              + auto operator<=(const source_position& lhs, + const source_position& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the LHS position is before the RHS position or equal to it.
                                                                                                                              +
                                                                                                                              + auto operator==(const source_position& lhs, + const source_position& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Returns true if two source_positions represent the same line and column.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const source_position& rhs) +

                                                                                                                              +

                                                                                                                              Prints a source_position to a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe stream.
                                                                                                                              rhsThe source_position.
                                                                                                                              ReturnsThe input stream.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse("bar = 42"sv);
                                                                                                                              +
                                                                                                                              +std::cout << "The value for 'bar' was found on "sv
                                                                                                                              +    << tbl.get("bar")->source().begin()
                                                                                                                              +    << "\n";
                                                                                                                              The value for 'bar' was found on line 1, column 7
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Variable documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + source_index toml::source_position::line +

                                                                                                                              +

                                                                                                                              The line number.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + source_index toml::source_position::column +

                                                                                                                              +

                                                                                                                              The column number.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.1.0/structtoml_1_1source__region.html b/v3.1.0/structtoml_1_1source__region.html new file mode 100644 index 00000000..7acf0e6e --- /dev/null +++ b/v3.1.0/structtoml_1_1source__region.html @@ -0,0 +1,233 @@ + + + + toml::source_region struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::source_region struct +

                                                                                                                              +

                                                                                                                              A source document region.

                                                                                                                              + +
                                                                                                                              auto tbl = toml::parse_file("config.toml"sv);
                                                                                                                              +if (auto server = tbl.get("server"))
                                                                                                                              +{
                                                                                                                              +    std::cout << "begin: "sv << server->source().begin << "\n";
                                                                                                                              +    std::cout << "end: "sv << server->source().end << "\n";
                                                                                                                              +    std::cout << "path: "sv << *server->source().path << "\n";
                                                                                                                              +}
                                                                                                                              begin: line 3, column 1
                                                                                                                              +end: line 3, column 22
                                                                                                                              +path: config.toml
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto wide_path() const -> optional<std::wstring> +
                                                                                                                              +
                                                                                                                              The path to the corresponding source document as a wide-string.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + source_position begin +
                                                                                                                              +
                                                                                                                              The beginning of the region (inclusive).
                                                                                                                              +
                                                                                                                              + source_position end +
                                                                                                                              +
                                                                                                                              The end of the region (exclusive).
                                                                                                                              +
                                                                                                                              + source_path_ptr path +
                                                                                                                              +
                                                                                                                              The path to the corresponding source document.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const source_region& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a source_region to a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + optional<std::wstring> toml::source_region::wide_path() const +

                                                                                                                              +

                                                                                                                              The path to the corresponding source document as a wide-string.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const source_region& rhs) +

                                                                                                                              +

                                                                                                                              Prints a source_region to a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe stream.
                                                                                                                              rhsThe source_position.
                                                                                                                              ReturnsThe input stream.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse("bar = 42", "config.toml");
                                                                                                                              +
                                                                                                                              +std::cout << "The value for 'bar' was found on "sv
                                                                                                                              +    << tbl.get("bar")->source()
                                                                                                                              +    << "\n";
                                                                                                                              The value for 'bar' was found on line 1, column 7 of 'config.toml'
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Variable documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + source_path_ptr toml::source_region::path +

                                                                                                                              +

                                                                                                                              The path to the corresponding source document.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.1.0/structtoml_1_1time.html b/v3.1.0/structtoml_1_1time.html new file mode 100644 index 00000000..185772ae --- /dev/null +++ b/v3.1.0/structtoml_1_1time.html @@ -0,0 +1,222 @@ + + + + toml::time struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::time struct +

                                                                                                                              +

                                                                                                                              A local time-of-day.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + time() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Default constructor. Does not initialize the members.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename H, typename M, typename S = uint8_t, typename NS = uint32_t>
                                                                                                                              + time(H h, + M m, + S s = S{}, + NS ns = NS{}) constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs a time from individual time component values.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              uint8_t hour +
                                                                                                                              +
                                                                                                                              The hour component, from 0 - 23.
                                                                                                                              +
                                                                                                                              uint8_t minute +
                                                                                                                              +
                                                                                                                              The minute component, from 0 - 59.
                                                                                                                              +
                                                                                                                              uint8_t second +
                                                                                                                              +
                                                                                                                              The second component, from 0 - 59.
                                                                                                                              +
                                                                                                                              uint32_t nanosecond +
                                                                                                                              +
                                                                                                                              The fractional nanoseconds component, from 0 - 999999999.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const time& lhs, + const time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(const time& lhs, + const time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const time& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a time out to a stream as HH:MM:SS.FFFFFF (per RFC 3339).
                                                                                                                              +
                                                                                                                              + auto operator<=(const time& lhs, + const time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const time& lhs, + const time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(const time& lhs, + const time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(const time& lhs, + const time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const time& rhs) +

                                                                                                                              +

                                                                                                                              Prints a time out to a stream as HH:MM:SS.FFFFFF (per RFC 3339).

                                                                                                                              +
                                                                                                                              std::cout << toml::time{ 10, 20, 34 } << "\n";
                                                                                                                              +std::cout << toml::time{ 10, 20, 34, 500000000 } << "\n";
                                                                                                                              10:20:34
                                                                                                                              +10:20:34.5
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.1.0/structtoml_1_1time__offset.html b/v3.1.0/structtoml_1_1time__offset.html new file mode 100644 index 00000000..64305b11 --- /dev/null +++ b/v3.1.0/structtoml_1_1time__offset.html @@ -0,0 +1,262 @@ + + + + toml::time_offset struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::time_offset struct +

                                                                                                                              +

                                                                                                                              A timezone offset.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + time_offset() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Default constructor. Does not initialize the members.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename H, typename M>
                                                                                                                              + time_offset(H h, + M m) constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs a timezone offset from individual hour and minute totals.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              int16_t minutes +
                                                                                                                              +
                                                                                                                              Offset from UTC+0, in minutes.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const time_offset& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a time_offset out to a stream as +-HH:MM or Z (per RFC 3339).
                                                                                                                              +
                                                                                                                              + auto operator<=(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename H, typename M> +
                                                                                                                              + toml::time_offset::time_offset(H h, + M m) constexpr noexcept +

                                                                                                                              +

                                                                                                                              Constructs a timezone offset from individual hour and minute totals.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              HAn integral type.
                                                                                                                              MAn integral type.
                                                                                                                              Parameters
                                                                                                                              hThe total hours.
                                                                                                                              mThe total minutes.
                                                                                                                              +
                                                                                                                              std::cout << toml::time_offset{ 2, 30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{ -2, 30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{ -2, -30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{ 0, 0 } << "\n";
                                                                                                                              +02:30
                                                                                                                              +-01:30
                                                                                                                              +-02:30
                                                                                                                              +Z
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const time_offset& rhs) +

                                                                                                                              +

                                                                                                                              Prints a time_offset out to a stream as +-HH:MM or Z (per RFC 3339).

                                                                                                                              +
                                                                                                                              std::cout << toml::time_offset{ 2, 30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{ 2, -30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{} << "\n";
                                                                                                                              +std::cout << toml::time_offset{ -2, 30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{ -2, -30 } << "\n";
                                                                                                                              +02:30
                                                                                                                              ++01:30
                                                                                                                              +Z
                                                                                                                              +-01:30
                                                                                                                              +-02:30
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.1.0/toml++.tagfile.xml b/v3.1.0/toml++.tagfile.xml new file mode 100644 index 00000000..4b32bc76 --- /dev/null +++ b/v3.1.0/toml++.tagfile.xml @@ -0,0 +1,7856 @@ + + + + toml::array + classtoml_1_1array.html + toml::node + + + array + classtoml_1_1array.html + a29fc707cf66a79f3c3d93dadbe3b2719 + () noexcept + + + + array + classtoml_1_1array.html + a3bd4611c96ce97d7e6991b7a4312370d + (const array &) + + + + array + classtoml_1_1array.html + ac552a63c329598d671e6531b0cef957b + (array &&other) noexcept + + + + array + classtoml_1_1array.html + acb17a58f1fbdb12aeaf8f7d1e8093e5c + (ElemType &&val, ElemTypes &&... vals) + + + array & + operator= + classtoml_1_1array.html + a37f428f585188ce70c82f1df6935f5d5 + (const array &) + + + array & + operator= + classtoml_1_1array.html + a7e5e45777e08941abb2069a5991e1f31 + (array &&rhs) noexcept + + + node_type + type + classtoml_1_1array.html + a352b6a99235216f070b5e97976663571 + () const noexcept final + + + bool + is_homogeneous + classtoml_1_1array.html + a79a1fe77c03b33ea2b9d8d0a859c93e6 + (node_type ntype) const noexcept final + + + bool + is_homogeneous + classtoml_1_1array.html + ae4e986f9fdb23090f9a0b3716a63e8bb + (node_type ntype, node *&first_nonmatch) noexcept final + + + bool + is_homogeneous + classtoml_1_1array.html + ad00610c0e18f02516de92b623dc4d0f5 + (node_type ntype, const node *&first_nonmatch) const noexcept final + + + bool + is_table + classtoml_1_1array.html + ad7ed894e54ad3aaef6d7693c26b887d9 + () const noexcept final + + + bool + is_array + classtoml_1_1array.html + a1f1e4d93f52778613d0a7bcf74a23427 + () const noexcept final + + + bool + is_array_of_tables + classtoml_1_1array.html + a87cd0dcbebcfd661a0ae387255c0605e + () const noexcept final + + + bool + is_value + classtoml_1_1array.html + acc533a7fa1ea5c68fce6f4fea5bc419c + () const noexcept final + + + bool + is_string + classtoml_1_1array.html + aeefdd01a2ce3f6bcd7aecfabd363d06b + () const noexcept final + + + bool + is_integer + classtoml_1_1array.html + a78db4190977034c4364674a2958855d4 + () const noexcept final + + + bool + is_floating_point + classtoml_1_1array.html + ab758b93eedbdc27112681f26440bee03 + () const noexcept final + + + bool + is_number + classtoml_1_1array.html + aa034144c580b3d8a4727c0cfbfebc214 + () const noexcept final + + + bool + is_boolean + classtoml_1_1array.html + abbecf0a51aa3e175bc5748ccf71063d8 + () const noexcept final + + + bool + is_date + classtoml_1_1array.html + a792dc3fd7105185415925d4f9ab3ca1d + () const noexcept final + + + bool + is_time + classtoml_1_1array.html + a2d2fc80512d08af7a934a6d02c7bf506 + () const noexcept final + + + bool + is_date_time + classtoml_1_1array.html + ae844f53a9604fb42f185a91616a72cbd + () const noexcept final + + + table * + as_table + classtoml_1_1array.html + a95985d66ecd4abf6c5822cbd0d239582 + () noexcept final + + + array * + as_array + classtoml_1_1array.html + a97b772796c962a635e8d5c50e7c03b3a + () noexcept final + + + toml::value< std::string > * + as_string + classtoml_1_1array.html + a5d4d3b502ef2e33107eb1d682b282c75 + () noexcept final + + + toml::value< int64_t > * + as_integer + classtoml_1_1array.html + a41d03d31a6ab168bc4b50046c4bbb50f + () noexcept final + + + toml::value< double > * + as_floating_point + classtoml_1_1array.html + a5e6ed524c4548fdd2131dcbb38b8c766 + () noexcept final + + + toml::value< bool > * + as_boolean + classtoml_1_1array.html + ac1989a2c4d50f8493f97c23ee22e15e6 + () noexcept final + + + toml::value< date > * + as_date + classtoml_1_1array.html + a78a9e7b1d44f90eb55403e54d6d31e2b + () noexcept final + + + toml::value< time > * + as_time + classtoml_1_1array.html + a3dedcb2261a528c59454fc9e0bb7c9fb + () noexcept final + + + toml::value< date_time > * + as_date_time + classtoml_1_1array.html + a58c350366cbbab3eb430751212ba9b18 + () noexcept final + + + const table * + as_table + classtoml_1_1array.html + ae45534b573d10c7e2e1c5624153608f9 + () const noexcept final + + + const array * + as_array + classtoml_1_1array.html + a8007db93bdeb82c8c77965ff72056f6b + () const noexcept final + + + const toml::value< std::string > * + as_string + classtoml_1_1array.html + a943378ff5912e9c732b4dee12d4bf2de + () const noexcept final + + + const toml::value< int64_t > * + as_integer + classtoml_1_1array.html + a79871c2b52557b74da8302925b5624ee + () const noexcept final + + + const toml::value< double > * + as_floating_point + classtoml_1_1array.html + a8f5736e45881203e362bcbb43ed90093 + () const noexcept final + + + const toml::value< bool > * + as_boolean + classtoml_1_1array.html + a48206827982b5cffe51662adfc3aec2b + () const noexcept final + + + const toml::value< date > * + as_date + classtoml_1_1array.html + afc3f86ca86c60deda39e69d24abcacca + () const noexcept final + + + const toml::value< time > * + as_time + classtoml_1_1array.html + a7708feaac3561b836e0789db0dfa6db4 + () const noexcept final + + + const toml::value< date_time > * + as_date_time + classtoml_1_1array.html + aa8fb689b36f44a4fa7c0ffccff20dbd9 + () const noexcept final + + + node * + get + classtoml_1_1array.html + a10664e00054ea4021fec5144b69b8792 + (size_t index) noexcept + + + const node * + get + classtoml_1_1array.html + a44db509dce6b7b77e563c822a5936abe + (size_t index) const noexcept + + + impl::wrap_node< ElemType > * + get_as + classtoml_1_1array.html + a5c2f4624498cba9e1e467b0eb2e9046e + (size_t index) noexcept + + + const impl::wrap_node< ElemType > * + get_as + classtoml_1_1array.html + ae47ca1cc4c61e94fed30aea72ca8d268 + (size_t index) const noexcept + + + node & + operator[] + classtoml_1_1array.html + a853bad0297ca4dcee57c97da2fe318e7 + (size_t index) noexcept + + + const node & + operator[] + classtoml_1_1array.html + ae9f72a1b877f2ac66327a152d55aa9c6 + (size_t index) const noexcept + + + node & + at + classtoml_1_1array.html + aeade4e0cafa3f57b4800e72baa843b1e + (size_t index) + + + const node & + at + classtoml_1_1array.html + a8a5957e22aa2d0f4f9e6feaf9bfffa55 + (size_t index) const + + + node & + front + classtoml_1_1array.html + a9c78848129a2a703c154e7cbe1a973d3 + () noexcept + + + const node & + front + classtoml_1_1array.html + a5ba3af18c63546da6f9d2ac3b5b77f64 + () const noexcept + + + node & + back + classtoml_1_1array.html + a4c58dea5e8795e4b9f8df4f1e1473204 + () noexcept + + + const node & + back + classtoml_1_1array.html + ac7652c1ab60af2ca1c7d52f0658639b4 + () const noexcept + + + bool + empty + classtoml_1_1array.html + a5d527ea6bfddad1025e90e4363c822cc + () const noexcept + + + size_t + size + classtoml_1_1array.html + af81d7b6a1257ad766a47d9276855a7c9 + () const noexcept + + + size_t + max_size + classtoml_1_1array.html + ae65a76add6d756fc7ba8f12a5aad983c + () const noexcept + + + size_t + capacity + classtoml_1_1array.html + a02b773a1ff337692e78da429030c1610 + () const noexcept + + + void + reserve + classtoml_1_1array.html + a1ba073adc52c3df5ad29cfd7e5daa1d5 + (size_t new_capacity) + + + void + shrink_to_fit + classtoml_1_1array.html + a718c2031ead428aa52912741f6d094aa + () + + + void + truncate + classtoml_1_1array.html + a6e3ac9962c706a88c1001ff83a4084f3 + (size_t new_size) + + + void + resize + classtoml_1_1array.html + ab1aca2337ffce7e583a2cf303f16259f + (size_t new_size, ElemType &&default_init_val, value_flags default_init_flags=preserve_source_value_flags) + + + iterator + erase + classtoml_1_1array.html + a22389a9ed9444fe52be10c4acbdec908 + (const_iterator pos) noexcept + + + iterator + erase + classtoml_1_1array.html + a723388860d72c9a162137d0293366fb2 + (const_iterator first, const_iterator last) noexcept + + + array & + flatten + classtoml_1_1array.html + aa2a21958705629bde15aafae9598a2ec + () & + + + array && + flatten + classtoml_1_1array.html + ad307bea17e7640c57715d67ab8a777d4 + () && + + + array & + prune + classtoml_1_1array.html + ae548cf1dc26ade60733548a00a39b175 + (bool recursive=true) &noexcept + + + array && + prune + classtoml_1_1array.html + a6fc918a151ada40c713d6855af3021c2 + (bool recursive=true) &&noexcept + + + void + pop_back + classtoml_1_1array.html + af99d72e29cef84f736d91d627b47a1dc + () noexcept + + + void + clear + classtoml_1_1array.html + adaa65bf63f29f898c27423306c165d68 + () noexcept + + + iterator + insert + classtoml_1_1array.html + a17c7e34b433ea8907186dbb1788c9d37 + (const_iterator pos, ElemType &&val, value_flags flags=preserve_source_value_flags) + + + iterator + insert + classtoml_1_1array.html + a55a9e6e742e556ea07573d29c23ce7df + (const_iterator pos, size_t count, ElemType &&val, value_flags flags=preserve_source_value_flags) + + + iterator + insert + classtoml_1_1array.html + a60a0d39bfd8721cef23e155f5504d54d + (const_iterator pos, Iter first, Iter last, value_flags flags=preserve_source_value_flags) + + + iterator + insert + classtoml_1_1array.html + a1baecd5d579afb508886572674b89781 + (const_iterator pos, std::initializer_list< ElemType > ilist, value_flags flags=preserve_source_value_flags) + + + iterator + emplace + classtoml_1_1array.html + a4110b96386b33097a255f3694ac01d4a + (const_iterator pos, Args &&... args) + + + iterator + replace + classtoml_1_1array.html + a37a8a283e6c1cbeef757b2e59489ee6c + (const_iterator pos, ElemType &&val, value_flags flags=preserve_source_value_flags) + + + void + push_back + classtoml_1_1array.html + ab7188537b351ef3a756b54b83e4b05b3 + (ElemType &&val, value_flags flags=preserve_source_value_flags) + + + decltype(auto) + emplace_back + classtoml_1_1array.html + ae9ceab13446e118333e3a486e81c2448 + (ElemArgs &&... args) + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + friend std::ostream & + operator<< + classtoml_1_1array.html + af1fae5bb4ad4da74199f0a77170c505e + (std::ostream &lhs, const array &rhs) + + + friend bool + operator== + classtoml_1_1array.html + a06cf25e3f80c98d88e041ef9823976c0 + (const array &lhs, const array &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1array.html + af06c7437a0946a9d5e093d903b59f6a4 + (const array &lhs, const array &rhs) noexcept + + + friend bool + operator== + classtoml_1_1array.html + ab87e435c5a41140e60cd2e703df96fbd + (const array &lhs, const std::initializer_list< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1array.html + a5b3c615e4ba8fd780b966f175070b554 + (const array &lhs, const std::vector< T > &rhs) noexcept + + + array_iterator + iterator + classtoml_1_1array.html + a62a18471ca7c5b06204d2e26c963f833 + + + + const_array_iterator + const_iterator + classtoml_1_1array.html + adfd38318d3390a76f073a83fd2f2aa21 + + + + iterator + begin + classtoml_1_1array.html + a8ee8179ddf1cb44fdf0b8d0700f55c2f + () noexcept + + + const_iterator + begin + classtoml_1_1array.html + a7cff1526a6d1f6157e0eab231b4757aa + () const noexcept + + + const_iterator + cbegin + classtoml_1_1array.html + a56d1cba006dccc5ad9982b58a8b2ddc1 + () const noexcept + + + iterator + end + classtoml_1_1array.html + adaf908b0cc3e8bcb1ee9ec9ec706d223 + () noexcept + + + const_iterator + end + classtoml_1_1array.html + a778b5b807ff7329f7de10237d73f29c2 + () const noexcept + + + const_iterator + cend + classtoml_1_1array.html + a50e6b032805760f3930e02923d9a84b0 + () const noexcept + + + array & + for_each + classtoml_1_1array.html + a1154a3d27b1af41ffaa498c8d6070b88 + (Func &&visitor) &noexcept(for_each_is_nothrow< Func &&, array & >) + + + array && + for_each + classtoml_1_1array.html + aa7d6dd4f662a93b97d1e750a57df7efc + (Func &&visitor) &&noexcept(for_each_is_nothrow< Func &&, array && >) + + + const array & + for_each + classtoml_1_1array.html + a335c0d9bac1ca2b03a961dbe4dabc386 + (Func &&visitor) const &noexcept(for_each_is_nothrow< Func &&, const array & >) + + + const array && + for_each + classtoml_1_1array.html + a944a1130f3dd2b7aa13c38bd600295b5 + (Func &&visitor) const &&noexcept(for_each_is_nothrow< Func &&, const array && >) + + + node_type + type + classtoml_1_1array.html + a352b6a99235216f070b5e97976663571 + () const noexcept final + + + bool + is_homogeneous + classtoml_1_1array.html + a79a1fe77c03b33ea2b9d8d0a859c93e6 + (node_type ntype) const noexcept final + + + bool + is_homogeneous + classtoml_1_1array.html + ae4e986f9fdb23090f9a0b3716a63e8bb + (node_type ntype, node *&first_nonmatch) noexcept final + + + bool + is_homogeneous + classtoml_1_1array.html + ad00610c0e18f02516de92b623dc4d0f5 + (node_type ntype, const node *&first_nonmatch) const noexcept final + + + bool + is_table + classtoml_1_1array.html + ad7ed894e54ad3aaef6d7693c26b887d9 + () const noexcept final + + + bool + is_array + classtoml_1_1array.html + a1f1e4d93f52778613d0a7bcf74a23427 + () const noexcept final + + + bool + is_array_of_tables + classtoml_1_1array.html + a87cd0dcbebcfd661a0ae387255c0605e + () const noexcept final + + + bool + is_value + classtoml_1_1array.html + acc533a7fa1ea5c68fce6f4fea5bc419c + () const noexcept final + + + bool + is_string + classtoml_1_1array.html + aeefdd01a2ce3f6bcd7aecfabd363d06b + () const noexcept final + + + bool + is_integer + classtoml_1_1array.html + a78db4190977034c4364674a2958855d4 + () const noexcept final + + + bool + is_floating_point + classtoml_1_1array.html + ab758b93eedbdc27112681f26440bee03 + () const noexcept final + + + bool + is_number + classtoml_1_1array.html + aa034144c580b3d8a4727c0cfbfebc214 + () const noexcept final + + + bool + is_boolean + classtoml_1_1array.html + abbecf0a51aa3e175bc5748ccf71063d8 + () const noexcept final + + + bool + is_date + classtoml_1_1array.html + a792dc3fd7105185415925d4f9ab3ca1d + () const noexcept final + + + bool + is_time + classtoml_1_1array.html + a2d2fc80512d08af7a934a6d02c7bf506 + () const noexcept final + + + bool + is_date_time + classtoml_1_1array.html + ae844f53a9604fb42f185a91616a72cbd + () const noexcept final + + + table * + as_table + classtoml_1_1array.html + a95985d66ecd4abf6c5822cbd0d239582 + () noexcept final + + + array * + as_array + classtoml_1_1array.html + a97b772796c962a635e8d5c50e7c03b3a + () noexcept final + + + toml::value< std::string > * + as_string + classtoml_1_1array.html + a5d4d3b502ef2e33107eb1d682b282c75 + () noexcept final + + + toml::value< int64_t > * + as_integer + classtoml_1_1array.html + a41d03d31a6ab168bc4b50046c4bbb50f + () noexcept final + + + toml::value< double > * + as_floating_point + classtoml_1_1array.html + a5e6ed524c4548fdd2131dcbb38b8c766 + () noexcept final + + + toml::value< bool > * + as_boolean + classtoml_1_1array.html + ac1989a2c4d50f8493f97c23ee22e15e6 + () noexcept final + + + toml::value< date > * + as_date + classtoml_1_1array.html + a78a9e7b1d44f90eb55403e54d6d31e2b + () noexcept final + + + toml::value< time > * + as_time + classtoml_1_1array.html + a3dedcb2261a528c59454fc9e0bb7c9fb + () noexcept final + + + toml::value< date_time > * + as_date_time + classtoml_1_1array.html + a58c350366cbbab3eb430751212ba9b18 + () noexcept final + + + const table * + as_table + classtoml_1_1array.html + ae45534b573d10c7e2e1c5624153608f9 + () const noexcept final + + + const array * + as_array + classtoml_1_1array.html + a8007db93bdeb82c8c77965ff72056f6b + () const noexcept final + + + const toml::value< std::string > * + as_string + classtoml_1_1array.html + a943378ff5912e9c732b4dee12d4bf2de + () const noexcept final + + + const toml::value< int64_t > * + as_integer + classtoml_1_1array.html + a79871c2b52557b74da8302925b5624ee + () const noexcept final + + + const toml::value< double > * + as_floating_point + classtoml_1_1array.html + a8f5736e45881203e362bcbb43ed90093 + () const noexcept final + + + const toml::value< bool > * + as_boolean + classtoml_1_1array.html + a48206827982b5cffe51662adfc3aec2b + () const noexcept final + + + const toml::value< date > * + as_date + classtoml_1_1array.html + afc3f86ca86c60deda39e69d24abcacca + () const noexcept final + + + const toml::value< time > * + as_time + classtoml_1_1array.html + a7708feaac3561b836e0789db0dfa6db4 + () const noexcept final + + + const toml::value< date_time > * + as_date_time + classtoml_1_1array.html + aa8fb689b36f44a4fa7c0ffccff20dbd9 + () const noexcept final + + + node * + get + classtoml_1_1array.html + a10664e00054ea4021fec5144b69b8792 + (size_t index) noexcept + + + const node * + get + classtoml_1_1array.html + a44db509dce6b7b77e563c822a5936abe + (size_t index) const noexcept + + + impl::wrap_node< ElemType > * + get_as + classtoml_1_1array.html + a5c2f4624498cba9e1e467b0eb2e9046e + (size_t index) noexcept + + + const impl::wrap_node< ElemType > * + get_as + classtoml_1_1array.html + ae47ca1cc4c61e94fed30aea72ca8d268 + (size_t index) const noexcept + + + node & + operator[] + classtoml_1_1array.html + a853bad0297ca4dcee57c97da2fe318e7 + (size_t index) noexcept + + + const node & + operator[] + classtoml_1_1array.html + ae9f72a1b877f2ac66327a152d55aa9c6 + (size_t index) const noexcept + + + node & + at + classtoml_1_1array.html + aeade4e0cafa3f57b4800e72baa843b1e + (size_t index) + + + const node & + at + classtoml_1_1array.html + a8a5957e22aa2d0f4f9e6feaf9bfffa55 + (size_t index) const + + + node & + front + classtoml_1_1array.html + a9c78848129a2a703c154e7cbe1a973d3 + () noexcept + + + const node & + front + classtoml_1_1array.html + a5ba3af18c63546da6f9d2ac3b5b77f64 + () const noexcept + + + node & + back + classtoml_1_1array.html + a4c58dea5e8795e4b9f8df4f1e1473204 + () noexcept + + + const node & + back + classtoml_1_1array.html + ac7652c1ab60af2ca1c7d52f0658639b4 + () const noexcept + + + bool + empty + classtoml_1_1array.html + a5d527ea6bfddad1025e90e4363c822cc + () const noexcept + + + size_t + size + classtoml_1_1array.html + af81d7b6a1257ad766a47d9276855a7c9 + () const noexcept + + + size_t + max_size + classtoml_1_1array.html + ae65a76add6d756fc7ba8f12a5aad983c + () const noexcept + + + size_t + capacity + classtoml_1_1array.html + a02b773a1ff337692e78da429030c1610 + () const noexcept + + + void + reserve + classtoml_1_1array.html + a1ba073adc52c3df5ad29cfd7e5daa1d5 + (size_t new_capacity) + + + void + shrink_to_fit + classtoml_1_1array.html + a718c2031ead428aa52912741f6d094aa + () + + + void + truncate + classtoml_1_1array.html + a6e3ac9962c706a88c1001ff83a4084f3 + (size_t new_size) + + + void + resize + classtoml_1_1array.html + ab1aca2337ffce7e583a2cf303f16259f + (size_t new_size, ElemType &&default_init_val, value_flags default_init_flags=preserve_source_value_flags) + + + iterator + erase + classtoml_1_1array.html + a22389a9ed9444fe52be10c4acbdec908 + (const_iterator pos) noexcept + + + iterator + erase + classtoml_1_1array.html + a723388860d72c9a162137d0293366fb2 + (const_iterator first, const_iterator last) noexcept + + + array & + flatten + classtoml_1_1array.html + aa2a21958705629bde15aafae9598a2ec + () & + + + array && + flatten + classtoml_1_1array.html + ad307bea17e7640c57715d67ab8a777d4 + () && + + + array & + prune + classtoml_1_1array.html + ae548cf1dc26ade60733548a00a39b175 + (bool recursive=true) &noexcept + + + array && + prune + classtoml_1_1array.html + a6fc918a151ada40c713d6855af3021c2 + (bool recursive=true) &&noexcept + + + void + pop_back + classtoml_1_1array.html + af99d72e29cef84f736d91d627b47a1dc + () noexcept + + + void + clear + classtoml_1_1array.html + adaa65bf63f29f898c27423306c165d68 + () noexcept + + + iterator + insert + classtoml_1_1array.html + a17c7e34b433ea8907186dbb1788c9d37 + (const_iterator pos, ElemType &&val, value_flags flags=preserve_source_value_flags) + + + iterator + insert + classtoml_1_1array.html + a55a9e6e742e556ea07573d29c23ce7df + (const_iterator pos, size_t count, ElemType &&val, value_flags flags=preserve_source_value_flags) + + + iterator + insert + classtoml_1_1array.html + a60a0d39bfd8721cef23e155f5504d54d + (const_iterator pos, Iter first, Iter last, value_flags flags=preserve_source_value_flags) + + + iterator + insert + classtoml_1_1array.html + a1baecd5d579afb508886572674b89781 + (const_iterator pos, std::initializer_list< ElemType > ilist, value_flags flags=preserve_source_value_flags) + + + iterator + emplace + classtoml_1_1array.html + a4110b96386b33097a255f3694ac01d4a + (const_iterator pos, Args &&... args) + + + iterator + replace + classtoml_1_1array.html + a37a8a283e6c1cbeef757b2e59489ee6c + (const_iterator pos, ElemType &&val, value_flags flags=preserve_source_value_flags) + + + void + push_back + classtoml_1_1array.html + ab7188537b351ef3a756b54b83e4b05b3 + (ElemType &&val, value_flags flags=preserve_source_value_flags) + + + decltype(auto) + emplace_back + classtoml_1_1array.html + ae9ceab13446e118333e3a486e81c2448 + (ElemArgs &&... args) + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + friend bool + operator== + classtoml_1_1array.html + a06cf25e3f80c98d88e041ef9823976c0 + (const array &lhs, const array &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1array.html + af06c7437a0946a9d5e093d903b59f6a4 + (const array &lhs, const array &rhs) noexcept + + + friend bool + operator== + classtoml_1_1array.html + ab87e435c5a41140e60cd2e703df96fbd + (const array &lhs, const std::initializer_list< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1array.html + a5b3c615e4ba8fd780b966f175070b554 + (const array &lhs, const std::vector< T > &rhs) noexcept + + + + toml::date + structtoml_1_1date.html + + + date + structtoml_1_1date.html + a5cbb79ab52538ec7a74022cf4fcfb129 + () noexcept=default + + + constexpr + date + structtoml_1_1date.html + a6025b77738bf7ed2db704cc85297e74d + (Y y, M m, D d) noexcept + + + uint16_t + year + structtoml_1_1date.html + ad1dc522b115c69dc908540b1c6ff792b + + + + uint8_t + month + structtoml_1_1date.html + a0528c722d0a81741a95f6e3a1116614e + + + + uint8_t + day + structtoml_1_1date.html + a8ec7a7238b8edd3341b450a7b43ec011 + + + + constexpr friend bool + operator== + structtoml_1_1date.html + af76134298f28a36f104515fa6ba018b0 + (const date &lhs, const date &rhs) noexcept + + + constexpr friend bool + operator!= + structtoml_1_1date.html + a5e1b63040c6d403b8e0a717c77d9509d + (const date &lhs, const date &rhs) noexcept + + + constexpr friend bool + operator< + structtoml_1_1date.html + a800189899a4daf5b8cdf1c5b252b772d + (const date &lhs, const date &rhs) noexcept + + + constexpr friend bool + operator<= + structtoml_1_1date.html + a0add90c8bea1fdc5ff50cbbeb5e169fc + (const date &lhs, const date &rhs) noexcept + + + constexpr friend bool + operator> + structtoml_1_1date.html + a1861ff6d5850f8148ce002c75b2ab952 + (const date &lhs, const date &rhs) noexcept + + + constexpr friend bool + operator>= + structtoml_1_1date.html + a8f74ab67a378a52e28478d5f768e4152 + (const date &lhs, const date &rhs) noexcept + + + friend std::ostream & + operator<< + structtoml_1_1date.html + aa24fddba6149a26f1dbeefe036126316 + (std::ostream &lhs, const date &rhs) + + + + toml::date_time + structtoml_1_1date__time.html + + + date_time + structtoml_1_1date__time.html + a2c9ee1c5c94a6623e9cac5db65289d1f + () noexcept=default + + + constexpr + date_time + structtoml_1_1date__time.html + a8b084d38079cf71db0d0ac8465928dc2 + (const toml::date &d, const toml::time &t) noexcept + + + constexpr + date_time + structtoml_1_1date__time.html + a5394c8e6690f59e627f92b614b06be58 + (const toml::date &d) noexcept + + + constexpr + date_time + structtoml_1_1date__time.html + a73df51041eee08b984d38462ba3fdda4 + (const toml::time &t) noexcept + + + constexpr + date_time + structtoml_1_1date__time.html + aacba153f96e9637d536add5159bad99a + (const toml::date &d, const toml::time &t, const toml::time_offset &off) noexcept + + + constexpr bool + is_local + structtoml_1_1date__time.html + af0d6119984645eb015f2fad0ef487bbc + () const noexcept + + + toml::date + date + structtoml_1_1date__time.html + a89f398585f373d1e7bd59fe440212074 + + + + toml::time + time + structtoml_1_1date__time.html + a18d5e772db4f61635643cda390c2b720 + + + + optional< toml::time_offset > + offset + structtoml_1_1date__time.html + af8596013f522b94a88d2caf69e90a1f5 + + + + constexpr friend bool + operator== + structtoml_1_1date__time.html + a885cbe902aeadacb0953230ade9d8b9a + (const date_time &lhs, const date_time &rhs) noexcept + + + constexpr friend bool + operator!= + structtoml_1_1date__time.html + a9ae0e032ffe90928c47b40bd8155dea3 + (const date_time &lhs, const date_time &rhs) noexcept + + + constexpr friend bool + operator< + structtoml_1_1date__time.html + a4f67803fdc02fb5549ba213a9273a63b + (const date_time &lhs, const date_time &rhs) noexcept + + + constexpr friend bool + operator<= + structtoml_1_1date__time.html + a7b2f0261ae38ef6dbb6de0fb35fbbf3b + (const date_time &lhs, const date_time &rhs) noexcept + + + constexpr friend bool + operator> + structtoml_1_1date__time.html + a1bceb05028f33a829d61ffc768eab78a + (const date_time &lhs, const date_time &rhs) noexcept + + + constexpr friend bool + operator>= + structtoml_1_1date__time.html + a361fb1904f477e0a1f7acaa3cdd14abf + (const date_time &lhs, const date_time &rhs) noexcept + + + friend std::ostream & + operator<< + structtoml_1_1date__time.html + a5a090cb9dfa0d6a3e74603ba702bbddc + (std::ostream &lhs, const date_time &rhs) + + + + toml::inserter + structtoml_1_1inserter.html + + + + toml::json_formatter + classtoml_1_1json__formatter.html + + + json_formatter + classtoml_1_1json__formatter.html + ade267ecca82e3bbac3d1392abab91be9 + (const toml::node &source, format_flags flags=default_flags) noexcept + + + + json_formatter + classtoml_1_1json__formatter.html + a51785aa8ef373a9136e896fafabd53be + (const toml::parse_result &result, format_flags flags=default_flags) noexcept + + + static constexpr format_flags + default_flags + classtoml_1_1json__formatter.html + a4541a4662894ce8936f6f2c3ab90fe2e + + + + friend std::ostream & + operator<< + classtoml_1_1json__formatter.html + a2b88bc230c589c1fad25ffd8df96b74e + (std::ostream &lhs, json_formatter &rhs) + + + friend std::ostream & + operator<< + classtoml_1_1json__formatter.html + a5eefe4e5ca640b12fbb09fd521eab335 + (std::ostream &lhs, json_formatter &&rhs) + + + + toml::key + classtoml_1_1key.html + + + key + classtoml_1_1key.html + ac978efd3b48ec0a5c14f08618e4dbe23 + () noexcept=default + + + + key + classtoml_1_1key.html + a5119f122c15687a2f0f81b270a627de2 + (std::string_view k, source_region &&src={}) + + + + key + classtoml_1_1key.html + a0718eb26f4d9c1a4c0fb928efb0d6f81 + (std::string_view k, const source_region &src) + + + + key + classtoml_1_1key.html + a788b1bbeaf636dccc4a78f832bf123e0 + (std::string &&k, source_region &&src={}) noexcept + + + + key + classtoml_1_1key.html + ab86ff590f222d57b8f4630901298d8da + (std::string &&k, const source_region &src) noexcept + + + + key + classtoml_1_1key.html + a981f5ee2fbd822d47d0b347c5df55f11 + (const char *k, source_region &&src={}) + + + + key + classtoml_1_1key.html + ad5f26b37172e34a8c70e848ad7911710 + (const char *k, const source_region &src) + + + + key + classtoml_1_1key.html + a67cfed717c84773ab3fe6ec1b7936fa7 + (std::wstring_view k, source_region &&src={}) + + + + key + classtoml_1_1key.html + aba2cb69db8cae7cbc60899a0ee7618d3 + (std::wstring_view k, const source_region &src) + + + std::string_view + str + classtoml_1_1key.html + a0ca779e816081627f78965683182d4dc + () const noexcept + + + + operator std::string_view + classtoml_1_1key.html + a0f580806c0894ea820c533a9f6e0fa91 + () const noexcept + + + bool + empty + classtoml_1_1key.html + a2baa48f26dac4a10a8328706f9386417 + () const noexcept + + + const char * + data + classtoml_1_1key.html + a49f230dc58174f399f49100115ee088f + () const noexcept + + + size_t + length + classtoml_1_1key.html + a5ffa3226fa66f1be190178572a87a000 + () const noexcept + + + const source_region & + source + classtoml_1_1key.html + a82a81d4a4e4d502b661ee2ba10810bea + () const noexcept + + + friend std::ostream & + operator<< + classtoml_1_1key.html + a78eb7afc69ecd78f4f6ded062f2f7ea7 + (std::ostream &lhs, const key &rhs) + + + friend bool + operator== + classtoml_1_1key.html + aa1d636ad061ad2c8e33c629e112bba5e + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1key.html + a1255e940048a362bda11ee240b3f1ffe + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator< + classtoml_1_1key.html + a7a6f49b1bdf3e234f7598481a4afd5db + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1key.html + ae300be177925b12b73568e194c1444ae + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator> + classtoml_1_1key.html + ae51dcf0f86bed0f6f5ce24d326c0badc + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1key.html + a3c20053f6eae90f946535a95225f522a + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator== + classtoml_1_1key.html + a545b27567960385af1c8ae669029d7dd + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator!= + classtoml_1_1key.html + a24ea2ab9799ab7fec679f2dae3afccf2 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator< + classtoml_1_1key.html + a5578fc46610d6f6e684fbffdf3f61a44 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator<= + classtoml_1_1key.html + a9c59103b835fb600dbb6c808f8c4f8a8 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator> + classtoml_1_1key.html + ad48d1d36a11a9434bc339987838b08f6 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator>= + classtoml_1_1key.html + a61e19637671ad5c5856eafd5753e9b65 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator== + classtoml_1_1key.html + aed4a71da8d0ffb75d847ab2c26948a1c + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1key.html + a165b2057b0144350b1c291ffb0956122 + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator< + classtoml_1_1key.html + a1bacd712822950e9594fd288a236c9cb + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1key.html + a780d9a226184919f080acf0b0a676400 + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator> + classtoml_1_1key.html + aa85755cf51a2ee6d616aa03a8de8b4b0 + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1key.html + aa89096b9f6b364702858f2dc6734987a + (std::string_view lhs, const key &rhs) noexcept + + + const char * + const_iterator + classtoml_1_1key.html + a38a33d5010936195ac2083e428165512 + + + + const_iterator + iterator + classtoml_1_1key.html + a40c42bc323383db54972b5752b9ad4dd + + + + const_iterator + begin + classtoml_1_1key.html + ab1691956be4ffe1c604e8e66acdc237e + () const noexcept + + + const_iterator + end + classtoml_1_1key.html + a9b37a10b4aff1e6e7902301789f579c8 + () const noexcept + + + std::string_view + str + classtoml_1_1key.html + a0ca779e816081627f78965683182d4dc + () const noexcept + + + + operator std::string_view + classtoml_1_1key.html + a0f580806c0894ea820c533a9f6e0fa91 + () const noexcept + + + bool + empty + classtoml_1_1key.html + a2baa48f26dac4a10a8328706f9386417 + () const noexcept + + + const char * + data + classtoml_1_1key.html + a49f230dc58174f399f49100115ee088f + () const noexcept + + + size_t + length + classtoml_1_1key.html + a5ffa3226fa66f1be190178572a87a000 + () const noexcept + + + const source_region & + source + classtoml_1_1key.html + a82a81d4a4e4d502b661ee2ba10810bea + () const noexcept + + + friend bool + operator== + classtoml_1_1key.html + aa1d636ad061ad2c8e33c629e112bba5e + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1key.html + a1255e940048a362bda11ee240b3f1ffe + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator< + classtoml_1_1key.html + a7a6f49b1bdf3e234f7598481a4afd5db + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1key.html + ae300be177925b12b73568e194c1444ae + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator> + classtoml_1_1key.html + ae51dcf0f86bed0f6f5ce24d326c0badc + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1key.html + a3c20053f6eae90f946535a95225f522a + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator== + classtoml_1_1key.html + a545b27567960385af1c8ae669029d7dd + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator!= + classtoml_1_1key.html + a24ea2ab9799ab7fec679f2dae3afccf2 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator< + classtoml_1_1key.html + a5578fc46610d6f6e684fbffdf3f61a44 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator<= + classtoml_1_1key.html + a9c59103b835fb600dbb6c808f8c4f8a8 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator> + classtoml_1_1key.html + ad48d1d36a11a9434bc339987838b08f6 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator>= + classtoml_1_1key.html + a61e19637671ad5c5856eafd5753e9b65 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator== + classtoml_1_1key.html + aed4a71da8d0ffb75d847ab2c26948a1c + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1key.html + a165b2057b0144350b1c291ffb0956122 + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator< + classtoml_1_1key.html + a1bacd712822950e9594fd288a236c9cb + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1key.html + a780d9a226184919f080acf0b0a676400 + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator> + classtoml_1_1key.html + aa85755cf51a2ee6d616aa03a8de8b4b0 + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1key.html + aa89096b9f6b364702858f2dc6734987a + (std::string_view lhs, const key &rhs) noexcept + + + + toml::node + classtoml_1_1node.html + + virtual bool + is_homogeneous + classtoml_1_1node.html + a68de6772e259ef122c00b0a9c7b63516 + (node_type ntype, node *&first_nonmatch) noexcept=0 + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a834e10ece19d04b4d774d5f224d50b8f + (node_type ntype, const node *&first_nonmatch) const noexcept=0 + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a5d9191dc545ecded3bc8f7706c63edad + (node_type ntype) const noexcept=0 + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + virtual node_type + type + classtoml_1_1node.html + a10f389035ce13abb00a1191358af6334 + () const noexcept=0 + + + virtual bool + is_table + classtoml_1_1node.html + a50a2501af7e42b0fab060206dde7a99e + () const noexcept=0 + + + virtual bool + is_array + classtoml_1_1node.html + accce7655b0cc340591a755412fde2ed7 + () const noexcept=0 + + + virtual bool + is_array_of_tables + classtoml_1_1node.html + aa09263a05ef361ad233e710308fce690 + () const noexcept=0 + + + virtual bool + is_value + classtoml_1_1node.html + aeddf9eebbd4ece799e5675e2d9d59e4a + () const noexcept=0 + + + virtual bool + is_string + classtoml_1_1node.html + aa95180487162e844129031842d8a9580 + () const noexcept=0 + + + virtual bool + is_integer + classtoml_1_1node.html + ac5390ac64f018947edc75802a53505a5 + () const noexcept=0 + + + virtual bool + is_floating_point + classtoml_1_1node.html + ad8cdb68a69bdc13cda7d4f7663e57847 + () const noexcept=0 + + + virtual bool + is_number + classtoml_1_1node.html + afcc263be60c33b3f92646b5cfa07393e + () const noexcept=0 + + + virtual bool + is_boolean + classtoml_1_1node.html + a422f765df7ee04fa13254adcda29ae8d + () const noexcept=0 + + + virtual bool + is_date + classtoml_1_1node.html + a1c86fb0bd8e241c4768108988a59332a + () const noexcept=0 + + + virtual bool + is_time + classtoml_1_1node.html + a9266c340ccc94b3349704e91bf12d42d + () const noexcept=0 + + + virtual bool + is_date_time + classtoml_1_1node.html + a900f7589762e01c91fb5b07a2c8e9202 + () const noexcept=0 + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + virtual table * + as_table + classtoml_1_1node.html + ac0ca09368b80436100a1eb042daccacc + () noexcept=0 + + + virtual array * + as_array + classtoml_1_1node.html + a43bc08c435e4fbf5ebbcf34f902a6377 + () noexcept=0 + + + virtual toml::value< std::string > * + as_string + classtoml_1_1node.html + a8560597586915efad21f288f591c23cd + () noexcept=0 + + + virtual toml::value< int64_t > * + as_integer + classtoml_1_1node.html + a9e1419c3f99eda7767d114095b1ad793 + () noexcept=0 + + + virtual toml::value< double > * + as_floating_point + classtoml_1_1node.html + a61d3f2c50952a1c989f82b54c5c2eeda + () noexcept=0 + + + virtual toml::value< bool > * + as_boolean + classtoml_1_1node.html + aea93e54eb94c6cb48d240766983fa493 + () noexcept=0 + + + virtual toml::value< date > * + as_date + classtoml_1_1node.html + adcf92e730609341bb1e3c0ae1d12c36f + () noexcept=0 + + + virtual toml::value< time > * + as_time + classtoml_1_1node.html + a2d88fef8e892aae05c3e9886fdef7dce + () noexcept=0 + + + virtual toml::value< date_time > * + as_date_time + classtoml_1_1node.html + ae1312e66ac95fc1cf6ae12f48e000b2a + () noexcept=0 + + + virtual const table * + as_table + classtoml_1_1node.html + aa167e4d8d6e6db784affe8490e178c8b + () const noexcept=0 + + + virtual const array * + as_array + classtoml_1_1node.html + a7ed34b94f3999b03db45fd5e0830637d + () const noexcept=0 + + + virtual const toml::value< std::string > * + as_string + classtoml_1_1node.html + a47c55af38414fdb32075c378b3405bfa + () const noexcept=0 + + + virtual const toml::value< int64_t > * + as_integer + classtoml_1_1node.html + a43bea93af60b57ecc98efaf50dccfe9b + () const noexcept=0 + + + virtual const toml::value< double > * + as_floating_point + classtoml_1_1node.html + a4ceaa3a398fa76c134c902ec1c4778aa + () const noexcept=0 + + + virtual const toml::value< bool > * + as_boolean + classtoml_1_1node.html + a45dd3436280deeb307127278f816e8e9 + () const noexcept=0 + + + virtual const toml::value< date > * + as_date + classtoml_1_1node.html + ac15b9b4e6aa05ca616bac37610af27fc + () const noexcept=0 + + + virtual const toml::value< time > * + as_time + classtoml_1_1node.html + a7ebf75d2978ae1ea32daff4c063217e7 + () const noexcept=0 + + + virtual const toml::value< date_time > * + as_date_time + classtoml_1_1node.html + a7d7b9d4defe5ffc3f1398715f5e325b3 + () const noexcept=0 + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a68de6772e259ef122c00b0a9c7b63516 + (node_type ntype, node *&first_nonmatch) noexcept=0 + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a834e10ece19d04b4d774d5f224d50b8f + (node_type ntype, const node *&first_nonmatch) const noexcept=0 + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a5d9191dc545ecded3bc8f7706c63edad + (node_type ntype) const noexcept=0 + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + virtual node_type + type + classtoml_1_1node.html + a10f389035ce13abb00a1191358af6334 + () const noexcept=0 + + + virtual bool + is_table + classtoml_1_1node.html + a50a2501af7e42b0fab060206dde7a99e + () const noexcept=0 + + + virtual bool + is_array + classtoml_1_1node.html + accce7655b0cc340591a755412fde2ed7 + () const noexcept=0 + + + virtual bool + is_array_of_tables + classtoml_1_1node.html + aa09263a05ef361ad233e710308fce690 + () const noexcept=0 + + + virtual bool + is_value + classtoml_1_1node.html + aeddf9eebbd4ece799e5675e2d9d59e4a + () const noexcept=0 + + + virtual bool + is_string + classtoml_1_1node.html + aa95180487162e844129031842d8a9580 + () const noexcept=0 + + + virtual bool + is_integer + classtoml_1_1node.html + ac5390ac64f018947edc75802a53505a5 + () const noexcept=0 + + + virtual bool + is_floating_point + classtoml_1_1node.html + ad8cdb68a69bdc13cda7d4f7663e57847 + () const noexcept=0 + + + virtual bool + is_number + classtoml_1_1node.html + afcc263be60c33b3f92646b5cfa07393e + () const noexcept=0 + + + virtual bool + is_boolean + classtoml_1_1node.html + a422f765df7ee04fa13254adcda29ae8d + () const noexcept=0 + + + virtual bool + is_date + classtoml_1_1node.html + a1c86fb0bd8e241c4768108988a59332a + () const noexcept=0 + + + virtual bool + is_time + classtoml_1_1node.html + a9266c340ccc94b3349704e91bf12d42d + () const noexcept=0 + + + virtual bool + is_date_time + classtoml_1_1node.html + a900f7589762e01c91fb5b07a2c8e9202 + () const noexcept=0 + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + virtual table * + as_table + classtoml_1_1node.html + ac0ca09368b80436100a1eb042daccacc + () noexcept=0 + + + virtual array * + as_array + classtoml_1_1node.html + a43bc08c435e4fbf5ebbcf34f902a6377 + () noexcept=0 + + + virtual toml::value< std::string > * + as_string + classtoml_1_1node.html + a8560597586915efad21f288f591c23cd + () noexcept=0 + + + virtual toml::value< int64_t > * + as_integer + classtoml_1_1node.html + a9e1419c3f99eda7767d114095b1ad793 + () noexcept=0 + + + virtual toml::value< double > * + as_floating_point + classtoml_1_1node.html + a61d3f2c50952a1c989f82b54c5c2eeda + () noexcept=0 + + + virtual toml::value< bool > * + as_boolean + classtoml_1_1node.html + aea93e54eb94c6cb48d240766983fa493 + () noexcept=0 + + + virtual toml::value< date > * + as_date + classtoml_1_1node.html + adcf92e730609341bb1e3c0ae1d12c36f + () noexcept=0 + + + virtual toml::value< time > * + as_time + classtoml_1_1node.html + a2d88fef8e892aae05c3e9886fdef7dce + () noexcept=0 + + + virtual toml::value< date_time > * + as_date_time + classtoml_1_1node.html + ae1312e66ac95fc1cf6ae12f48e000b2a + () noexcept=0 + + + virtual const table * + as_table + classtoml_1_1node.html + aa167e4d8d6e6db784affe8490e178c8b + () const noexcept=0 + + + virtual const array * + as_array + classtoml_1_1node.html + a7ed34b94f3999b03db45fd5e0830637d + () const noexcept=0 + + + virtual const toml::value< std::string > * + as_string + classtoml_1_1node.html + a47c55af38414fdb32075c378b3405bfa + () const noexcept=0 + + + virtual const toml::value< int64_t > * + as_integer + classtoml_1_1node.html + a43bea93af60b57ecc98efaf50dccfe9b + () const noexcept=0 + + + virtual const toml::value< double > * + as_floating_point + classtoml_1_1node.html + a4ceaa3a398fa76c134c902ec1c4778aa + () const noexcept=0 + + + virtual const toml::value< bool > * + as_boolean + classtoml_1_1node.html + a45dd3436280deeb307127278f816e8e9 + () const noexcept=0 + + + virtual const toml::value< date > * + as_date + classtoml_1_1node.html + ac15b9b4e6aa05ca616bac37610af27fc + () const noexcept=0 + + + virtual const toml::value< time > * + as_time + classtoml_1_1node.html + a7ebf75d2978ae1ea32daff4c063217e7 + () const noexcept=0 + + + virtual const toml::value< date_time > * + as_date_time + classtoml_1_1node.html + a7d7b9d4defe5ffc3f1398715f5e325b3 + () const noexcept=0 + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + + toml::node_view + classtoml_1_1node__view.html + + + ViewedType + viewed_type + classtoml_1_1node__view.html + a1550f4e57532fd03b6c3e9d87805c03a + + + + + node_view + classtoml_1_1node__view.html + a0d8bf511db11b67081bea35c25e4ca9e + () noexcept=default + + + + node_view + classtoml_1_1node__view.html + a199ca0c01e27a74b2ad6dbe554113fb8 + (viewed_type *node) noexcept + + + + node_view + classtoml_1_1node__view.html + af40ced8902e81e354af44a033f05d682 + (viewed_type &node) noexcept + + + + node_view + classtoml_1_1node__view.html + a6f2a4c199237385a61741ab30a64b500 + (const node_view &) noexcept=default + + + + node_view + classtoml_1_1node__view.html + a79091432e79c07c4bb8700f44adfb8d6 + (node_view &&) noexcept=default + + + node_view & + operator= + classtoml_1_1node__view.html + afa455c0337a6fe4d1ca533e10750ba9e + (const node_view &) &noexcept=default + + + node_view & + operator= + classtoml_1_1node__view.html + a3dd8195e3971ebb2110b812783cff136 + (node_view &&) &noexcept=default + + + + operator bool + classtoml_1_1node__view.html + ab8ee0ffcb999601a9b0247c099aa9250 + () const noexcept + + + viewed_type * + node + classtoml_1_1node__view.html + afb42ba6fdddfb407bd37b697a407246d + () const noexcept + + + node_type + type + classtoml_1_1node__view.html + a2483cf1a8314661919b9066ce62c9621 + () const noexcept + + + bool + is_table + classtoml_1_1node__view.html + a70b567ea582c472fe95a89b5b842cee6 + () const noexcept + + + bool + is_array + classtoml_1_1node__view.html + a879d945d2880fc216085d7deb087ad38 + () const noexcept + + + bool + is_value + classtoml_1_1node__view.html + aa58f8de47be5f53738b1a04d7e9d05af + () const noexcept + + + bool + is_string + classtoml_1_1node__view.html + a79b47268155d955b8e2c027b0c2ae983 + () const noexcept + + + bool + is_integer + classtoml_1_1node__view.html + ab9c835ddf017f250d84fa5d5736e8520 + () const noexcept + + + bool + is_floating_point + classtoml_1_1node__view.html + a43ea3eed7b0f133fa7d752a9322c758e + () const noexcept + + + bool + is_number + classtoml_1_1node__view.html + a107732370c62402b1101a78e7382fd8b + () const noexcept + + + bool + is_boolean + classtoml_1_1node__view.html + aa7ee0d1f396e1283c4a11d07b9400897 + () const noexcept + + + bool + is_date + classtoml_1_1node__view.html + a4dc7cf8a57db73fa799a939f7acd549d + () const noexcept + + + bool + is_time + classtoml_1_1node__view.html + a98a6bc33e3ba573c37a069126acf0b8c + () const noexcept + + + bool + is_date_time + classtoml_1_1node__view.html + a5a380f773ae291c942a03e45a88c94b0 + () const noexcept + + + bool + is_array_of_tables + classtoml_1_1node__view.html + a6cc459be36698ec5a9ac0d00b4480eae + () const noexcept + + + bool + is + classtoml_1_1node__view.html + a21d7c55a33aa1c868dde5cbaa7e54ec2 + () const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + a2a2902064421f401e80ea687cef536da + (node_type ntype, viewed_type *&first_nonmatch) const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + afe0abd51e0e108b306be2a3ee9561cca + (node_type ntype) const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + a29c82d83b1d64f016eb42f95fd37e346 + () const noexcept + + + auto * + as + classtoml_1_1node__view.html + a5cd619f292f91fc9d417c61905ea8204 + () const noexcept + + + auto * + as_table + classtoml_1_1node__view.html + a5b73b7eeaa97666ebee3d604171a5576 + () const noexcept + + + auto * + as_array + classtoml_1_1node__view.html + a8593d229d139b05dc81d5d2d97ce3a1f + () const noexcept + + + auto * + as_string + classtoml_1_1node__view.html + a33c4dd8fb9498f6de6fb06714b508d17 + () const noexcept + + + auto * + as_integer + classtoml_1_1node__view.html + ad21750582ec6303e0b257b132ec4409d + () const noexcept + + + auto * + as_floating_point + classtoml_1_1node__view.html + a926821efb73ad7292e3f14841c54871b + () const noexcept + + + auto * + as_boolean + classtoml_1_1node__view.html + a9fec898a7fa88ddbb396fe3b2a81c945 + () const noexcept + + + auto * + as_date + classtoml_1_1node__view.html + a94a7cf14d6ca777de56abd5cdbe8eece + () const noexcept + + + auto * + as_time + classtoml_1_1node__view.html + a94087a35223d51ca76f22a361031bd7e + () const noexcept + + + auto * + as_date_time + classtoml_1_1node__view.html + a5bcb3ac0edcc516efda53fd022057282 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node__view.html + a2d558e7799bc4e24adda096446eb384d + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node__view.html + abb51a912462a258379b968c4074f8324 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node__view.html + a314e5d666dcda3493ff9aa2c0816f53c + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node__view.html + aec5c764293a7eeb20009a484b34d7c3a + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node__view.html + aa5f84bfab779c71a07b04ca0b2db863f + (Func &&visitor) const noexcept(visit_is_nothrow< Func && >) + + + node_view + operator[] + classtoml_1_1node__view.html + a2dde12894f70530d80de45a03eae78fa + (std::string_view key) const noexcept + + + node_view + at_path + classtoml_1_1node__view.html + a59c5432fb77b50ef22098e17d4f956d5 + (std::string_view path) const noexcept + + + node_view + operator[] + classtoml_1_1node__view.html + a35021e65758dc0be505916532b69a7d8 + (std::wstring_view key) const + + + node_view + at_path + classtoml_1_1node__view.html + a157c1eafb7bdf8f33398106017d1b20c + (std::wstring_view path) const + + + node_view + operator[] + classtoml_1_1node__view.html + a5d13b026efcd31812415ead30eeb69db + (size_t index) const noexcept + + + friend std::ostream & + operator<< + classtoml_1_1node__view.html + a170109f0b77888f54b2fcdb8fee0ab90 + (std::ostream &os, const node_view &nv) + + + friend bool + operator== + classtoml_1_1node__view.html + a191820d030035d564fe09f5eb251b927 + (const node_view &lhs, const node_view< T > &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1node__view.html + a3dc82b95849d7e6bd89b5496fe96beaa + (const node_view &lhs, const node_view< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a754bdba78869afe6bccb4b51e0a77e45 + (const node_view &lhs, const table &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a3b39aedbada6221a4e3857b0f0235843 + (const node_view &lhs, const array &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + ad9fd96826fcee43cd1ea1ccf6e22c895 + (const node_view &lhs, const toml::value< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a4dba3ed7356704669e4175fa7c8f5c34 + (const node_view &lhs, const T &rhs) noexcept(!impl::is_wide_string< T >) + + + friend bool + operator== + classtoml_1_1node__view.html + abe826c97f2b451ee287ecf37f46517fb + (const node_view &lhs, const std::initializer_list< T > &rhs) noexcept(!impl::is_wide_string< T >) + + + friend bool + operator== + classtoml_1_1node__view.html + ad4b4144f8033c78e5410f701e5ae7e30 + (const node_view &lhs, const std::vector< T > &rhs) noexcept(!impl::is_wide_string< T >) + + + friend bool + operator== + classtoml_1_1node__view.html + a191820d030035d564fe09f5eb251b927 + (const node_view &lhs, const node_view< T > &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1node__view.html + a3dc82b95849d7e6bd89b5496fe96beaa + (const node_view &lhs, const node_view< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a754bdba78869afe6bccb4b51e0a77e45 + (const node_view &lhs, const table &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a3b39aedbada6221a4e3857b0f0235843 + (const node_view &lhs, const array &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + ad9fd96826fcee43cd1ea1ccf6e22c895 + (const node_view &lhs, const toml::value< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a4dba3ed7356704669e4175fa7c8f5c34 + (const node_view &lhs, const T &rhs) noexcept(!impl::is_wide_string< T >) + + + friend bool + operator== + classtoml_1_1node__view.html + abe826c97f2b451ee287ecf37f46517fb + (const node_view &lhs, const std::initializer_list< T > &rhs) noexcept(!impl::is_wide_string< T >) + + + friend bool + operator== + classtoml_1_1node__view.html + ad4b4144f8033c78e5410f701e5ae7e30 + (const node_view &lhs, const std::vector< T > &rhs) noexcept(!impl::is_wide_string< T >) + + + node_type + type + classtoml_1_1node__view.html + a2483cf1a8314661919b9066ce62c9621 + () const noexcept + + + bool + is_table + classtoml_1_1node__view.html + a70b567ea582c472fe95a89b5b842cee6 + () const noexcept + + + bool + is_array + classtoml_1_1node__view.html + a879d945d2880fc216085d7deb087ad38 + () const noexcept + + + bool + is_value + classtoml_1_1node__view.html + aa58f8de47be5f53738b1a04d7e9d05af + () const noexcept + + + bool + is_string + classtoml_1_1node__view.html + a79b47268155d955b8e2c027b0c2ae983 + () const noexcept + + + bool + is_integer + classtoml_1_1node__view.html + ab9c835ddf017f250d84fa5d5736e8520 + () const noexcept + + + bool + is_floating_point + classtoml_1_1node__view.html + a43ea3eed7b0f133fa7d752a9322c758e + () const noexcept + + + bool + is_number + classtoml_1_1node__view.html + a107732370c62402b1101a78e7382fd8b + () const noexcept + + + bool + is_boolean + classtoml_1_1node__view.html + aa7ee0d1f396e1283c4a11d07b9400897 + () const noexcept + + + bool + is_date + classtoml_1_1node__view.html + a4dc7cf8a57db73fa799a939f7acd549d + () const noexcept + + + bool + is_time + classtoml_1_1node__view.html + a98a6bc33e3ba573c37a069126acf0b8c + () const noexcept + + + bool + is_date_time + classtoml_1_1node__view.html + a5a380f773ae291c942a03e45a88c94b0 + () const noexcept + + + bool + is_array_of_tables + classtoml_1_1node__view.html + a6cc459be36698ec5a9ac0d00b4480eae + () const noexcept + + + bool + is + classtoml_1_1node__view.html + a21d7c55a33aa1c868dde5cbaa7e54ec2 + () const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + a2a2902064421f401e80ea687cef536da + (node_type ntype, viewed_type *&first_nonmatch) const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + afe0abd51e0e108b306be2a3ee9561cca + (node_type ntype) const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + a29c82d83b1d64f016eb42f95fd37e346 + () const noexcept + + + auto * + as + classtoml_1_1node__view.html + a5cd619f292f91fc9d417c61905ea8204 + () const noexcept + + + auto * + as_table + classtoml_1_1node__view.html + a5b73b7eeaa97666ebee3d604171a5576 + () const noexcept + + + auto * + as_array + classtoml_1_1node__view.html + a8593d229d139b05dc81d5d2d97ce3a1f + () const noexcept + + + auto * + as_string + classtoml_1_1node__view.html + a33c4dd8fb9498f6de6fb06714b508d17 + () const noexcept + + + auto * + as_integer + classtoml_1_1node__view.html + ad21750582ec6303e0b257b132ec4409d + () const noexcept + + + auto * + as_floating_point + classtoml_1_1node__view.html + a926821efb73ad7292e3f14841c54871b + () const noexcept + + + auto * + as_boolean + classtoml_1_1node__view.html + a9fec898a7fa88ddbb396fe3b2a81c945 + () const noexcept + + + auto * + as_date + classtoml_1_1node__view.html + a94a7cf14d6ca777de56abd5cdbe8eece + () const noexcept + + + auto * + as_time + classtoml_1_1node__view.html + a94087a35223d51ca76f22a361031bd7e + () const noexcept + + + auto * + as_date_time + classtoml_1_1node__view.html + a5bcb3ac0edcc516efda53fd022057282 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node__view.html + a2d558e7799bc4e24adda096446eb384d + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node__view.html + abb51a912462a258379b968c4074f8324 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node__view.html + a314e5d666dcda3493ff9aa2c0816f53c + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node__view.html + aec5c764293a7eeb20009a484b34d7c3a + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node__view.html + aa5f84bfab779c71a07b04ca0b2db863f + (Func &&visitor) const noexcept(visit_is_nothrow< Func && >) + + + node_view + operator[] + classtoml_1_1node__view.html + a2dde12894f70530d80de45a03eae78fa + (std::string_view key) const noexcept + + + node_view + at_path + classtoml_1_1node__view.html + a59c5432fb77b50ef22098e17d4f956d5 + (std::string_view path) const noexcept + + + node_view + operator[] + classtoml_1_1node__view.html + a35021e65758dc0be505916532b69a7d8 + (std::wstring_view key) const + + + node_view + at_path + classtoml_1_1node__view.html + a157c1eafb7bdf8f33398106017d1b20c + (std::wstring_view path) const + + + node_view + operator[] + classtoml_1_1node__view.html + a5d13b026efcd31812415ead30eeb69db + (size_t index) const noexcept + + + + toml::parse_error + classtoml_1_1parse__error.html + + std::string_view + description + classtoml_1_1parse__error.html + a5582e9d66f8aa3f6ef442c0a04d5282f + () const noexcept + + + const source_region & + source + classtoml_1_1parse__error.html + a8168b4941305654cf4ba8fc96efd0514 + () const noexcept + + + friend std::ostream & + operator<< + classtoml_1_1parse__error.html + a90796878877b2a028354f643be725cf6 + (std::ostream &lhs, const parse_error &rhs) + + + + toml::parse_result + classtoml_1_1parse__result.html + + + parse_result + classtoml_1_1parse__result.html + a49f926286dae7ed5a6298f5a3656548b + () noexcept + + + + parse_result + classtoml_1_1parse__result.html + a058b76f39fb5a971585538f2d4098ba5 + (parse_result &&res) noexcept + + + parse_result & + operator= + classtoml_1_1parse__result.html + aa4c2c770a8d214f9d508582233ff1d84 + (parse_result &&rhs) noexcept + + + + ~parse_result + classtoml_1_1parse__result.html + ad9e22f09854af4c36860d61e0c0f25b1 + () noexcept + + + bool + succeeded + classtoml_1_1parse__result.html + ab5bfcd6ed385016395029bd69ad78a3c + () const noexcept + + + bool + failed + classtoml_1_1parse__result.html + a9097bc552007537f840602ceca00e99b + () const noexcept + + + + operator bool + classtoml_1_1parse__result.html + af66ea78a6dd881521ce865a372298e12 + () const noexcept + + + toml::table & + table + classtoml_1_1parse__result.html + a47d2ead20ae9d1681210c63319a6a162 + () &noexcept + + + toml::table && + table + classtoml_1_1parse__result.html + a77b470b66dd401a0a929006dd788b882 + () &&noexcept + + + const toml::table & + table + classtoml_1_1parse__result.html + a993f5d59c4b10f87138f8abb8a16d51d + () const &noexcept + + + + operator toml::table & + classtoml_1_1parse__result.html + a5e14e22d4d68b27c11711a3319dc6bf9 + () noexcept + + + + operator toml::table && + classtoml_1_1parse__result.html + a8dca1600886954b38b99a4a4f9cb77c4 + () noexcept + + + + operator const toml::table & + classtoml_1_1parse__result.html + a9d059289edaf6c7fb71916b21a2f9c9f + () const noexcept + + + parse_error & + error + classtoml_1_1parse__result.html + aefbb9aafdf00fa1ac979962d22e12e68 + () &noexcept + + + parse_error && + error + classtoml_1_1parse__result.html + ab07914228f9f7436628c99df454f177d + () &&noexcept + + + const parse_error & + error + classtoml_1_1parse__result.html + a9a5929b01df9a7f7f986b8431cefd2b8 + () const &noexcept + + + + operator parse_error & + classtoml_1_1parse__result.html + abc8a693cb538441b5974eff38c716669 + () noexcept + + + + operator parse_error && + classtoml_1_1parse__result.html + a9f70aa665d84aaf5f936dd27f6c95c4a + () noexcept + + + + operator const parse_error & + classtoml_1_1parse__result.html + a43df64e02443b2abfd9d2c86c5e4c30a + () const noexcept + + + node_view< node > + operator[] + classtoml_1_1parse__result.html + a8825eaef011c7dbb5c1d1e46584e90bc + (std::string_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1parse__result.html + a1d91207197c22f396acba5d46995d8ab + (std::string_view key) const noexcept + + + node_view< node > + at_path + classtoml_1_1parse__result.html + a09972ac3195147c36fcb40386c863a35 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1parse__result.html + a1296ae08b7d147c6b83f1ba07fc4186f + (std::string_view path) const noexcept + + + node_view< node > + operator[] + classtoml_1_1parse__result.html + ade8c625d35dcc5b4fdec97d9f5a7f96f + (std::wstring_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1parse__result.html + a58a3ee971220497ef922fc2ab5c7a9c0 + (std::wstring_view key) const noexcept + + + node_view< node > + at_path + classtoml_1_1parse__result.html + aafcd481c363a53ef525543373f5d8f68 + (std::wstring_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1parse__result.html + ac8db081d83ce6f41a46e586e41c58b5a + (std::wstring_view path) const noexcept + + + friend std::ostream & + operator<< + classtoml_1_1parse__result.html + ad4eaa8dc3cc144a912a63d9f95331572 + (std::ostream &os, const parse_result &result) + + + table_iterator + iterator + classtoml_1_1parse__result.html + aae503c11e9f9162de5cbef5e2c9f4863 + + + + const_table_iterator + const_iterator + classtoml_1_1parse__result.html + abf92ffb48c1f4d0f129f4032708d4ab0 + + + + table_iterator + begin + classtoml_1_1parse__result.html + a3f641e942f1518dffad6fcc7dc13893d + () noexcept + + + const_table_iterator + begin + classtoml_1_1parse__result.html + a910f13933a0547a2920404287829781f + () const noexcept + + + const_table_iterator + cbegin + classtoml_1_1parse__result.html + af58212d8a367e5c1d38eb5d58708754b + () const noexcept + + + table_iterator + end + classtoml_1_1parse__result.html + a336d398e329f08195d714ff02fdffca6 + () noexcept + + + const_table_iterator + end + classtoml_1_1parse__result.html + a154d32bca3ea50dc5030372675a85a65 + () const noexcept + + + const_table_iterator + cend + classtoml_1_1parse__result.html + afa4f821ad60ceb06327cec6b42b05071 + () const noexcept + + + bool + succeeded + classtoml_1_1parse__result.html + ab5bfcd6ed385016395029bd69ad78a3c + () const noexcept + + + bool + failed + classtoml_1_1parse__result.html + a9097bc552007537f840602ceca00e99b + () const noexcept + + + + operator bool + classtoml_1_1parse__result.html + af66ea78a6dd881521ce865a372298e12 + () const noexcept + + + toml::table & + table + classtoml_1_1parse__result.html + a47d2ead20ae9d1681210c63319a6a162 + () &noexcept + + + toml::table && + table + classtoml_1_1parse__result.html + a77b470b66dd401a0a929006dd788b882 + () &&noexcept + + + const toml::table & + table + classtoml_1_1parse__result.html + a993f5d59c4b10f87138f8abb8a16d51d + () const &noexcept + + + + operator toml::table & + classtoml_1_1parse__result.html + a5e14e22d4d68b27c11711a3319dc6bf9 + () noexcept + + + + operator toml::table && + classtoml_1_1parse__result.html + a8dca1600886954b38b99a4a4f9cb77c4 + () noexcept + + + + operator const toml::table & + classtoml_1_1parse__result.html + a9d059289edaf6c7fb71916b21a2f9c9f + () const noexcept + + + parse_error & + error + classtoml_1_1parse__result.html + aefbb9aafdf00fa1ac979962d22e12e68 + () &noexcept + + + parse_error && + error + classtoml_1_1parse__result.html + ab07914228f9f7436628c99df454f177d + () &&noexcept + + + const parse_error & + error + classtoml_1_1parse__result.html + a9a5929b01df9a7f7f986b8431cefd2b8 + () const &noexcept + + + + operator parse_error & + classtoml_1_1parse__result.html + abc8a693cb538441b5974eff38c716669 + () noexcept + + + + operator parse_error && + classtoml_1_1parse__result.html + a9f70aa665d84aaf5f936dd27f6c95c4a + () noexcept + + + + operator const parse_error & + classtoml_1_1parse__result.html + a43df64e02443b2abfd9d2c86c5e4c30a + () const noexcept + + + node_view< node > + operator[] + classtoml_1_1parse__result.html + a8825eaef011c7dbb5c1d1e46584e90bc + (std::string_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1parse__result.html + a1d91207197c22f396acba5d46995d8ab + (std::string_view key) const noexcept + + + node_view< node > + at_path + classtoml_1_1parse__result.html + a09972ac3195147c36fcb40386c863a35 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1parse__result.html + a1296ae08b7d147c6b83f1ba07fc4186f + (std::string_view path) const noexcept + + + node_view< node > + operator[] + classtoml_1_1parse__result.html + ade8c625d35dcc5b4fdec97d9f5a7f96f + (std::wstring_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1parse__result.html + a58a3ee971220497ef922fc2ab5c7a9c0 + (std::wstring_view key) const noexcept + + + node_view< node > + at_path + classtoml_1_1parse__result.html + aafcd481c363a53ef525543373f5d8f68 + (std::wstring_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1parse__result.html + ac8db081d83ce6f41a46e586e41c58b5a + (std::wstring_view path) const noexcept + + + + toml::source_position + structtoml_1_1source__position.html + + constexpr + operator bool + structtoml_1_1source__position.html + accba2f34a07d8b453b8f2f6baf2d73cf + () const noexcept + + + source_index + line + structtoml_1_1source__position.html + ab21cac59798d70e25fe97ac7433763cc + + + + source_index + column + structtoml_1_1source__position.html + a1ca6d0db40c69d2784703011f7cf5434 + + + + constexpr friend bool + operator== + structtoml_1_1source__position.html + a2661adb822c0291c5328d9d00e4b9a8f + (const source_position &lhs, const source_position &rhs) noexcept + + + constexpr friend bool + operator!= + structtoml_1_1source__position.html + a90fec8fa1014a1358a362f9171cdb073 + (const source_position &lhs, const source_position &rhs) noexcept + + + constexpr friend bool + operator< + structtoml_1_1source__position.html + a771714902fb113445597a1fd2a24e8cd + (const source_position &lhs, const source_position &rhs) noexcept + + + constexpr friend bool + operator<= + structtoml_1_1source__position.html + abb7d47c85374301ec48e7c5f3ee1c71a + (const source_position &lhs, const source_position &rhs) noexcept + + + friend std::ostream & + operator<< + structtoml_1_1source__position.html + a40b4b23ccd23a205a2c2298853066aba + (std::ostream &lhs, const source_position &rhs) + + + + toml::source_region + structtoml_1_1source__region.html + + optional< std::wstring > + wide_path + structtoml_1_1source__region.html + a8e9110cd42e834f95e9a12c59909c1c0 + () const + + + source_position + begin + structtoml_1_1source__region.html + ab36a5db15201864a13fb628f331196d0 + + + + source_position + end + structtoml_1_1source__region.html + a054940b42dcf83391697ec2b8690531d + + + + source_path_ptr + path + structtoml_1_1source__region.html + a25fc23f579edb8afc0818c013c5ac5d7 + + + + friend std::ostream & + operator<< + structtoml_1_1source__region.html + a9de8ac24a607abd098bb4179520f3734 + (std::ostream &lhs, const source_region &rhs) + + + + toml::table + classtoml_1_1table.html + toml::node + + + table + classtoml_1_1table.html + a823f0d3385d2d8d8320a72f78c677a35 + () noexcept + + + + table + classtoml_1_1table.html + a8c06941e05e31602d46f26ba84d14b23 + (const table &) + + + + table + classtoml_1_1table.html + ab47a76ab242afa13f1a74e5e2bcded44 + (table &&other) noexcept + + + + table + classtoml_1_1table.html + a7fdc52c0aa1bd67ae6738f029787bc2f + (std::initializer_list< impl::table_init_pair > kvps) + + + table & + operator= + classtoml_1_1table.html + ac4bdf5ade95ac5afa472ae1219b8b89d + (const table &) + + + table & + operator= + classtoml_1_1table.html + a5c5fd0e11db828ab264eccc96dfdd619 + (table &&rhs) noexcept + + + node_type + type + classtoml_1_1table.html + a03d15150652176b1714b70fb035cdeb0 + () const noexcept final + + + bool + is_homogeneous + classtoml_1_1table.html + abe1cc42533dc108b2062de2666471faa + (node_type ntype) const noexcept final + + + bool + is_homogeneous + classtoml_1_1table.html + af1a2f48edbb3afa9363c392595830846 + (node_type ntype, node *&first_nonmatch) noexcept final + + + bool + is_homogeneous + classtoml_1_1table.html + a8a0a8d4e44883a2467798dad07ddcb43 + (node_type ntype, const node *&first_nonmatch) const noexcept final + + + bool + is_table + classtoml_1_1table.html + a2cdfa1fd3e9d5c64cb5d4089a1d4344e + () const noexcept final + + + bool + is_array + classtoml_1_1table.html + a56d186a17d8e24bfa90fa6578e7b3872 + () const noexcept final + + + bool + is_array_of_tables + classtoml_1_1table.html + a52e6d4f667e464a49ac4928c8ed31fec + () const noexcept final + + + bool + is_value + classtoml_1_1table.html + aae222bf8089461dd4954311d1e403386 + () const noexcept final + + + bool + is_string + classtoml_1_1table.html + a6bf5f3666709891c5c6beba70835604a + () const noexcept final + + + bool + is_integer + classtoml_1_1table.html + a1a8b05c8de343cff20b47189d309862b + () const noexcept final + + + bool + is_floating_point + classtoml_1_1table.html + a6eafaab181b8ce2632b5c0556941fb76 + () const noexcept final + + + bool + is_number + classtoml_1_1table.html + a89392000e892868540f0513f4be45ba2 + () const noexcept final + + + bool + is_boolean + classtoml_1_1table.html + a60c4177e5d411c2f8be30f0b99b68189 + () const noexcept final + + + bool + is_date + classtoml_1_1table.html + a3052f7b2bce6add8ef50ea77c59338c4 + () const noexcept final + + + bool + is_time + classtoml_1_1table.html + a1fc645d975ce2b07348e1e9f8029d0c1 + () const noexcept final + + + bool + is_date_time + classtoml_1_1table.html + a38d82efe9d6fc89b5140e5abdde9127d + () const noexcept final + + + table * + as_table + classtoml_1_1table.html + af9cb47ecee9c13ded1308b64902f8a5c + () noexcept final + + + array * + as_array + classtoml_1_1table.html + a673bdcac9903b7da00c5893f6d7fe8e0 + () noexcept final + + + toml::value< std::string > * + as_string + classtoml_1_1table.html + aa8e3920bff569dee33fe8e34ffb6361d + () noexcept final + + + toml::value< int64_t > * + as_integer + classtoml_1_1table.html + a5b86281620ba34efabf7e3c4bef9675b + () noexcept final + + + toml::value< double > * + as_floating_point + classtoml_1_1table.html + ac3b5e969c4aaeebc3c36d514c3b54d5f + () noexcept final + + + toml::value< bool > * + as_boolean + classtoml_1_1table.html + a0cd6412f40c200939645028417d789cf + () noexcept final + + + toml::value< date > * + as_date + classtoml_1_1table.html + a1b5f7025e387eb10f16d4b3a763db501 + () noexcept final + + + toml::value< time > * + as_time + classtoml_1_1table.html + a980f61149308e193282b8f5bfaeda284 + () noexcept final + + + toml::value< date_time > * + as_date_time + classtoml_1_1table.html + a6a33617f7d6d95ef676ce0cb098d2970 + () noexcept final + + + const table * + as_table + classtoml_1_1table.html + a84fc8b87acc1f9f86384d375893f5d3c + () const noexcept final + + + const array * + as_array + classtoml_1_1table.html + af2dda58dc42b782b0c36a2367d948957 + () const noexcept final + + + const toml::value< std::string > * + as_string + classtoml_1_1table.html + aa8ab32e1b60f5b3b0bf9539076c89acc + () const noexcept final + + + const toml::value< int64_t > * + as_integer + classtoml_1_1table.html + a98c296e8a635190bab97e886c83f2648 + () const noexcept final + + + const toml::value< double > * + as_floating_point + classtoml_1_1table.html + aaf302e3edd84df4c31765ffb15aed0f2 + () const noexcept final + + + const toml::value< bool > * + as_boolean + classtoml_1_1table.html + abc2f126a04989073083065662df9e72b + () const noexcept final + + + const toml::value< date > * + as_date + classtoml_1_1table.html + a5759fb6852495964827f9982e9c8ce12 + () const noexcept final + + + const toml::value< time > * + as_time + classtoml_1_1table.html + a19e3aa65fd09b2f36d98627c432638b1 + () const noexcept final + + + const toml::value< date_time > * + as_date_time + classtoml_1_1table.html + a2fd53fcb036c335021e3ad098cf4d883 + () const noexcept final + + + bool + is_inline + classtoml_1_1table.html + a53be1b93aa90608ed378323df835a2f3 + () const noexcept + + + void + is_inline + classtoml_1_1table.html + a8e797a683ff2bacd14d7e7461ecd2780 + (bool val) noexcept + + + node * + get + classtoml_1_1table.html + ae6811ea7c692ac71880693e225c66aed + (std::string_view key) noexcept + + + const node * + get + classtoml_1_1table.html + a43afae4f760f715c69b0b8aa0a7ef071 + (std::string_view key) const noexcept + + + node * + get + classtoml_1_1table.html + a637ff9b8eb2880a1084f01b7b0725b12 + (std::wstring_view key) + + + const node * + get + classtoml_1_1table.html + add0f0c51c63d385f881022cab988744c + (std::wstring_view key) const + + + impl::wrap_node< T > * + get_as + classtoml_1_1table.html + afb960c9b2ea8066f917d22d348758513 + (std::string_view key) noexcept + + + const impl::wrap_node< T > * + get_as + classtoml_1_1table.html + aa21b91ee2ed48b24bf684b762f01c684 + (std::string_view key) const noexcept + + + impl::wrap_node< T > * + get_as + classtoml_1_1table.html + a32bfcd190cb9a8e06f381097a23d0b66 + (std::wstring_view key) + + + const impl::wrap_node< T > * + get_as + classtoml_1_1table.html + a0099ccf5df2f15ca17309c1897cb5e61 + (std::wstring_view key) const + + + node & + at + classtoml_1_1table.html + ae1e3925fca9b027958934a5c015c6c98 + (std::string_view key) + + + const node & + at + classtoml_1_1table.html + acadf9153fcdc5019add35426044f369e + (std::string_view key) const + + + node & + at + classtoml_1_1table.html + aef4d6369cf64a56322b96f1a15f761c6 + (std::wstring_view key) + + + const node & + at + classtoml_1_1table.html + ae8429bf4d0d3dd15b82344b575ec2a15 + (std::wstring_view key) const + + + bool + empty + classtoml_1_1table.html + a554f495f6f2ebc993be1bd0379447051 + () const noexcept + + + size_t + size + classtoml_1_1table.html + ad7c4105854cc817bf6e781fa7fb1b6d6 + () const noexcept + + + iterator + lower_bound + classtoml_1_1table.html + acc5180d0f3b1a78f45962f246a5d9605 + (std::string_view key) noexcept + + + const_iterator + lower_bound + classtoml_1_1table.html + a3b678ac60d00790308b96f5e51da4274 + (std::string_view key) const noexcept + + + iterator + lower_bound + classtoml_1_1table.html + aaaffca1b5d53d7b72d2f29c14f06d75e + (std::wstring_view key) + + + const_iterator + lower_bound + classtoml_1_1table.html + a2799383d484028ef5f466f8d1d34f315 + (std::wstring_view key) const + + + iterator + find + classtoml_1_1table.html + a087ecb9d9fd4562d79f83341f0c643c0 + (std::string_view key) noexcept + + + const_iterator + find + classtoml_1_1table.html + a65a894481bab5dd2bd00690931ed2692 + (std::string_view key) const noexcept + + + bool + contains + classtoml_1_1table.html + aacf6efa6e7865211f7a1283f79a88ee0 + (std::string_view key) const noexcept + + + iterator + find + classtoml_1_1table.html + ab1f12a827212d23ee0895fda92a5113c + (std::wstring_view key) + + + const_iterator + find + classtoml_1_1table.html + a25f8f4a8c4672042d75b810856bd676f + (std::wstring_view key) const + + + bool + contains + classtoml_1_1table.html + a7bec8d45353adeac918668a9fc5cb6a2 + (std::wstring_view key) const + + + iterator + erase + classtoml_1_1table.html + a1a90984876ccdd03aaa9e0f9801a839f + (iterator pos) noexcept + + + iterator + erase + classtoml_1_1table.html + a4dafb4ae116d92add973e5f27f880a9d + (const_iterator pos) noexcept + + + iterator + erase + classtoml_1_1table.html + a59f4dd9e42b73c9c1ec43134bef7e113 + (const_iterator begin, const_iterator end) noexcept + + + size_t + erase + classtoml_1_1table.html + ac6064df3f6f23b022884390a9963c1bc + (std::string_view key) noexcept + + + size_t + erase + classtoml_1_1table.html + add732807ee5e8fde81ceaa33acbaa7c6 + (std::wstring_view key) + + + table & + prune + classtoml_1_1table.html + a7f4d1d90dcea74d84f70db7e2d70c78a + (bool recursive=true) &noexcept + + + table && + prune + classtoml_1_1table.html + a14a59eed720b4d01840e290f82bb87b5 + (bool recursive=true) &&noexcept + + + void + clear + classtoml_1_1table.html + aa710f85c588a1b00c3192d1553de4eef + () noexcept + + + iterator + emplace_hint + classtoml_1_1table.html + a0d2378b5d13432bf8e325c388c650189 + (const_iterator hint, KeyType &&key, ValueArgs &&... args) + + + std::pair< iterator, bool > + insert + classtoml_1_1table.html + aed4c994aec5209b69d54d19f306b31bc + (KeyType &&key, ValueType &&val, value_flags flags=preserve_source_value_flags) + + + void + insert + classtoml_1_1table.html + a331eb6de04d95c3f76bf64e6f84d4ad6 + (Iter begin, Iter end, value_flags flags=preserve_source_value_flags) + + + std::pair< iterator, bool > + insert_or_assign + classtoml_1_1table.html + aa160b71ed6bc6fc638b19b5d9a8ef569 + (KeyType &&key, ValueType &&val, value_flags flags=preserve_source_value_flags) + + + std::pair< iterator, bool > + emplace + classtoml_1_1table.html + a485d7763c578d716b4f22abb1db3c975 + (KeyType &&key, ValueArgs &&... args) + + + node_view< node > + operator[] + classtoml_1_1table.html + a6d8386049f630c8551597a2180479c7c + (std::string_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1table.html + a9b13a19ddfcd2f76685f57587d28701c + (std::string_view key) const noexcept + + + node_view< node > + operator[] + classtoml_1_1table.html + a06fd3d9032b031b0363818939cd5cf38 + (std::wstring_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1table.html + a404ae83ed52c7b8ce294d3d4925c8a16 + (std::wstring_view key) const noexcept + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + friend std::ostream & + operator<< + classtoml_1_1table.html + a3d8aefefc9701472d2a314a43deba6d2 + (std::ostream &lhs, const table &rhs) + + + friend bool + operator== + classtoml_1_1table.html + af8ebaed8105e5de2098992764f2d534a + (const table &lhs, const table &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1table.html + abdeb5d9d9fc23c031c78e544c6196ea6 + (const table &lhs, const table &rhs) noexcept + + + toml::table_iterator + iterator + classtoml_1_1table.html + a87e055bad435d5332dc496c518733a4d + + + + toml::const_table_iterator + const_iterator + classtoml_1_1table.html + a68fea8ca9b1018f9675fd346b9f4512e + + + + iterator + begin + classtoml_1_1table.html + a334f050427eb20c8530254f4cd6dddf3 + () noexcept + + + const_iterator + begin + classtoml_1_1table.html + a3352f9954e03087b6f596ae23283bd3c + () const noexcept + + + const_iterator + cbegin + classtoml_1_1table.html + a15a5f8bd6d194fcbe925a24e5b73b1fb + () const noexcept + + + iterator + end + classtoml_1_1table.html + a96da67654c5ca131cfec2e3c07aa2730 + () noexcept + + + const_iterator + end + classtoml_1_1table.html + a40c72e81de1da66b7083cad11442cb05 + () const noexcept + + + const_iterator + cend + classtoml_1_1table.html + a311451209f990931ea25828c6091714f + () const noexcept + + + table & + for_each + classtoml_1_1table.html + ac22ee86d5b83fd73a8013d39be1cc698 + (Func &&visitor) &noexcept(for_each_is_nothrow< Func &&, table & >) + + + table && + for_each + classtoml_1_1table.html + aca50cb292d1029b5df558847a0fec7c5 + (Func &&visitor) &&noexcept(for_each_is_nothrow< Func &&, table && >) + + + const table & + for_each + classtoml_1_1table.html + a58267a6238a414e7b6db9f59218e790f + (Func &&visitor) const &noexcept(for_each_is_nothrow< Func &&, const table & >) + + + const table && + for_each + classtoml_1_1table.html + ab89cdd042f443f05a07e032494b650c2 + (Func &&visitor) const &&noexcept(for_each_is_nothrow< Func &&, const table && >) + + + node_type + type + classtoml_1_1table.html + a03d15150652176b1714b70fb035cdeb0 + () const noexcept final + + + bool + is_homogeneous + classtoml_1_1table.html + abe1cc42533dc108b2062de2666471faa + (node_type ntype) const noexcept final + + + bool + is_homogeneous + classtoml_1_1table.html + af1a2f48edbb3afa9363c392595830846 + (node_type ntype, node *&first_nonmatch) noexcept final + + + bool + is_homogeneous + classtoml_1_1table.html + a8a0a8d4e44883a2467798dad07ddcb43 + (node_type ntype, const node *&first_nonmatch) const noexcept final + + + bool + is_table + classtoml_1_1table.html + a2cdfa1fd3e9d5c64cb5d4089a1d4344e + () const noexcept final + + + bool + is_array + classtoml_1_1table.html + a56d186a17d8e24bfa90fa6578e7b3872 + () const noexcept final + + + bool + is_array_of_tables + classtoml_1_1table.html + a52e6d4f667e464a49ac4928c8ed31fec + () const noexcept final + + + bool + is_value + classtoml_1_1table.html + aae222bf8089461dd4954311d1e403386 + () const noexcept final + + + bool + is_string + classtoml_1_1table.html + a6bf5f3666709891c5c6beba70835604a + () const noexcept final + + + bool + is_integer + classtoml_1_1table.html + a1a8b05c8de343cff20b47189d309862b + () const noexcept final + + + bool + is_floating_point + classtoml_1_1table.html + a6eafaab181b8ce2632b5c0556941fb76 + () const noexcept final + + + bool + is_number + classtoml_1_1table.html + a89392000e892868540f0513f4be45ba2 + () const noexcept final + + + bool + is_boolean + classtoml_1_1table.html + a60c4177e5d411c2f8be30f0b99b68189 + () const noexcept final + + + bool + is_date + classtoml_1_1table.html + a3052f7b2bce6add8ef50ea77c59338c4 + () const noexcept final + + + bool + is_time + classtoml_1_1table.html + a1fc645d975ce2b07348e1e9f8029d0c1 + () const noexcept final + + + bool + is_date_time + classtoml_1_1table.html + a38d82efe9d6fc89b5140e5abdde9127d + () const noexcept final + + + table * + as_table + classtoml_1_1table.html + af9cb47ecee9c13ded1308b64902f8a5c + () noexcept final + + + array * + as_array + classtoml_1_1table.html + a673bdcac9903b7da00c5893f6d7fe8e0 + () noexcept final + + + toml::value< std::string > * + as_string + classtoml_1_1table.html + aa8e3920bff569dee33fe8e34ffb6361d + () noexcept final + + + toml::value< int64_t > * + as_integer + classtoml_1_1table.html + a5b86281620ba34efabf7e3c4bef9675b + () noexcept final + + + toml::value< double > * + as_floating_point + classtoml_1_1table.html + ac3b5e969c4aaeebc3c36d514c3b54d5f + () noexcept final + + + toml::value< bool > * + as_boolean + classtoml_1_1table.html + a0cd6412f40c200939645028417d789cf + () noexcept final + + + toml::value< date > * + as_date + classtoml_1_1table.html + a1b5f7025e387eb10f16d4b3a763db501 + () noexcept final + + + toml::value< time > * + as_time + classtoml_1_1table.html + a980f61149308e193282b8f5bfaeda284 + () noexcept final + + + toml::value< date_time > * + as_date_time + classtoml_1_1table.html + a6a33617f7d6d95ef676ce0cb098d2970 + () noexcept final + + + const table * + as_table + classtoml_1_1table.html + a84fc8b87acc1f9f86384d375893f5d3c + () const noexcept final + + + const array * + as_array + classtoml_1_1table.html + af2dda58dc42b782b0c36a2367d948957 + () const noexcept final + + + const toml::value< std::string > * + as_string + classtoml_1_1table.html + aa8ab32e1b60f5b3b0bf9539076c89acc + () const noexcept final + + + const toml::value< int64_t > * + as_integer + classtoml_1_1table.html + a98c296e8a635190bab97e886c83f2648 + () const noexcept final + + + const toml::value< double > * + as_floating_point + classtoml_1_1table.html + aaf302e3edd84df4c31765ffb15aed0f2 + () const noexcept final + + + const toml::value< bool > * + as_boolean + classtoml_1_1table.html + abc2f126a04989073083065662df9e72b + () const noexcept final + + + const toml::value< date > * + as_date + classtoml_1_1table.html + a5759fb6852495964827f9982e9c8ce12 + () const noexcept final + + + const toml::value< time > * + as_time + classtoml_1_1table.html + a19e3aa65fd09b2f36d98627c432638b1 + () const noexcept final + + + const toml::value< date_time > * + as_date_time + classtoml_1_1table.html + a2fd53fcb036c335021e3ad098cf4d883 + () const noexcept final + + + bool + is_inline + classtoml_1_1table.html + a53be1b93aa90608ed378323df835a2f3 + () const noexcept + + + void + is_inline + classtoml_1_1table.html + a8e797a683ff2bacd14d7e7461ecd2780 + (bool val) noexcept + + + node * + get + classtoml_1_1table.html + ae6811ea7c692ac71880693e225c66aed + (std::string_view key) noexcept + + + const node * + get + classtoml_1_1table.html + a43afae4f760f715c69b0b8aa0a7ef071 + (std::string_view key) const noexcept + + + node * + get + classtoml_1_1table.html + a637ff9b8eb2880a1084f01b7b0725b12 + (std::wstring_view key) + + + const node * + get + classtoml_1_1table.html + add0f0c51c63d385f881022cab988744c + (std::wstring_view key) const + + + impl::wrap_node< T > * + get_as + classtoml_1_1table.html + afb960c9b2ea8066f917d22d348758513 + (std::string_view key) noexcept + + + const impl::wrap_node< T > * + get_as + classtoml_1_1table.html + aa21b91ee2ed48b24bf684b762f01c684 + (std::string_view key) const noexcept + + + impl::wrap_node< T > * + get_as + classtoml_1_1table.html + a32bfcd190cb9a8e06f381097a23d0b66 + (std::wstring_view key) + + + const impl::wrap_node< T > * + get_as + classtoml_1_1table.html + a0099ccf5df2f15ca17309c1897cb5e61 + (std::wstring_view key) const + + + node & + at + classtoml_1_1table.html + ae1e3925fca9b027958934a5c015c6c98 + (std::string_view key) + + + const node & + at + classtoml_1_1table.html + acadf9153fcdc5019add35426044f369e + (std::string_view key) const + + + node & + at + classtoml_1_1table.html + aef4d6369cf64a56322b96f1a15f761c6 + (std::wstring_view key) + + + const node & + at + classtoml_1_1table.html + ae8429bf4d0d3dd15b82344b575ec2a15 + (std::wstring_view key) const + + + bool + empty + classtoml_1_1table.html + a554f495f6f2ebc993be1bd0379447051 + () const noexcept + + + size_t + size + classtoml_1_1table.html + ad7c4105854cc817bf6e781fa7fb1b6d6 + () const noexcept + + + iterator + lower_bound + classtoml_1_1table.html + acc5180d0f3b1a78f45962f246a5d9605 + (std::string_view key) noexcept + + + const_iterator + lower_bound + classtoml_1_1table.html + a3b678ac60d00790308b96f5e51da4274 + (std::string_view key) const noexcept + + + iterator + lower_bound + classtoml_1_1table.html + aaaffca1b5d53d7b72d2f29c14f06d75e + (std::wstring_view key) + + + const_iterator + lower_bound + classtoml_1_1table.html + a2799383d484028ef5f466f8d1d34f315 + (std::wstring_view key) const + + + iterator + find + classtoml_1_1table.html + a087ecb9d9fd4562d79f83341f0c643c0 + (std::string_view key) noexcept + + + const_iterator + find + classtoml_1_1table.html + a65a894481bab5dd2bd00690931ed2692 + (std::string_view key) const noexcept + + + bool + contains + classtoml_1_1table.html + aacf6efa6e7865211f7a1283f79a88ee0 + (std::string_view key) const noexcept + + + iterator + find + classtoml_1_1table.html + ab1f12a827212d23ee0895fda92a5113c + (std::wstring_view key) + + + const_iterator + find + classtoml_1_1table.html + a25f8f4a8c4672042d75b810856bd676f + (std::wstring_view key) const + + + bool + contains + classtoml_1_1table.html + a7bec8d45353adeac918668a9fc5cb6a2 + (std::wstring_view key) const + + + iterator + erase + classtoml_1_1table.html + a1a90984876ccdd03aaa9e0f9801a839f + (iterator pos) noexcept + + + iterator + erase + classtoml_1_1table.html + a4dafb4ae116d92add973e5f27f880a9d + (const_iterator pos) noexcept + + + iterator + erase + classtoml_1_1table.html + a59f4dd9e42b73c9c1ec43134bef7e113 + (const_iterator begin, const_iterator end) noexcept + + + size_t + erase + classtoml_1_1table.html + ac6064df3f6f23b022884390a9963c1bc + (std::string_view key) noexcept + + + size_t + erase + classtoml_1_1table.html + add732807ee5e8fde81ceaa33acbaa7c6 + (std::wstring_view key) + + + table & + prune + classtoml_1_1table.html + a7f4d1d90dcea74d84f70db7e2d70c78a + (bool recursive=true) &noexcept + + + table && + prune + classtoml_1_1table.html + a14a59eed720b4d01840e290f82bb87b5 + (bool recursive=true) &&noexcept + + + void + clear + classtoml_1_1table.html + aa710f85c588a1b00c3192d1553de4eef + () noexcept + + + iterator + emplace_hint + classtoml_1_1table.html + a0d2378b5d13432bf8e325c388c650189 + (const_iterator hint, KeyType &&key, ValueArgs &&... args) + + + std::pair< iterator, bool > + insert + classtoml_1_1table.html + aed4c994aec5209b69d54d19f306b31bc + (KeyType &&key, ValueType &&val, value_flags flags=preserve_source_value_flags) + + + void + insert + classtoml_1_1table.html + a331eb6de04d95c3f76bf64e6f84d4ad6 + (Iter begin, Iter end, value_flags flags=preserve_source_value_flags) + + + std::pair< iterator, bool > + insert_or_assign + classtoml_1_1table.html + aa160b71ed6bc6fc638b19b5d9a8ef569 + (KeyType &&key, ValueType &&val, value_flags flags=preserve_source_value_flags) + + + std::pair< iterator, bool > + emplace + classtoml_1_1table.html + a485d7763c578d716b4f22abb1db3c975 + (KeyType &&key, ValueArgs &&... args) + + + node_view< node > + operator[] + classtoml_1_1table.html + a6d8386049f630c8551597a2180479c7c + (std::string_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1table.html + a9b13a19ddfcd2f76685f57587d28701c + (std::string_view key) const noexcept + + + node_view< node > + operator[] + classtoml_1_1table.html + a06fd3d9032b031b0363818939cd5cf38 + (std::wstring_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1table.html + a404ae83ed52c7b8ce294d3d4925c8a16 + (std::wstring_view key) const noexcept + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + friend bool + operator== + classtoml_1_1table.html + af8ebaed8105e5de2098992764f2d534a + (const table &lhs, const table &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1table.html + abdeb5d9d9fc23c031c78e544c6196ea6 + (const table &lhs, const table &rhs) noexcept + + + + toml::time + structtoml_1_1time.html + + + time + structtoml_1_1time.html + a460d6626a20b992f38c676bf5ee62a20 + () noexcept=default + + + constexpr + time + structtoml_1_1time.html + acaec3dc6784706c57cc712ab403123e6 + (H h, M m, S s=S{}, NS ns=NS{}) noexcept + + + uint8_t + hour + structtoml_1_1time.html + a18f32a58846d333f9e866b725b7b7ae4 + + + + uint8_t + minute + structtoml_1_1time.html + a02de4fe041dfa9535eb4df60d86f7fb4 + + + + uint8_t + second + structtoml_1_1time.html + a8ae0ab849a761543207ca86a2e1d0fdf + + + + uint32_t + nanosecond + structtoml_1_1time.html + a3e9c60650ccd21f1e47132b777547185 + + + + constexpr friend bool + operator== + structtoml_1_1time.html + aa88d156f8ea405513e00702b3c88de2f + (const time &lhs, const time &rhs) noexcept + + + constexpr friend bool + operator!= + structtoml_1_1time.html + a76766a077e105960758caa4a9cbfd25b + (const time &lhs, const time &rhs) noexcept + + + constexpr friend bool + operator< + structtoml_1_1time.html + a220d5428532dc59f1846f29159430be8 + (const time &lhs, const time &rhs) noexcept + + + constexpr friend bool + operator<= + structtoml_1_1time.html + a459d4906732bd6c6129de62f1c601a60 + (const time &lhs, const time &rhs) noexcept + + + constexpr friend bool + operator> + structtoml_1_1time.html + a8564e5d443652ec48b50acedee1ab64c + (const time &lhs, const time &rhs) noexcept + + + constexpr friend bool + operator>= + structtoml_1_1time.html + ae551c63caf265a78d5a73c797ee538f5 + (const time &lhs, const time &rhs) noexcept + + + friend std::ostream & + operator<< + structtoml_1_1time.html + aad81b91942de3b3f2d54656c8a686ee7 + (std::ostream &lhs, const time &rhs) + + + + toml::time_offset + structtoml_1_1time__offset.html + + + time_offset + structtoml_1_1time__offset.html + a49af2cb136f213443f15e108657f5f0e + () noexcept=default + + + constexpr + time_offset + structtoml_1_1time__offset.html + a9e963488f164473ee9af35ddf7d4f93e + (H h, M m) noexcept + + + int16_t + minutes + structtoml_1_1time__offset.html + a2f4cd0259300e318defc0c5efde592dd + + + + constexpr friend bool + operator== + structtoml_1_1time__offset.html + ad9423ee067d0a4c0ba39deb2679a07f6 + (time_offset lhs, time_offset rhs) noexcept + + + constexpr friend bool + operator!= + structtoml_1_1time__offset.html + a77e5bb056ffcd6a91b1740333f23b806 + (time_offset lhs, time_offset rhs) noexcept + + + constexpr friend bool + operator< + structtoml_1_1time__offset.html + afe1582662b6922546524d14c1588cf9d + (time_offset lhs, time_offset rhs) noexcept + + + constexpr friend bool + operator<= + structtoml_1_1time__offset.html + a4a0886d9ad65963a4e812576ba0c6928 + (time_offset lhs, time_offset rhs) noexcept + + + constexpr friend bool + operator> + structtoml_1_1time__offset.html + aa5270a5c11af2a9344d2c20911643429 + (time_offset lhs, time_offset rhs) noexcept + + + constexpr friend bool + operator>= + structtoml_1_1time__offset.html + a0146123daf63c677b2559aaf9bda1338 + (time_offset lhs, time_offset rhs) noexcept + + + friend std::ostream & + operator<< + structtoml_1_1time__offset.html + ac87df01b4e60bd303d75712470517451 + (std::ostream &lhs, const time_offset &rhs) + + + + toml::toml_formatter + classtoml_1_1toml__formatter.html + + + toml_formatter + classtoml_1_1toml__formatter.html + a8110aaa1057d7633428f6795ac14983a + (const toml::node &source, format_flags flags=default_flags) noexcept + + + + toml_formatter + classtoml_1_1toml__formatter.html + a3af0ca99139edbd30845a5cd7d2c0137 + (const toml::parse_result &result, format_flags flags=default_flags) noexcept + + + static constexpr format_flags + default_flags + classtoml_1_1toml__formatter.html + a0aa00006896f1b23e8bb2ec1a6842845 + + + + friend std::ostream & + operator<< + classtoml_1_1toml__formatter.html + a50815f484095776407f34b1694bbf73e + (std::ostream &lhs, toml_formatter &rhs) + + + friend std::ostream & + operator<< + classtoml_1_1toml__formatter.html + af02b5eabe1e84be843255c7cf02e8dda + (std::ostream &lhs, toml_formatter &&rhs) + + + + toml::value + classtoml_1_1value.html + + toml::node + + ValueType + value_type + classtoml_1_1value.html + ad87b8c7ec465c424b861aba2d4cd5526 + + + + POXY_IMPLEMENTATION_DETAIL_IMPL + value_arg + classtoml_1_1value.html + ac1316850f0671bab2505d126570e3660 + + + + + value + classtoml_1_1value.html + addb06e973867c52b1ea77efae1c6ad10 + (Args &&... args) noexcept(noexcept(value_type(impl::native_value_maker< value_type, std::decay_t< Args >... >::make(static_cast< Args && >(args)...)))) + + + + value + classtoml_1_1value.html + a62ace5d37c6cf09fdc589efa5e0a0905 + (const value &other) noexcept + + + + value + classtoml_1_1value.html + a65e6e8fa27455d83ad3ada020e11cf91 + (const value &other, value_flags flags) noexcept + + + + value + classtoml_1_1value.html + adfb0250a9769fea9d585609db77bc64a + (value &&other) noexcept + + + + value + classtoml_1_1value.html + a5f6f5a83b2dc3f5842f7fd5fbc0e4f59 + (value &&other, value_flags flags) noexcept + + + value & + operator= + classtoml_1_1value.html + a339731a8213b5e0993b5547067fde1f7 + (const value &rhs) noexcept + + + value & + operator= + classtoml_1_1value.html + a958da7aae3ff90094e348ebceaa4aa5d + (value &&rhs) noexcept + + + value & + operator= + classtoml_1_1value.html + a08950deffd1a5568154d58d27517c973 + (value_arg rhs) noexcept + + + node_type + type + classtoml_1_1value.html + a69ed0d45e2de5929fea3375cd68960eb + () const noexcept final + + + bool + is_homogeneous + classtoml_1_1value.html + a66f31db0fe4aa1a65fff1ce3bb8be1eb + (node_type ntype) const noexcept final + + + bool + is_homogeneous + classtoml_1_1value.html + a5097925569d4e2f581907dc692aefe02 + (node_type ntype, node *&first_nonmatch) noexcept final + + + bool + is_homogeneous + classtoml_1_1value.html + a40d4ea2ff0d393245fc31dfc6a0f27fb + (node_type ntype, const node *&first_nonmatch) const noexcept final + + + bool + is_table + classtoml_1_1value.html + a4169ed284f3a6d31e838f117dc2f3df0 + () const noexcept final + + + bool + is_array + classtoml_1_1value.html + a160b4dd33afd4d8c02b1a4c7bc48f17f + () const noexcept final + + + bool + is_array_of_tables + classtoml_1_1value.html + a6676776ebf94891825c658432252cab0 + () const noexcept final + + + bool + is_value + classtoml_1_1value.html + a5d1d988a74ab5c6e6cae9706891083f3 + () const noexcept final + + + bool + is_string + classtoml_1_1value.html + a98d477b7ee151d7fc68c49ea7c52a314 + () const noexcept final + + + bool + is_integer + classtoml_1_1value.html + ad5b1844c180a0fb2de06ed4cdbb259a4 + () const noexcept final + + + bool + is_floating_point + classtoml_1_1value.html + aa5b3aac577c60b24f31550f8b7add69f + () const noexcept final + + + bool + is_number + classtoml_1_1value.html + ad40ad64d9a8f0256e550a9226dbed121 + () const noexcept final + + + bool + is_boolean + classtoml_1_1value.html + a6816cd2fbae35e21990d3d5616da595a + () const noexcept final + + + bool + is_date + classtoml_1_1value.html + a47ebc97c4b51999c81eb053d453ac916 + () const noexcept final + + + bool + is_time + classtoml_1_1value.html + a9a1a2e0a15181c6677d14a2812e34878 + () const noexcept final + + + bool + is_date_time + classtoml_1_1value.html + a1e8fb6a37f65fff99a631ade34ab6db4 + () const noexcept final + + + table * + as_table + classtoml_1_1value.html + a684976e4e2ea671e7bd21c39a4f73575 + () noexcept final + + + array * + as_array + classtoml_1_1value.html + a5e2f5338ace567ec7bc755885b793c01 + () noexcept final + + + value< std::string > * + as_string + classtoml_1_1value.html + a9a7177395eb559e2ed2c117832dace2a + () noexcept final + + + value< int64_t > * + as_integer + classtoml_1_1value.html + a170f66cced91fc2886c22df7d45f8f73 + () noexcept final + + + value< double > * + as_floating_point + classtoml_1_1value.html + ab95947fa235b163c138d925425035059 + () noexcept final + + + value< bool > * + as_boolean + classtoml_1_1value.html + ab06706bf668f496a6d24d6891b34b464 + () noexcept final + + + value< date > * + as_date + classtoml_1_1value.html + afd03f397e42e97c8c3e045c4b19b609e + () noexcept final + + + value< time > * + as_time + classtoml_1_1value.html + a4314057128266b74095454cca743a27d + () noexcept final + + + value< date_time > * + as_date_time + classtoml_1_1value.html + a49cf272fa0f71b73938df7ddffcc8b1c + () noexcept final + + + const table * + as_table + classtoml_1_1value.html + a8b5c3b02c365287e9b563dbe11c7172c + () const noexcept final + + + const array * + as_array + classtoml_1_1value.html + a5d7017fd9eec74756496960956a92d6a + () const noexcept final + + + const value< std::string > * + as_string + classtoml_1_1value.html + a316fa5b1b2764447c8d51c38071f79c1 + () const noexcept final + + + const value< int64_t > * + as_integer + classtoml_1_1value.html + aac0acf026dfb903349ce49321153f55d + () const noexcept final + + + const value< double > * + as_floating_point + classtoml_1_1value.html + af2a3d05b2ef1ff57291d3d4c660b86d6 + () const noexcept final + + + const value< bool > * + as_boolean + classtoml_1_1value.html + a3a81671d39b75363ba7c2b3fd6b7644a + () const noexcept final + + + const value< date > * + as_date + classtoml_1_1value.html + a40247e128f2ffdb5386ee41b2a84b52d + () const noexcept final + + + const value< time > * + as_time + classtoml_1_1value.html + a725874485bb19ade041deb8869bff6d5 + () const noexcept final + + + const value< date_time > * + as_date_time + classtoml_1_1value.html + ad297cd1ba10960e125e5a0c75ea51ff4 + () const noexcept final + + + value_type & + get + classtoml_1_1value.html + af607a8347e5918b35fcfb11e8f7d4398 + () &noexcept + + + value_type && + get + classtoml_1_1value.html + a0b4ea781b83a3c164df24129d0e73341 + () &&noexcept + + + const value_type & + get + classtoml_1_1value.html + a3a0ec9ea9604d68ba9a9a4692868f8d8 + () const &noexcept + + + const value_type && + get + classtoml_1_1value.html + ae3bb95e7af4622ded16328b827a6089d + () const &&noexcept + + + value_type & + operator* + classtoml_1_1value.html + a054c1fb796a4e560d4afb27019bb1aef + () &noexcept + + + value_type && + operator* + classtoml_1_1value.html + a64ad94a1086eedde1a94f12f020498d2 + () &&noexcept + + + const value_type & + operator* + classtoml_1_1value.html + a15e56286d17f11a4d567eaddb36368f8 + () const &noexcept + + + const value_type && + operator* + classtoml_1_1value.html + a752f50ec7dac91b579e48db6a15f388e + () const &&noexcept + + + + operator value_type & + classtoml_1_1value.html + adaf04b51fea2bdc3da39fbf63c240b3b + () &noexcept + + + + operator value_type && + classtoml_1_1value.html + ad5d4a1c818d7004bc4c42219edf84dd9 + () &&noexcept + + + + operator const value_type & + classtoml_1_1value.html + aeaa7f385c753bc7f11f0758d8ae325b6 + () const &noexcept + + + + operator const value_type && + classtoml_1_1value.html + aef9bb783e7c8ba475838742b7cfc3178 + () &&noexcept + + + value_type * + operator-> + classtoml_1_1value.html + a79983137e697848cb82a95b265b03d4d + () noexcept + + + const value_type * + operator-> + classtoml_1_1value.html + a23ab1c59bf4ec4bc19b6fa3fcf399171 + () const noexcept + + + value_flags + flags + classtoml_1_1value.html + a1a213908a7297491a07e647967897fcb + () const noexcept + + + value & + flags + classtoml_1_1value.html + a4311828058d75bfaa2c01c3395d09385 + (value_flags new_flags) noexcept + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + friend std::ostream & + operator<< + classtoml_1_1value.html + ae160ab8204a4ed57dac2ad6c5aebb683 + (std::ostream &lhs, const value &rhs) + + + friend bool + operator== + classtoml_1_1value.html + a0b90e4f85ecaf2c81e4ba8b42aa5ce34 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a1771aa33bd2d425b542d0b9d0e90866d + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a6bbe09942bd6046fa94addb911940491 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + a7d02565c608c663afc8f3d2102639740 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + a2f37f69d3e477c0c2e2ba16f6919815e + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + ace8c00e345c69ee93e5d2bd2df694340 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + af200f2be4273ed0923743f4b918f86e6 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a80417b5055072f20d3a6985d1b78af21 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a727e2acd21edf04a144918d174706ba6 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator== + classtoml_1_1value.html + a2fa446100047d052d0cca2c1f3f60085 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1value.html + a872e565adfbcd201f2ab1e3103699758 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a7fdc4f87f9ec3efb896cc3e09694328b + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + ac6af15f59d537d95d1afe887b12b697e + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + ab95d07a7f48e44baefbacbf5f6072837 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a0ebdea821d98546de4b686f450506637 + (const value &lhs, const value< T > &rhs) noexcept + + + node_type + type + classtoml_1_1value.html + a69ed0d45e2de5929fea3375cd68960eb + () const noexcept final + + + bool + is_homogeneous + classtoml_1_1value.html + a66f31db0fe4aa1a65fff1ce3bb8be1eb + (node_type ntype) const noexcept final + + + bool + is_homogeneous + classtoml_1_1value.html + a5097925569d4e2f581907dc692aefe02 + (node_type ntype, node *&first_nonmatch) noexcept final + + + bool + is_homogeneous + classtoml_1_1value.html + a40d4ea2ff0d393245fc31dfc6a0f27fb + (node_type ntype, const node *&first_nonmatch) const noexcept final + + + bool + is_table + classtoml_1_1value.html + a4169ed284f3a6d31e838f117dc2f3df0 + () const noexcept final + + + bool + is_array + classtoml_1_1value.html + a160b4dd33afd4d8c02b1a4c7bc48f17f + () const noexcept final + + + bool + is_array_of_tables + classtoml_1_1value.html + a6676776ebf94891825c658432252cab0 + () const noexcept final + + + bool + is_value + classtoml_1_1value.html + a5d1d988a74ab5c6e6cae9706891083f3 + () const noexcept final + + + bool + is_string + classtoml_1_1value.html + a98d477b7ee151d7fc68c49ea7c52a314 + () const noexcept final + + + bool + is_integer + classtoml_1_1value.html + ad5b1844c180a0fb2de06ed4cdbb259a4 + () const noexcept final + + + bool + is_floating_point + classtoml_1_1value.html + aa5b3aac577c60b24f31550f8b7add69f + () const noexcept final + + + bool + is_number + classtoml_1_1value.html + ad40ad64d9a8f0256e550a9226dbed121 + () const noexcept final + + + bool + is_boolean + classtoml_1_1value.html + a6816cd2fbae35e21990d3d5616da595a + () const noexcept final + + + bool + is_date + classtoml_1_1value.html + a47ebc97c4b51999c81eb053d453ac916 + () const noexcept final + + + bool + is_time + classtoml_1_1value.html + a9a1a2e0a15181c6677d14a2812e34878 + () const noexcept final + + + bool + is_date_time + classtoml_1_1value.html + a1e8fb6a37f65fff99a631ade34ab6db4 + () const noexcept final + + + table * + as_table + classtoml_1_1value.html + a684976e4e2ea671e7bd21c39a4f73575 + () noexcept final + + + array * + as_array + classtoml_1_1value.html + a5e2f5338ace567ec7bc755885b793c01 + () noexcept final + + + value< std::string > * + as_string + classtoml_1_1value.html + a9a7177395eb559e2ed2c117832dace2a + () noexcept final + + + value< int64_t > * + as_integer + classtoml_1_1value.html + a170f66cced91fc2886c22df7d45f8f73 + () noexcept final + + + value< double > * + as_floating_point + classtoml_1_1value.html + ab95947fa235b163c138d925425035059 + () noexcept final + + + value< bool > * + as_boolean + classtoml_1_1value.html + ab06706bf668f496a6d24d6891b34b464 + () noexcept final + + + value< date > * + as_date + classtoml_1_1value.html + afd03f397e42e97c8c3e045c4b19b609e + () noexcept final + + + value< time > * + as_time + classtoml_1_1value.html + a4314057128266b74095454cca743a27d + () noexcept final + + + value< date_time > * + as_date_time + classtoml_1_1value.html + a49cf272fa0f71b73938df7ddffcc8b1c + () noexcept final + + + const table * + as_table + classtoml_1_1value.html + a8b5c3b02c365287e9b563dbe11c7172c + () const noexcept final + + + const array * + as_array + classtoml_1_1value.html + a5d7017fd9eec74756496960956a92d6a + () const noexcept final + + + const value< std::string > * + as_string + classtoml_1_1value.html + a316fa5b1b2764447c8d51c38071f79c1 + () const noexcept final + + + const value< int64_t > * + as_integer + classtoml_1_1value.html + aac0acf026dfb903349ce49321153f55d + () const noexcept final + + + const value< double > * + as_floating_point + classtoml_1_1value.html + af2a3d05b2ef1ff57291d3d4c660b86d6 + () const noexcept final + + + const value< bool > * + as_boolean + classtoml_1_1value.html + a3a81671d39b75363ba7c2b3fd6b7644a + () const noexcept final + + + const value< date > * + as_date + classtoml_1_1value.html + a40247e128f2ffdb5386ee41b2a84b52d + () const noexcept final + + + const value< time > * + as_time + classtoml_1_1value.html + a725874485bb19ade041deb8869bff6d5 + () const noexcept final + + + const value< date_time > * + as_date_time + classtoml_1_1value.html + ad297cd1ba10960e125e5a0c75ea51ff4 + () const noexcept final + + + value_type & + get + classtoml_1_1value.html + af607a8347e5918b35fcfb11e8f7d4398 + () &noexcept + + + value_type && + get + classtoml_1_1value.html + a0b4ea781b83a3c164df24129d0e73341 + () &&noexcept + + + const value_type & + get + classtoml_1_1value.html + a3a0ec9ea9604d68ba9a9a4692868f8d8 + () const &noexcept + + + const value_type && + get + classtoml_1_1value.html + ae3bb95e7af4622ded16328b827a6089d + () const &&noexcept + + + value_type & + operator* + classtoml_1_1value.html + a054c1fb796a4e560d4afb27019bb1aef + () &noexcept + + + value_type && + operator* + classtoml_1_1value.html + a64ad94a1086eedde1a94f12f020498d2 + () &&noexcept + + + const value_type & + operator* + classtoml_1_1value.html + a15e56286d17f11a4d567eaddb36368f8 + () const &noexcept + + + const value_type && + operator* + classtoml_1_1value.html + a752f50ec7dac91b579e48db6a15f388e + () const &&noexcept + + + + operator value_type & + classtoml_1_1value.html + adaf04b51fea2bdc3da39fbf63c240b3b + () &noexcept + + + + operator value_type && + classtoml_1_1value.html + ad5d4a1c818d7004bc4c42219edf84dd9 + () &&noexcept + + + + operator const value_type & + classtoml_1_1value.html + aeaa7f385c753bc7f11f0758d8ae325b6 + () const &noexcept + + + + operator const value_type && + classtoml_1_1value.html + aef9bb783e7c8ba475838742b7cfc3178 + () &&noexcept + + + value_type * + operator-> + classtoml_1_1value.html + a79983137e697848cb82a95b265b03d4d + () noexcept + + + const value_type * + operator-> + classtoml_1_1value.html + a23ab1c59bf4ec4bc19b6fa3fcf399171 + () const noexcept + + + value_flags + flags + classtoml_1_1value.html + a1a213908a7297491a07e647967897fcb + () const noexcept + + + value & + flags + classtoml_1_1value.html + a4311828058d75bfaa2c01c3395d09385 + (value_flags new_flags) noexcept + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + friend bool + operator== + classtoml_1_1value.html + a0b90e4f85ecaf2c81e4ba8b42aa5ce34 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a1771aa33bd2d425b542d0b9d0e90866d + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a6bbe09942bd6046fa94addb911940491 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + a7d02565c608c663afc8f3d2102639740 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + a2f37f69d3e477c0c2e2ba16f6919815e + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + ace8c00e345c69ee93e5d2bd2df694340 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + af200f2be4273ed0923743f4b918f86e6 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a80417b5055072f20d3a6985d1b78af21 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a727e2acd21edf04a144918d174706ba6 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator== + classtoml_1_1value.html + a2fa446100047d052d0cca2c1f3f60085 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1value.html + a872e565adfbcd201f2ab1e3103699758 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a7fdc4f87f9ec3efb896cc3e09694328b + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + ac6af15f59d537d95d1afe887b12b697e + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + ab95d07a7f48e44baefbacbf5f6072837 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a0ebdea821d98546de4b686f450506637 + (const value &lhs, const value< T > &rhs) noexcept + + + + toml::yaml_formatter + classtoml_1_1yaml__formatter.html + + + yaml_formatter + classtoml_1_1yaml__formatter.html + a0089cdd517d9f6641ed10c8ddb5b1c11 + (const toml::node &source, format_flags flags=default_flags) noexcept + + + + yaml_formatter + classtoml_1_1yaml__formatter.html + a2eb50c4983f7ec26a417befeface23bf + (const toml::parse_result &result, format_flags flags=default_flags) noexcept + + + static constexpr format_flags + default_flags + classtoml_1_1yaml__formatter.html + af161f0a6c794945e85b210ee85cb78e9 + + + + friend std::ostream & + operator<< + classtoml_1_1yaml__formatter.html + a10b0c89256eb2ab4ea2b4e23f8ad8eff + (std::ostream &lhs, yaml_formatter &rhs) + + + friend std::ostream & + operator<< + classtoml_1_1yaml__formatter.html + a50d463617bccb66a9cdf01390321bd47 + (std::ostream &lhs, yaml_formatter &&rhs) + + + + toml + namespacetoml.html + toml::literals + toml::array + toml::date + toml::time + toml::time_offset + toml::date_time + toml::inserter + toml::json_formatter + toml::key + toml::node + toml::node_view + toml::parse_error + toml::parse_result + toml::source_position + toml::source_region + toml::table + toml::toml_formatter + toml::value + toml::yaml_formatter + + POXY_IMPLEMENTATION_DETAIL_IMPL + array_iterator + namespacetoml.html + ac7e383cde1b8d61dba45292b2b0fcb69 + + + + POXY_IMPLEMENTATION_DETAIL_IMPL + const_array_iterator + namespacetoml.html + aeba9fe3a193c8b641a1fb3a2096d7c13 + + + + toml_formatter + default_formatter + namespacetoml.html + a2b87b5d257f54773683328031f453e76 + + + + POXY_IMPLEMENTATION_DETAIL_IMPL + inserted_type_of + namespacetoml.html + aef1f0bbcdd3686e268f4b81d9da701be + + + + uint32_t + source_index + namespacetoml.html + afb852fa22a8b3ea9d200d645b9d5c308 + + + + std::shared_ptr< const std::string > + source_path_ptr + namespacetoml.html + ac6cf446b480546ae1f71f5b86442368d + + + + std::optional< T > + optional + namespacetoml.html + af34a9fb3305e419784104609e6bbb7ac + + + + POXY_IMPLEMENTATION_DETAIL_IMPL + table_iterator + namespacetoml.html + a19243ec6febf1bb834ea9e366405e317 + + + + POXY_IMPLEMENTATION_DETAIL_IMPL + const_table_iterator + namespacetoml.html + a4bccd753f54404e0097457514177fcbb + + + + + node_type + namespacetoml.html + abac3e84bbf1f2c90717fca107055f48d + + none + table + array + string + integer + floating_point + boolean + date + time + date_time + + + + value_flags + namespacetoml.html + a73eba6a34e7c7c4a4d311100800e1bb5 + + none + format_as_binary + format_as_octal + format_as_hexadecimal + + + + format_flags + namespacetoml.html + a2102aa80bc57783d96180f36e1f64f6a + + none + quote_dates_and_times + quote_infinities_and_nans + allow_literal_strings + allow_multi_line_strings + allow_real_tabs_in_strings + allow_unicode_strings + allow_binary_integers + allow_octal_integers + allow_hexadecimal_integers + indent_sub_tables + indent_array_elements + indentation + relaxed_float_precision + + + node_view< node > + at_path + namespacetoml.html + a034ab5f50d46f89dcaf871a788d56be9 + (node &root, std::string_view path) noexcept + + + node_view< const node > + at_path + namespacetoml.html + acecea9874ff621405e1c3f38433ba56d + (const node &root, std::string_view path) noexcept + + + node_view< node > + at_path + namespacetoml.html + a6355193bb51dc19b1f1509c6dac46b23 + (node &root, std::wstring_view path) + + + node_view< const node > + at_path + namespacetoml.html + aef2c5186913edbd8daf4a3d525fa5333 + (const node &root, std::wstring_view path) + + + std::basic_ostream< Char > & + operator<< + namespacetoml.html + aba6195d5e83ab18f30c9a211384e2c1a + (std::basic_ostream< Char > &lhs, node_type rhs) + + + parse_result + parse + namespacetoml.html + ada8654fb4ceef15c20fc1d5e0cc734dd + (std::string_view doc, std::string_view source_path={}) + + + parse_result + parse + namespacetoml.html + a20fa3e08d72759083fb17c772a357043 + (std::string_view doc, std::string &&source_path) + + + parse_result + parse_file + namespacetoml.html + a8dbc58dad43c3b66f4476a7131f5741a + (std::string_view file_path) + + + parse_result + parse + namespacetoml.html + ae9ee4300ddfbd72b7237283ab8d97618 + (std::u8string_view doc, std::string_view source_path={}) + + + parse_result + parse + namespacetoml.html + a02a2724564149ad8439c0457357308b8 + (std::u8string_view doc, std::string &&source_path) + + + parse_result + parse_file + namespacetoml.html + acdbabd4b771d221fe98b0053d848d69d + (std::u8string_view file_path) + + + parse_result + parse + namespacetoml.html + a01565f26a7982d162949bac3b554a334 + (std::string_view doc, std::wstring_view source_path) + + + parse_result + parse + namespacetoml.html + ac7767943620762c22b6341dc6682cc2d + (std::istream &doc, std::wstring_view source_path) + + + parse_result + parse_file + namespacetoml.html + ad425af491341206589ca6acc37c3b19e + (std::wstring_view file_path) + + + parse_result + parse + namespacetoml.html + a38852451309f406db281f17334ea8dfe + (std::u8string_view doc, std::wstring_view source_path) + + + parse_result + parse + namespacetoml.html + a2ee84ffccded737ab40afcb8122d8277 + (std::istream &doc, std::string_view source_path={}) + + + parse_result + parse + namespacetoml.html + a8079e71bd86722701ca91828c6709305 + (std::istream &doc, std::string &&source_path) + + + constexpr value_flags + preserve_source_value_flags + namespacetoml.html + a32f700b152e15c357801e905d626a4fb + + + + constexpr bool + is_table + namespacetoml.html + ad11c8c8a8286d6931e40658679aa7ddb + + + + constexpr bool + is_array + namespacetoml.html + a2251b703f3ec4d1a3036c82ead3d69cc + + + + constexpr bool + is_container + namespacetoml.html + ad6c6e1677e1cc564d40efa89af2514a2 + + + + constexpr bool + is_string + namespacetoml.html + aea14621807afe92a840d82c7139cde07 + + + + constexpr bool + is_integer + namespacetoml.html + a513bdc4a19071f0be70e92bb6cb1a1a3 + + + + constexpr bool + is_floating_point + namespacetoml.html + a1aaaa0e264cdd4f43518571f2f61ac36 + + + + constexpr bool + is_number + namespacetoml.html + a64ce7ed6974d2b17823565bc67c40873 + + + + constexpr bool + is_boolean + namespacetoml.html + a8e79820651cc9a835082cf9abd47d885 + + + + constexpr bool + is_date + namespacetoml.html + a3c5daa4563e3aff2b5e6460aa97d28df + + + + constexpr bool + is_time + namespacetoml.html + a87aee32768a32bb838150421e4e3cf97 + + + + constexpr bool + is_date_time + namespacetoml.html + a3285caf012789a607851026f9827a33d + + + + constexpr bool + is_chronological + namespacetoml.html + a7f8764060ca7dccb7e829f67d82c0485 + + + + constexpr bool + is_value + namespacetoml.html + a0d9cd265e448130b95305ccd68d2f508 + + + + constexpr bool + is_node + namespacetoml.html + a4e4126f63ba560963de095cd9bee0704 + + + + constexpr bool + is_node_view + namespacetoml.html + ab5b06dac8c1e0de9e06411917e10b618 + + + + constexpr bool + is_key + namespacetoml.html + a7b8ef907d9629d139a30d874b345b195 + + + + constexpr bool + is_key_or_convertible + namespacetoml.html + a052fafde71907ef3a8590ef7ec2455d8 + + + + + toml::literals + namespacetoml_1_1literals.html + + parse_result + operator""_toml + namespacetoml_1_1literals.html + a401530e560c2dc540729af01e10b2a74 + (const char *str, size_t len) + + + parse_result + operator""_toml + namespacetoml_1_1literals.html + abb2307d66538d0d43dd074040f83224c + (const char8_t *str, size_t len) + + + + configuration + Library Configuration + group__configuration.html + + #define + TOML_HEADER_ONLY + group__configuration.html + ga8219bfd7e75587516385b6022b28abc2 + + + + #define + TOML_HEADER_ONLY + group__configuration.html + ga8219bfd7e75587516385b6022b28abc2 + + + + #define + TOML_EXPORTED_CLASS + group__configuration.html + ga3d7aebf91431575688d573f09a17559a + + + + #define + TOML_EXPORTED_MEMBER_FUNCTION + group__configuration.html + gadf515bb7a6b8ce6b14bf86c8961a63cb + + + + #define + TOML_EXPORTED_FREE_FUNCTION + group__configuration.html + gac40a454cde06de4e76df3d6d460a3544 + + + + #define + TOML_ASSERT + group__configuration.html + ga8c407a8f6fe52a795db35be3f00393f8 + (expr) + + + #define + TOML_CONFIG_HEADER + group__configuration.html + ga09204feb4a3ff5534623c2bd052dcec0 + + + + #define + TOML_EXCEPTIONS + group__configuration.html + ga93097ecd88ca4bca393f60a78bda643b + + + + #define + TOML_IMPLEMENTATION + group__configuration.html + ga27ee69835a1ddff9dbaf3015b4b08a11 + + + + #define + TOML_OPTIONAL_TYPE + group__configuration.html + ga9c2c03f867eb6d76a5f65b06eeb1186e + + + + #define + TOML_ENABLE_PARSER + group__configuration.html + ga121912d75d4624de6ab6854e41d8a852 + + + + #define + TOML_ENABLE_FORMATTERS + group__configuration.html + ga9fc77582d9de77f59d2ddc9ae1f748ca + + + + #define + TOML_SMALL_FLOAT_TYPE + group__configuration.html + ga11a3368da40938a6b5cfd898320706f7 + + + + #define + TOML_SMALL_INT_TYPE + group__configuration.html + ga0722fa2c57da6360c7f2ba08c60e1a81 + + + + #define + TOML_ENABLE_UNRELEASED_FEATURES + group__configuration.html + ga1110ff7d189a7738b9109d120f568b6b + + + + #define + TOML_ENABLE_WINDOWS_COMPAT + group__configuration.html + ga94867db67c98e0e9d4fbb70690951fbf + + + + + index + toml++ + index.html + mainpage-features + mainpage-api-documentation + mainpage-example + mainpage-example-parsing-files + mainpage-example-parsing-strings + mainpage-example-parsing-without-exceptions + mainpage-example-custom-error-formatting + mainpage-example-manipulations + mainpage-example-serialization + mainpage-example-speed-up-compilation + mainpage-adding-lib + mainpage-adding-lib-old-school + mainpage-adding-lib-conan + mainpage-adding-lib-dds + mainpage-adding-lib-meson + mainpage-adding-lib-vcpkg + mainpage-adding-lib-cmake-fetch-content + mainpage-adding-lib-git-submodules + mainpage-adding-lib-other + mainpage-adding-lib-python + mainpage-configuration + mainpage-contributing + mainpage-license + mainpage-contact + + diff --git a/v3.2.0/annotated.html b/v3.2.0/annotated.html new file mode 100644 index 00000000..14fcc33f --- /dev/null +++ b/v3.2.0/annotated.html @@ -0,0 +1,163 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Classes

                                                                                                                              +
                                                                                                                                +
                                                                                                                              • + namespace toml The root namespace for all toml++ functions and types. +
                                                                                                                                  +
                                                                                                                                • class array A TOML array.
                                                                                                                                • +
                                                                                                                                • struct date A local date.
                                                                                                                                • +
                                                                                                                                • struct date_time A date-time.
                                                                                                                                • +
                                                                                                                                • struct inserter Helper class for suppressing move-construction in single-argument array constructors.
                                                                                                                                • +
                                                                                                                                • class json_formatter A wrapper for printing TOML objects out to a stream as formatted JSON.
                                                                                                                                • +
                                                                                                                                • class key A key parsed from a TOML document.
                                                                                                                                • +
                                                                                                                                • class node A TOML node.
                                                                                                                                • +
                                                                                                                                • class node_view A view of a node.
                                                                                                                                • +
                                                                                                                                • class parse_error An error generated when parsing fails.
                                                                                                                                • +
                                                                                                                                • class parse_result The result of a parsing operation.
                                                                                                                                • +
                                                                                                                                • class path A TOML path.
                                                                                                                                • +
                                                                                                                                • class path_component Represents a single component of a complete 'TOML-path': either a key or an array index.
                                                                                                                                • +
                                                                                                                                • struct source_position A source document line-and-column pair.
                                                                                                                                • +
                                                                                                                                • struct source_region A source document region.
                                                                                                                                • +
                                                                                                                                • class table A TOML table.
                                                                                                                                • +
                                                                                                                                • struct time A local time-of-day.
                                                                                                                                • +
                                                                                                                                • struct time_offset A timezone offset.
                                                                                                                                • +
                                                                                                                                • class toml_formatter A wrapper for printing TOML objects out to a stream as formatted TOML.
                                                                                                                                • +
                                                                                                                                • class value A TOML value.
                                                                                                                                • +
                                                                                                                                • class yaml_formatter A wrapper for printing TOML objects out to a stream as formatted YAML.
                                                                                                                                • +
                                                                                                                                +
                                                                                                                              • +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.2.0/badge-TOML.svg b/v3.2.0/badge-TOML.svg new file mode 100644 index 00000000..01db3c41 --- /dev/null +++ b/v3.2.0/badge-TOML.svg @@ -0,0 +1 @@ +TOML: v1.0.0TOMLv1.0.0 \ No newline at end of file diff --git a/v3.2.0/badge-awesome.svg b/v3.2.0/badge-awesome.svg new file mode 100644 index 00000000..5d9da969 --- /dev/null +++ b/v3.2.0/badge-awesome.svg @@ -0,0 +1 @@ +Mentioned in an Awesome list diff --git a/v3.2.0/badge-gitter.svg b/v3.2.0/badge-gitter.svg new file mode 100644 index 00000000..08a42236 --- /dev/null +++ b/v3.2.0/badge-gitter.svg @@ -0,0 +1 @@ +chat: on gitterchaton gitter \ No newline at end of file diff --git a/v3.2.0/banner_small.png b/v3.2.0/banner_small.png new file mode 100644 index 00000000..c9ee9963 Binary files /dev/null and b/v3.2.0/banner_small.png differ diff --git a/v3.2.0/classtoml_1_1array.html b/v3.2.0/classtoml_1_1array.html new file mode 100644 index 00000000..df2de62b --- /dev/null +++ b/v3.2.0/classtoml_1_1array.html @@ -0,0 +1,1761 @@ + + + + toml::array class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::array class +

                                                                                                                              +

                                                                                                                              A TOML array.

                                                                                                                              + +

                                                                                                                              The interface of this type is modeled after std::vector, with some additional considerations made for the heterogeneous nature of a TOML array.

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              toml::table tbl = toml::parse(R"( + arr = [1, 2, 3, 4, 'five'] +)"sv); + +// get the element as an array +toml::array& arr = *tbl.get_as<toml::array>("arr"); +std::cout << arr << "\n"; + +// increment each element with visit() +for (auto&& elem : arr) +{ + elem.visit([](auto&& el) noexcept + { + if constexpr (toml::is_number<decltype(el)>) + (*el)++; + else if constexpr (toml::is_string<decltype(el)>) + el = "six"sv; + }); +} +std::cout << arr << "\n"; + +// add and remove elements +arr.push_back(7); +arr.push_back(8.0f); +arr.push_back("nine"sv); +arr.erase(arr.cbegin()); +std::cout << arr << "\n"; + +// emplace elements +arr.emplace_back("ten"); +arr.emplace_back<toml::array>(11, 12.0); +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3, 4, 'five' ]
                                                                                                                              +[ 2, 3, 4, 5, 'six' ]
                                                                                                                              +[ 3, 4, 5, 'six', 7, 8.0, 'nine' ]
                                                                                                                              +[ 3, 4, 5, 'six', 7, 8.0, 'nine', 'ten', [ 11, 12.0 ] ]
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Base classes

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + class node +
                                                                                                                              +
                                                                                                                              A TOML node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + array() noexcept +
                                                                                                                              +
                                                                                                                              Default constructor.
                                                                                                                              +
                                                                                                                              + array(const array&) +
                                                                                                                              +
                                                                                                                              Copy constructor.
                                                                                                                              +
                                                                                                                              + array(array&& other) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType, typename... ElemTypes>
                                                                                                                              + array(ElemType&& val, + ElemTypes && ... vals) explicit +
                                                                                                                              +
                                                                                                                              Constructs an array with one or more initial elements.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator=(const array&) -> array& +
                                                                                                                              +
                                                                                                                              Copy-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(array&& rhs) -> array& noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const array& lhs, + const array& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const array& lhs, + const array& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const array& lhs, + const std::initializer_list<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Initializer list equality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const array& lhs, + const std::vector<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Vector equality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Erasure

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + void clear() noexcept +
                                                                                                                              +
                                                                                                                              Removes all elements from the array.
                                                                                                                              +
                                                                                                                              + auto erase(const_iterator pos) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Removes the specified element from the array.
                                                                                                                              +
                                                                                                                              + auto erase(const_iterator first, + const_iterator last) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Removes the elements in the range [first, last) from the array.
                                                                                                                              +
                                                                                                                              + auto flatten() & -> array& +
                                                                                                                              +
                                                                                                                              Flattens this array, recursively hoisting the contents of child arrays up into itself.
                                                                                                                              +
                                                                                                                              + auto flatten() && -> array&& +
                                                                                                                              +
                                                                                                                              Flattens this array, recursively hoisting the contents of child arrays up into itself (rvalue overload).
                                                                                                                              +
                                                                                                                              + void pop_back() noexcept +
                                                                                                                              +
                                                                                                                              Removes the last element from the array.
                                                                                                                              +
                                                                                                                              + auto prune(bool recursive = true) & -> array& noexcept +
                                                                                                                              +
                                                                                                                              Removes empty child arrays and tables.
                                                                                                                              +
                                                                                                                              + auto prune(bool recursive = true) && -> array&& noexcept +
                                                                                                                              +
                                                                                                                              Removes empty child arrays and tables (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Insertion and Emplacement

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType = void, typename... Args>
                                                                                                                              + auto emplace(const_iterator pos, + Args && ... args) -> iterator +
                                                                                                                              +
                                                                                                                              Emplaces a new element at a specific position in the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType = void, typename... Args>
                                                                                                                              + auto emplace_back(Args && ... args) -> decltype(auto) +
                                                                                                                              +
                                                                                                                              Emplaces a new element at the end of the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto insert(const_iterator pos, + ElemType&& val, + value_flags flags = preserve_source_value_flags) -> iterator +
                                                                                                                              +
                                                                                                                              Inserts a new element at a specific position in the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto insert(const_iterator pos, + size_t count, + ElemType&& val, + value_flags flags = preserve_source_value_flags) -> iterator +
                                                                                                                              +
                                                                                                                              Repeatedly inserts a new element starting at a specific position in the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Iter>
                                                                                                                              + auto insert(const_iterator pos, + Iter first, + Iter last, + value_flags flags = preserve_source_value_flags) -> iterator +
                                                                                                                              +
                                                                                                                              Inserts a range of elements into the array at a specific position.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto insert(const_iterator pos, + std::initializer_list<ElemType> ilist, + value_flags flags = preserve_source_value_flags) -> iterator +
                                                                                                                              +
                                                                                                                              Inserts a range of elements into the array at a specific position.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + void push_back(ElemType&& val, + value_flags flags = preserve_source_value_flags) +
                                                                                                                              +
                                                                                                                              Appends a new element to the end of the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto replace(const_iterator pos, + ElemType&& val, + value_flags flags = preserve_source_value_flags) -> iterator +
                                                                                                                              +
                                                                                                                              Replaces the element at a specific position in the array with a different value.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Iteration

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using const_iterator = const_array_iterator +
                                                                                                                              +
                                                                                                                              A RandomAccessIterator for iterating over const elements in a toml::array.
                                                                                                                              +
                                                                                                                              + using iterator = array_iterator +
                                                                                                                              +
                                                                                                                              A RandomAccessIterator for iterating over elements in a toml::array.
                                                                                                                              +
                                                                                                                              + auto begin() -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first element.
                                                                                                                              +
                                                                                                                              + auto begin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first element.
                                                                                                                              +
                                                                                                                              + auto cbegin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first element.
                                                                                                                              +
                                                                                                                              + auto cend() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last element.
                                                                                                                              +
                                                                                                                              + auto end() -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last element.
                                                                                                                              +
                                                                                                                              + auto end() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last element.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto for_each(Func&& visitor) & -> array& noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on each element in the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto for_each(Func&& visitor) && -> array&& noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on each element in the array (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto for_each(Func&& visitor) const & -> const array& noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on each element in the array (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto for_each(Func&& visitor) const && -> const array&& noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on each element in the array (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Metadata

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the source region responsible for generating this node during parsing.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Node views

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const toml::path& path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const toml::path& path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) -> node_view<node> +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) const -> node_view<const node> +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + operator node_view<const node>() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node (const overload).
                                                                                                                              +
                                                                                                                              + operator node_view<node>() explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node.
                                                                                                                              +
                                                                                                                              + auto operator[](const toml::path& path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto operator[](const toml::path& path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Size and Capacity

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto capacity() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the current max number of elements that may be held in the array's internal storage.
                                                                                                                              +
                                                                                                                              + auto empty() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the array is empty.
                                                                                                                              +
                                                                                                                              + auto max_size() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the maximum number of elements that can be stored in an array on the current platform.
                                                                                                                              +
                                                                                                                              + void reserve(size_t new_capacity) +
                                                                                                                              +
                                                                                                                              Reserves internal storage capacity up to a pre-determined number of elements.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + void resize(size_t new_size, + ElemType&& default_init_val, + value_flags default_init_flags = preserve_source_value_flags) +
                                                                                                                              +
                                                                                                                              Resizes the array.
                                                                                                                              +
                                                                                                                              + void shrink_to_fit() +
                                                                                                                              +
                                                                                                                              Requests the removal of any unused internal storage capacity.
                                                                                                                              +
                                                                                                                              + auto size() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the number of elements in the array.
                                                                                                                              +
                                                                                                                              + void truncate(size_t new_size) +
                                                                                                                              +
                                                                                                                              Shrinks the array to the given size.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type casts

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() -> impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() const -> const impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type (const overload).
                                                                                                                              +
                                                                                                                              + auto as_array() -> array* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the array.
                                                                                                                              +
                                                                                                                              + auto as_array() const -> const array* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the array.
                                                                                                                              +
                                                                                                                              + auto as_boolean() -> toml::value<bool>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_boolean() const -> const toml::value<bool>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date() -> toml::value<date>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date() const -> const toml::value<date>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date_time() -> toml::value<date_time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date_time() const -> const toml::value<date_time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() -> toml::value<double>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() const -> const toml::value<double>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_integer() -> toml::value<int64_t>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_integer() const -> const toml::value<int64_t>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_string() -> toml::value<std::string>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_string() const -> const toml::value<std::string>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_table() -> table* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_table() const -> const table* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_time() -> toml::value<time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_time() const -> const toml::value<time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type checks

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto is() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node is a specific type.
                                                                                                                              +
                                                                                                                              + auto is_array() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true.
                                                                                                                              +
                                                                                                                              + auto is_array_of_tables() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the array contains only tables.
                                                                                                                              +
                                                                                                                              + auto is_boolean() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_date() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_date_time() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_floating_point() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype) const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + node*& first_nonmatch) -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + const node*& first_nonmatch) const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType = void>
                                                                                                                              + auto is_homogeneous() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_integer() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_number() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_string() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_table() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_time() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_value() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto type() const -> node_type final noexcept +
                                                                                                                              +
                                                                                                                              Returns toml::node_type::array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Value retrieval

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at(size_t index) -> node& +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific index, throwing std::out_of_range if none existed.
                                                                                                                              +
                                                                                                                              + auto at(size_t index) const -> const node& +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific index, throwing std::out_of_range if none existed.
                                                                                                                              +
                                                                                                                              + auto back() -> node& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the last element in the array.
                                                                                                                              +
                                                                                                                              + auto back() const -> const node& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the last element in the array.
                                                                                                                              +
                                                                                                                              + auto front() -> node& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the first element in the array.
                                                                                                                              +
                                                                                                                              + auto front() const -> const node& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the first element in the array.
                                                                                                                              +
                                                                                                                              + auto get(size_t index) -> node* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the element at a specific index.
                                                                                                                              +
                                                                                                                              + auto get(size_t index) const -> const node* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the element at a specific index (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto get_as(size_t index) -> impl::wrap_node<ElemType>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the element at a specific index if it is a particular type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto get_as(size_t index) const -> const impl::wrap_node<ElemType>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the element at a specific index if it is a particular type (const overload).
                                                                                                                              +
                                                                                                                              + auto operator[](size_t index) -> node& noexcept +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific index.
                                                                                                                              +
                                                                                                                              + auto operator[](size_t index) const -> const node& noexcept +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific index.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_exact() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_or(T&& default_value) const -> auto noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the raw value contained by this node, or a default.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Visitation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const array& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the array out to a stream as formatted TOML.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType, typename... ElemTypes> +
                                                                                                                              + toml::array::array(ElemType&& val, + ElemTypes && ... vals) explicit +

                                                                                                                              +

                                                                                                                              Constructs an array with one or more initial elements.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypeOne of the TOML node or value types (or a type promotable to one).
                                                                                                                              ElemTypesOne of the TOML node or value types (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              valThe node or value used to initialize element 0.
                                                                                                                              valsThe nodes or values used to initialize elements 1...N.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2.0, "three"sv, toml::array{ 4, 5 } };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2.0, 'three', [ 4, 5 ] ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::array::operator!=(const array& lhs, + const array& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Inequality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS array.
                                                                                                                              rhsThe RHS array.
                                                                                                                              ReturnsTrue if the arrays did not contain the same elements.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::array::operator==(const array& lhs, + const array& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Equality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS array.
                                                                                                                              rhsThe RHS array.
                                                                                                                              ReturnsTrue if the arrays contained the same elements.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::array::erase(const_iterator pos) noexcept +

                                                                                                                              +

                                                                                                                              Removes the specified element from the array.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              posIterator to the element being erased.
                                                                                                                              ReturnsIterator to the first element immediately following the removed element.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +
                                                                                                                              +arr.erase(arr.cbegin() + 1);
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3 ]
                                                                                                                              +[ 1, 3 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::array::erase(const_iterator first, + const_iterator last) noexcept +

                                                                                                                              +

                                                                                                                              Removes the elements in the range [first, last) from the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              firstIterator to the first element being erased.
                                                                                                                              lastIterator to the one-past-the-last element being erased.
                                                                                                                              ReturnsIterator to the first element immediately following the last removed element.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, "bad", "karma" 2 };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +
                                                                                                                              +arr.erase(arr.cbegin() + 1, arr.cbegin() + 3);
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 'bad', 'karma', 3 ]
                                                                                                                              +[ 1, 3 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + array& toml::array::flatten() & +

                                                                                                                              +

                                                                                                                              Flattens this array, recursively hoisting the contents of child arrays up into itself.

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsA reference to the array.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, toml::array{ 3, 4, toml::array{ 5 } }, 6, toml::array{} };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +
                                                                                                                              +arr.flatten();
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, [ 3, 4, [ 5 ] ], 6, [] ]
                                                                                                                              +[ 1, 2, 3, 4, 5, 6 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + array& toml::array::prune(bool recursive = true) & noexcept +

                                                                                                                              +

                                                                                                                              Removes empty child arrays and tables.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              recursiveShould child arrays and tables themselves be pruned?
                                                                                                                              ReturnsA reference to the array.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, toml::array{ }, toml::array{ 3, toml::array{ } }, 4 };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +
                                                                                                                              +arr.prune(true);
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, [], [ 3, [] ], 4 ]
                                                                                                                              +[ 1, 2, [ 3 ], 4 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + array&& toml::array::prune(bool recursive = true) && noexcept +

                                                                                                                              +

                                                                                                                              Removes empty child arrays and tables (rvalue overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              recursiveShould child arrays and tables themselves be pruned?
                                                                                                                              ReturnsAn rvalue reference to the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType = void, typename... Args> +
                                                                                                                              + iterator toml::array::emplace(const_iterator pos, + Args && ... args) +

                                                                                                                              +

                                                                                                                              Emplaces a new element at a specific position in the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::table, toml::array, or any native TOML value type.
                                                                                                                              ArgsValue constructor argument types.
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              argsArguments to forward to the value's constructor.
                                                                                                                              ReturnsAn iterator to the inserted element.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2 };
                                                                                                                              +
                                                                                                                              +//add a string using std::string's substring constructor
                                                                                                                              +arr.emplace<std::string>(arr.cbegin() + 1, "this is not a drill"sv, 14, 5);
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 'drill', 2 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType = void, typename... Args> +
                                                                                                                              + decltype(auto) toml::array::emplace_back(Args && ... args) +

                                                                                                                              +

                                                                                                                              Emplaces a new element at the end of the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::table, toml::array, or a native TOML value type
                                                                                                                              ArgsElement constructor argument types.
                                                                                                                              Parameters
                                                                                                                              argsArguments to forward to the elements's constructor.
                                                                                                                              ReturnsA reference to the newly-constructed element.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2 };
                                                                                                                              +arr.emplace_back<toml::array>(3, "four"sv);
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, [ 3, 'four' ] ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + iterator toml::array::insert(const_iterator pos, + ElemType&& val, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Inserts a new element at a specific position in the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              valThe node or value being inserted.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              ReturnsValid input: An iterator to the newly-inserted element. Input is a null toml::node_view: + end()
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 3 };
                                                                                                                              +arr.insert(arr.cbegin() + 1, "two");
                                                                                                                              +arr.insert(arr.cend(), toml::array{ 4, 5 });
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 'two', 3, [ 4, 5 ] ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + iterator toml::array::insert(const_iterator pos, + size_t count, + ElemType&& val, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Repeatedly inserts a new element starting at a specific position in the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              countThe number of times the node or value should be inserted.
                                                                                                                              valThe node or value being inserted.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              ReturnsValid input: An iterator to the newly-inserted element. count == 0: A copy of pos Input is a null toml::node_view: + end()
                                                                                                                              +
                                                                                                                              auto arr = toml::array{
                                                                                                                              +    "with an evil twinkle in its eye the goose said",
                                                                                                                              +    "and immediately we knew peace was never an option."
                                                                                                                              +};
                                                                                                                              +arr.insert(arr.cbegin() + 1, 3, "honk");
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [
                                                                                                                              +    'with an evil twinkle in its eye the goose said',
                                                                                                                              +    'honk',
                                                                                                                              +    'honk',
                                                                                                                              +    'honk',
                                                                                                                              +    'and immediately we knew peace was never an option.'
                                                                                                                              +]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Iter> +
                                                                                                                              + iterator toml::array::insert(const_iterator pos, + Iter first, + Iter last, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Inserts a range of elements into the array at a specific position.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              IterAn iterator type. Must satisfy ForwardIterator.
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              firstIterator to the first node or value being inserted.
                                                                                                                              lastIterator to the one-past-the-last node or value being inserted.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              ReturnsValid input: An iterator to the first newly-inserted element. first >= last: A copy of pos All objects in the range were null toml::node_views: A copy of pos
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + iterator toml::array::insert(const_iterator pos, + std::initializer_list<ElemType> ilist, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Inserts a range of elements into the array at a specific position.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              ilistAn initializer list containing the values to be inserted.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              ReturnsValid input: An iterator to the first newly-inserted element. Input list is empty: A copy of pos All objects in the list were null toml::node_views: A copy of pos
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + void toml::array::push_back(ElemType&& val, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Appends a new element to the end of the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type
                                                                                                                              Parameters
                                                                                                                              valThe node or value being added.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2 };
                                                                                                                              +arr.push_back(3);
                                                                                                                              +arr.push_back(4.0);
                                                                                                                              +arr.push_back(toml::array{ 5, "six"sv });
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3, 4.0, [ 5, 'six' ] ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + iterator toml::array::replace(const_iterator pos, + ElemType&& val, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Replaces the element at a specific position in the array with a different value.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              valThe node or value being inserted.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              ReturnsValid input: An iterator to the replaced element. Input is a null toml::node_view: + end()
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +arr.replace(arr.cbegin() + 1, "two");
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3 ]
                                                                                                                              +[ 1, 'two', 3 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Func> +
                                                                                                                              + array& toml::array::for_each(Func&& visitor) & noexcept(…) +

                                                                                                                              +

                                                                                                                              Invokes a visitor on each element in the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              Func

                                                                                                                              A callable type invocable with one of the following signatures:

                                                                                                                              • func(elem, index)
                                                                                                                              • func(elem)
                                                                                                                              • func(index, elem)

                                                                                                                              Where:

                                                                                                                              • elem will recieve the element as it's concrete type with cvref-qualifications matching the array
                                                                                                                              • index will recieve a size_t indicating the element's index

                                                                                                                              Visitors returning bool (or something convertible to bool) will cause iteration to stop if they return false.

                                                                                                                              Parameters
                                                                                                                              visitorThe visitor object.
                                                                                                                              ReturnsA reference to the array.
                                                                                                                              +
                                                                                                                              toml::array arr{ 0, 1, 2, 3.0, "four", "five", 6 };
                                                                                                                              +
                                                                                                                              +// select only the integers using a strongly-typed visitor
                                                                                                                              +arr.for_each([](toml::value<int64_t>& elem)
                                                                                                                              +{
                                                                                                                              +    std::cout << elem << ", ";
                                                                                                                              +});
                                                                                                                              +std::cout << "\n";
                                                                                                                              +
                                                                                                                              +// select all the numeric values using a generic visitor + is_number<> metafunction
                                                                                                                              +arr.for_each([](auto&& elem)
                                                                                                                              +{
                                                                                                                              +    if constexpr (toml::is_number<decltype(elem)>)
                                                                                                                              +        std::cout << elem << ", ";
                                                                                                                              +});
                                                                                                                              +std::cout << "\n";
                                                                                                                              +
                                                                                                                              +// select all the numeric values until we encounter something non-numeric
                                                                                                                              +arr.for_each([](auto&& elem)
                                                                                                                              +{
                                                                                                                              +    if constexpr (toml::is_number<decltype(elem)>)
                                                                                                                              +    {
                                                                                                                              +        std::cout << elem << ", ";
                                                                                                                              +        return true; // "keep going"
                                                                                                                              +    }
                                                                                                                              +    else
                                                                                                                              +        return false; // "stop!"
                                                                                                                              +
                                                                                                                              +});
                                                                                                                              +std::cout << "\n";
                                                                                                                              0, 1, 2, 6,
                                                                                                                              +0, 1, 2, 3.0, 6,
                                                                                                                              +0, 1, 2, 3.0,
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + void toml::array::resize(size_t new_size, + ElemType&& default_init_val, + value_flags default_init_flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Resizes the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              new_sizeThe number of elements the array will have after resizing.
                                                                                                                              default_init_valThe node or value used to initialize new elements if the array needs to grow.
                                                                                                                              default_init_flagsValue flags to apply to new values created if new elements are created by growing.
                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto arr = toml::array{ 1, 2, 3 }; +std::cout << arr << "\n"; + +arr.resize(6, 42); +std::cout << arr << "\n"; + +arr.resize(2, 0); +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3 ]
                                                                                                                              +[ 1, 2, 3, 42, 42, 42 ]
                                                                                                                              +[ 1, 2 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + void toml::array::truncate(size_t new_size) +

                                                                                                                              +

                                                                                                                              Shrinks the array to the given size.

                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto arr = toml::array{ 1, 2, 3 }; +std::cout << arr << "\n"; + +arr.truncate(5); // no-op +std::cout << arr << "\n"; + +arr.truncate(1); +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3 ]
                                                                                                                              +[ 1, 2, 3 ]
                                                                                                                              +[ 1]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::array::is_homogeneous(node_type ntype) const final noexcept +

                                                                                                                              +

                                                                                                                              Checks if the node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << "homogenous: "sv << arr.is_homogeneous(toml::node_type::none) << "\n";
                                                                                                                              +std::cout << "all floats: "sv << arr.is_homogeneous(toml::node_type::floating_point) << "\n";
                                                                                                                              +std::cout << "all arrays: "sv << arr.is_homogeneous(toml::node_type::array) << "\n";
                                                                                                                              +std::cout << "all ints:   "sv << arr.is_homogeneous(toml::node_type::integer) << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::array::is_homogeneous(node_type ntype, + node*& first_nonmatch) final noexcept +

                                                                                                                              +

                                                                                                                              Checks if a node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              first_nonmatchReference to a pointer in which the address of the first non-matching element will be stored if the return value is false.
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]");
                                                                                                                              +toml::array& arr = *cfg["arr"].as_array();
                                                                                                                              +
                                                                                                                              +toml::node* nonmatch{};
                                                                                                                              +if (arr.is_homogeneous(toml::node_type::integer, nonmatch))
                                                                                                                              +    std::cout << "array was homogeneous"sv << "\n";
                                                                                                                              +else
                                                                                                                              +    std::cout << "array was not homogeneous!\n"
                                                                                                                              +    << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
                                                                                                                              array was not homogeneous!
                                                                                                                              +first non-match was a floating-point at line 1, column 18
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node* toml::array::get(size_t index) noexcept +

                                                                                                                              +

                                                                                                                              Gets a pointer to the element at a specific index.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              indexThe element's index.
                                                                                                                              ReturnsA pointer to the element at the specified index if one existed, or nullptr.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 99, "bottles of beer on the wall" };
                                                                                                                              +std::cout << "element [0] exists: "sv << !!arr.get(0) << "\n";
                                                                                                                              +std::cout << "element [1] exists: "sv << !!arr.get(1) << "\n";
                                                                                                                              +std::cout << "element [2] exists: "sv << !!arr.get(2) << "\n";
                                                                                                                              +if (toml::node* val = arr.get(0))
                                                                                                                              +    std::cout << "element [0] is an "sv << val->type() << "\n";
                                                                                                                              element [0] exists: true
                                                                                                                              +element [1] exists: true
                                                                                                                              +element [2] exists: false
                                                                                                                              +element [0] is an integer
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const node* toml::array::get(size_t index) const noexcept +

                                                                                                                              +

                                                                                                                              Gets a pointer to the element at a specific index (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              indexThe element's index.
                                                                                                                              ReturnsA pointer to the element at the specified index if one existed, or nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + impl::wrap_node<ElemType>* toml::array::get_as(size_t index) noexcept +

                                                                                                                              +

                                                                                                                              Gets a pointer to the element at a specific index if it is a particular type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::table, toml::array, or a native TOML value type
                                                                                                                              Parameters
                                                                                                                              indexThe element's index.
                                                                                                                              ReturnsA pointer to the selected element if it existed and was of the specified type, or nullptr.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 42, "is the meaning of life, apparently."sv };
                                                                                                                              +if (toml::value<int64_t>* val = arr.get_as<int64_t>(0))
                                                                                                                              +    std::cout << "element [0] is an integer with value "sv << *val << "\n";
                                                                                                                              element [0] is an integer with value 42
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + const impl::wrap_node<ElemType>* toml::array::get_as(size_t index) const noexcept +

                                                                                                                              +

                                                                                                                              Gets a pointer to the element at a specific index if it is a particular type (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::table, toml::array, or a native TOML value type
                                                                                                                              Parameters
                                                                                                                              indexThe element's index.
                                                                                                                              ReturnsA pointer to the selected element if it existed and was of the specified type, or nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const array& rhs) +

                                                                                                                              +

                                                                                                                              Prints the array out to a stream as formatted TOML.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.2.0/classtoml_1_1json__formatter.html b/v3.2.0/classtoml_1_1json__formatter.html new file mode 100644 index 00000000..bb897b39 --- /dev/null +++ b/v3.2.0/classtoml_1_1json__formatter.html @@ -0,0 +1,252 @@ + + + + toml::json_formatter class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::json_formatter class +

                                                                                                                              +

                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted JSON.

                                                                                                                              + +
                                                                                                                              auto some_toml = toml::parse(R"(
                                                                                                                              +    [fruit]
                                                                                                                              +    apple.color = "red"
                                                                                                                              +    apple.taste.sweet = true
                                                                                                                              +
                                                                                                                              +    [fruit.apple.texture]
                                                                                                                              +    smooth = true
                                                                                                                              +)"sv);
                                                                                                                              +std::cout << toml::json_formatter{ some_toml } << "\n";
                                                                                                                              {
                                                                                                                              +    "fruit" : {
                                                                                                                              +        "apple" : {
                                                                                                                              +            "color" : "red",
                                                                                                                              +            "taste" : {
                                                                                                                              +                "sweet" : true
                                                                                                                              +            },
                                                                                                                              +            "texture" : {
                                                                                                                              +                "smooth" : true
                                                                                                                              +            }
                                                                                                                              +        }
                                                                                                                              +    }
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public static variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + static format_flags default_flags constexpr +
                                                                                                                              +
                                                                                                                              The default flags for a json_formatter.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + json_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a JSON formatter and binds it to a TOML object.
                                                                                                                              +
                                                                                                                              + json_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a JSON formatter and binds it to a toml::parse_result.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + json_formatter& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as JSON.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + json_formatter&& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as JSON (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::json_formatter::json_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a JSON formatter and binds it to a TOML object.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              sourceThe source TOML object.
                                                                                                                              flagsFormat option flags.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::json_formatter::json_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a JSON formatter and binds it to a toml::parse_result.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              resultThe parse result.
                                                                                                                              flagsFormat option flags.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.2.0/classtoml_1_1key.html b/v3.2.0/classtoml_1_1key.html new file mode 100644 index 00000000..eaf3b56f --- /dev/null +++ b/v3.2.0/classtoml_1_1key.html @@ -0,0 +1,378 @@ + + + + toml::key class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::key class +

                                                                                                                              +

                                                                                                                              A key parsed from a TOML document.

                                                                                                                              + +

                                                                                                                              These are used as the internal keys for a toml::table:

                                                                                                                              const toml::table tbl = R"(
                                                                                                                              +    a = 1
                                                                                                                              +      b = 2
                                                                                                                              +        c = 3
                                                                                                                              +)"_toml;
                                                                                                                              +
                                                                                                                              +for (auto&& [k, v] : tbl)
                                                                                                                              +    std::cout << "key '"sv << k << "' defined at "sv << k.source() << "\n";
                                                                                                                              key 'a' defined at line 2, column 5
                                                                                                                              +key 'b' defined at line 3, column 7
                                                                                                                              +key 'c' defined at line 4, column 9
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + key() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Default constructor.
                                                                                                                              +
                                                                                                                              + key(std::string_view k, + source_region&& src = {}) explicit +
                                                                                                                              +
                                                                                                                              Constructs a key from a string view and source region.
                                                                                                                              +
                                                                                                                              + key(std::string_view k, + const source_region& src) explicit +
                                                                                                                              +
                                                                                                                              Constructs a key from a string view and source region.
                                                                                                                              +
                                                                                                                              + key(std::string&& k, + source_region&& src = {}) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a key from a string and source region.
                                                                                                                              +
                                                                                                                              + key(std::string&& k, + const source_region& src) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a key from a string and source region.
                                                                                                                              +
                                                                                                                              + key(const char* k, + source_region&& src = {}) explicit +
                                                                                                                              +
                                                                                                                              Constructs a key from a c-string and source region.
                                                                                                                              +
                                                                                                                              + key(const char* k, + const source_region& src) explicit +
                                                                                                                              +
                                                                                                                              Constructs a key from a c-string view and source region.
                                                                                                                              +
                                                                                                                              + key(std::wstring_view k, + source_region&& src = {}) explicit +
                                                                                                                              +
                                                                                                                              Constructs a key from a wide string view and source region.
                                                                                                                              +
                                                                                                                              + key(std::wstring_view k, + const source_region& src) explicit +
                                                                                                                              +
                                                                                                                              Constructs a key from a wide string and source region.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality and Comparison

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              + auto operator!=(const key& lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() != rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator!=(const key& lhs, + std::string_view rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() != rhs.
                                                                                                                              +
                                                                                                                              + auto operator!=(std::string_view lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs != rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator<(const key& lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() < rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator<(const key& lhs, + std::string_view rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() < rhs.
                                                                                                                              +
                                                                                                                              + auto operator<(std::string_view lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs < rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator<=(const key& lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() <= rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator<=(const key& lhs, + std::string_view rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() <= rhs.
                                                                                                                              +
                                                                                                                              + auto operator<=(std::string_view lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs <= rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator==(const key& lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() == rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator==(const key& lhs, + std::string_view rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() == rhs.
                                                                                                                              +
                                                                                                                              + auto operator==(std::string_view lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs == rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator>(const key& lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() > rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator>(const key& lhs, + std::string_view rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() > rhs.
                                                                                                                              +
                                                                                                                              + auto operator>(std::string_view lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs > rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator>=(const key& lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() >= rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator>=(const key& lhs, + std::string_view rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() >= rhs.
                                                                                                                              +
                                                                                                                              + auto operator>=(std::string_view lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs >= rhs.str().
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Iteration

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using const_iterator = const char* +
                                                                                                                              +
                                                                                                                              A const iterator for iterating over the characters in the key.
                                                                                                                              +
                                                                                                                              + using iterator = const_iterator +
                                                                                                                              +
                                                                                                                              A const iterator for iterating over the characters in the key.
                                                                                                                              +
                                                                                                                              + auto begin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first character in the key's backing string.
                                                                                                                              +
                                                                                                                              + auto end() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last character in the key's backing string.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Metadata

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the source region responsible for specifying this key during parsing.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              String operations

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto data() const -> const char* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the start of the key's underlying string.
                                                                                                                              +
                                                                                                                              + auto empty() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the key's underlying string is empty.
                                                                                                                              +
                                                                                                                              + auto length() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the length of the key's underlying string.
                                                                                                                              +
                                                                                                                              + operator std::string_view() const noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the key's underlying string.
                                                                                                                              +
                                                                                                                              + auto str() const -> std::string_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the key's underlying string.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const key& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the key's underlying string out to the stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::key::key(std::wstring_view k, + source_region&& src = {}) explicit +

                                                                                                                              +

                                                                                                                              Constructs a key from a wide string view and source region.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::key::key(std::wstring_view k, + const source_region& src) explicit +

                                                                                                                              +

                                                                                                                              Constructs a key from a wide string and source region.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.2.0/classtoml_1_1node.html b/v3.2.0/classtoml_1_1node.html new file mode 100644 index 00000000..1b30ea72 --- /dev/null +++ b/v3.2.0/classtoml_1_1node.html @@ -0,0 +1,1027 @@ + + + + toml::node class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::node class +

                                                                                                                              +

                                                                                                                              A TOML node.

                                                                                                                              + +

                                                                                                                              A parsed TOML document forms a tree made up of tables, arrays and values. This type is the base of each of those, providing a lot of the polymorphic plumbing.

                                                                                                                              +
                                                                                                                              +

                                                                                                                              Derived classes

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + class array +
                                                                                                                              +
                                                                                                                              A TOML array.
                                                                                                                              +
                                                                                                                              + class table +
                                                                                                                              +
                                                                                                                              A TOML table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ValueType>
                                                                                                                              + class value +
                                                                                                                              +
                                                                                                                              A TOML value.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Metadata

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the source region responsible for generating this node during parsing.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Node views

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const toml::path& path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const toml::path& path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) -> node_view<node> +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) const -> node_view<const node> +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + operator node_view<const node>() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node (const overload).
                                                                                                                              +
                                                                                                                              + operator node_view<node>() explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node.
                                                                                                                              +
                                                                                                                              + auto operator[](const toml::path& path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto operator[](const toml::path& path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type casts

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() -> impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() const -> const impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type (const overload).
                                                                                                                              +
                                                                                                                              + auto as_array() -> array* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::array, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_array() const -> const array* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::array, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_boolean() -> toml::value<bool>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<bool>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_boolean() const -> const toml::value<bool>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<bool>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date() -> toml::value<date>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<toml::date>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date() const -> const toml::value<date>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<toml::date>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date_time() -> toml::value<date_time>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<toml::date_time>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date_time() const -> const toml::value<date_time>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<toml::date_time>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() -> toml::value<double>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<double>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() const -> const toml::value<double>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<double>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_integer() -> toml::value<int64_t>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<int64_t>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_integer() const -> const toml::value<int64_t>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<int64_t>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_string() -> toml::value<std::string>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<std::string>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_string() const -> const toml::value<std::string>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<std::string>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_table() -> table* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::table, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_table() const -> const table* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::table, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_time() -> toml::value<time>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<toml::time>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_time() const -> const toml::value<time>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<toml::time>, if it is one.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type checks

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto is() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node is a specific type.
                                                                                                                              +
                                                                                                                              + auto is_array() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an array.
                                                                                                                              +
                                                                                                                              + auto is_array_of_tables() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an array containing only tables.
                                                                                                                              +
                                                                                                                              + auto is_boolean() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a boolean value.
                                                                                                                              +
                                                                                                                              + auto is_date() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a local date value.
                                                                                                                              +
                                                                                                                              + auto is_date_time() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a date-time value.
                                                                                                                              +
                                                                                                                              + auto is_floating_point() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an floating-point value.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + node*& first_nonmatch) -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + const node*& first_nonmatch) const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type (const overload).
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype) const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType = void>
                                                                                                                              + auto is_homogeneous() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_integer() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an integer value.
                                                                                                                              +
                                                                                                                              + auto is_number() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an integer or floating-point value.
                                                                                                                              +
                                                                                                                              + auto is_string() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a string value.
                                                                                                                              +
                                                                                                                              + auto is_table() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a table.
                                                                                                                              +
                                                                                                                              + auto is_time() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a local time value.
                                                                                                                              +
                                                                                                                              + auto is_value() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a value.
                                                                                                                              +
                                                                                                                              + auto type() const -> node_type pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns the node's type identifier.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Value retrieval

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_exact() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_or(T&& default_value) const -> auto noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the raw value contained by this node, or a default.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Visitation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::node::at_path(std::string_view path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              pathThe "TOML path" to traverse.
                                                                                                                              +
                                                                                                                              auto config = toml::parse(R"(
                                                                                                                              +
                                                                                                                              +[foo]
                                                                                                                              +bar = [ 0, 1, 2, [ 3 ], { kek = 4 } ]
                                                                                                                              +
                                                                                                                              +)"sv);
                                                                                                                              +
                                                                                                                              +std::cout << config.at_path("foo.bar[2]") << "\n";
                                                                                                                              +std::cout << config.at_path("foo.bar[3][0]") << "\n";
                                                                                                                              +std::cout << config.at_path("foo.bar[4].kek") << "\n";
                                                                                                                              2
                                                                                                                              +3
                                                                                                                              +4
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::node::at_path(std::string_view path) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::node::at_path(const toml::path& path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              pathThe "TOML path" to traverse.
                                                                                                                              +
                                                                                                                              auto config = toml::parse(R"(
                                                                                                                              +
                                                                                                                              +[foo]
                                                                                                                              +bar = [ 0, 1, 2, [ 3 ], { kek = 4 } ]
                                                                                                                              +
                                                                                                                              +)"sv);
                                                                                                                              +
                                                                                                                              +toml::path path1("foo.bar[2]");
                                                                                                                              +toml::path path2("foo.bar[4].kek");
                                                                                                                              +std::cout << config.at_path(path1) << "\n";
                                                                                                                              +std::cout << config.at_path(path1.parent_path()) << "\n";
                                                                                                                              +std::cout << config.at_path(path2) << "\n";
                                                                                                                              +std::cout << config.at_path(path2.parent_path()) << "\n";
                                                                                                                              +
                                                                                                                              +@code{.shell-session}
                                                                                                                              +2
                                                                                                                              +[ 0, 1, 2, [ 3 ], { kek = 4 } ]
                                                                                                                              +4
                                                                                                                              +{ kek  = 4 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::node::at_path(const toml::path& path) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::node::at_path(std::wstring_view path) +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::node::at_path(std::wstring_view path) const +

                                                                                                                              +

                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::node::operator[](const toml::path& path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              pathThe "TOML path" to the desired child.
                                                                                                                              ReturnsA view of the child node at the given path if one existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::node::operator[](const toml::path& path) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              pathThe "TOML path" to the desired child.
                                                                                                                              ReturnsA view of the child node at the given path if one existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + impl::wrap_node<T>* toml::node::as() noexcept +

                                                                                                                              +

                                                                                                                              Gets a pointer to the node as a more specific node type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TThe node type or TOML value type to cast to.
                                                                                                                              ReturnsA pointer to the node as the given type, or nullptr if it was a different type.
                                                                                                                              +
                                                                                                                              toml::value<int64_t>* int_value = node->as<int64_t>();
                                                                                                                              +toml::table* tbl = node->as<toml::table>();
                                                                                                                              +if (int_value)
                                                                                                                              +    std::cout << "Node is a value<int64_t>\n";
                                                                                                                              +else if (tbl)
                                                                                                                              +    std::cout << "Node is a table\n";
                                                                                                                              +
                                                                                                                              +// fully-qualified value node types also work (useful for template code):
                                                                                                                              +toml::value<int64_t>* int_value2 = node->as<toml::value<int64_t>>();
                                                                                                                              +if (int_value2)
                                                                                                                              +    std::cout << "Node is a value<int64_t>\n";
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::node::is() const noexcept +

                                                                                                                              +

                                                                                                                              Checks if a node is a specific type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TA TOML node or value type.
                                                                                                                              ReturnsReturns true if this node is an instance of the specified type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::node::is_homogeneous(node_type ntype, + node*& first_nonmatch) pure virtual noexcept +

                                                                                                                              +

                                                                                                                              Checks if a node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              first_nonmatchReference to a pointer in which the address of the first non-matching element will be stored if the return value is false.
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]");
                                                                                                                              +toml::array& arr = *cfg["arr"].as_array();
                                                                                                                              +
                                                                                                                              +toml::node* nonmatch{};
                                                                                                                              +if (arr.is_homogeneous(toml::node_type::integer, nonmatch))
                                                                                                                              +    std::cout << "array was homogeneous"sv << "\n";
                                                                                                                              +else
                                                                                                                              +    std::cout << "array was not homogeneous!\n"
                                                                                                                              +    << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
                                                                                                                              array was not homogeneous!
                                                                                                                              +first non-match was a floating-point at line 1, column 18
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::node::is_homogeneous(node_type ntype) const pure virtual noexcept +

                                                                                                                              +

                                                                                                                              Checks if the node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << "homogenous: "sv << arr.is_homogeneous(toml::node_type::none) << "\n";
                                                                                                                              +std::cout << "all floats: "sv << arr.is_homogeneous(toml::node_type::floating_point) << "\n";
                                                                                                                              +std::cout << "all arrays: "sv << arr.is_homogeneous(toml::node_type::array) << "\n";
                                                                                                                              +std::cout << "all ints:   "sv << arr.is_homogeneous(toml::node_type::integer) << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType = void> +
                                                                                                                              + bool toml::node::is_homogeneous() const noexcept +

                                                                                                                              +

                                                                                                                              Checks if the node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypeA TOML node or value type.
                                                                                                                              Left as void: "is every element the same type?"
                                                                                                                              Explicitly specified: "is every element a T?"
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << "homogenous:   "sv << arr.is_homogeneous() << "\n";
                                                                                                                              +std::cout << "all doubles:  "sv << arr.is_homogeneous<double>() << "\n";
                                                                                                                              +std::cout << "all arrays:   "sv << arr.is_homogeneous<toml::array>() << "\n";
                                                                                                                              +std::cout << "all integers: "sv << arr.is_homogeneous<int64_t>() << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + decltype(auto) toml::node::ref() & noexcept +

                                                                                                                              +

                                                                                                                              Gets a raw reference to a node's underlying data.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              Ttoml::table, toml::array, or one of the TOML value types.
                                                                                                                              ReturnsA reference to the underlying data.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + optional<T> toml::node::value() const noexcept(…) +

                                                                                                                              +

                                                                                                                              Gets the value contained by this node.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the native TOML value types, or a type capable of converting to one.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or convertible to it) and within the range of the output type, or an empty optional.
                                                                                                                              +

                                                                                                                              This function has 'permissive' retrieval semantics; some value types are allowed to convert to others (e.g. retrieving a boolean as an integer), and the specified return value type can be any type where a reasonable conversion from a native TOML value exists (e.g. std::wstring on Windows). If the source value cannot be represented by the destination type, an empty optional is returned.

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto tbl = toml::parse(R"( + int = -10 + flt = 25.0 + pi = 3.14159 + bool = false + huge = 9223372036854775807 + str = "foo" +)"sv); + +const auto print_value_with_typename = + [&](std::string_view key, std::string_view type_name, auto* dummy) + { + std::cout << "- " << std::setw(18) << std::left << type_name; + using type = std::remove_pointer_t<decltype(dummy)>; + if (auto val = tbl.get(key)->value<type>(); val) + std::cout << *val << "\n"; + else + std::cout << "n/a\n"; + }; + +#define print_value(key, T) print_value_with_typename(key, #T, (T*)nullptr) + +for (auto key : { "int", "flt", "pi", "bool", "huge", "str" }) +{ + std::cout << tbl[key].type() << " value '" << key << "' as:\n"; + print_value(key, bool); + print_value(key, int); + print_value(key, unsigned int); + print_value(key, long long); + print_value(key, float); + print_value(key, double); + print_value(key, std::string); + print_value(key, std::string_view); + print_value(key, const char*); + std::cout << "\n"; +}
                                                                                                                              integer value 'int' as:
                                                                                                                              +- bool              true
                                                                                                                              +- int               -10
                                                                                                                              +- unsigned int      n/a
                                                                                                                              +- long long         -10
                                                                                                                              +- float             -10
                                                                                                                              +- double            -10
                                                                                                                              +- std::string       n/a
                                                                                                                              +- std::string_view  n/a
                                                                                                                              +- const char*       n/a
                                                                                                                              +
                                                                                                                              +floating-point value 'flt' as:
                                                                                                                              +- bool              n/a
                                                                                                                              +- int               25
                                                                                                                              +- unsigned int      25
                                                                                                                              +- long long         25
                                                                                                                              +- float             25
                                                                                                                              +- double            25
                                                                                                                              +- std::string       n/a
                                                                                                                              +- std::string_view  n/a
                                                                                                                              +- const char*       n/a
                                                                                                                              +
                                                                                                                              +floating-point value 'pi' as:
                                                                                                                              +- bool              n/a
                                                                                                                              +- int               n/a
                                                                                                                              +- unsigned int      n/a
                                                                                                                              +- long long         n/a
                                                                                                                              +- float             3.14159
                                                                                                                              +- double            3.14159
                                                                                                                              +- std::string       n/a
                                                                                                                              +- std::string_view  n/a
                                                                                                                              +- const char*       n/a
                                                                                                                              +
                                                                                                                              +boolean value 'bool' as:
                                                                                                                              +- bool              false
                                                                                                                              +- int               0
                                                                                                                              +- unsigned int      0
                                                                                                                              +- long long         0
                                                                                                                              +- float             n/a
                                                                                                                              +- double            n/a
                                                                                                                              +- std::string       n/a
                                                                                                                              +- std::string_view  n/a
                                                                                                                              +- const char*       n/a
                                                                                                                              +
                                                                                                                              +integer value 'huge' as:
                                                                                                                              +- bool              true
                                                                                                                              +- int               n/a
                                                                                                                              +- unsigned int      n/a
                                                                                                                              +- long long         9223372036854775807
                                                                                                                              +- float             n/a
                                                                                                                              +- double            n/a
                                                                                                                              +- std::string       n/a
                                                                                                                              +- std::string_view  n/a
                                                                                                                              +- const char*       n/a
                                                                                                                              +
                                                                                                                              +string value 'str' as:
                                                                                                                              +- bool              n/a
                                                                                                                              +- int               n/a
                                                                                                                              +- unsigned int      n/a
                                                                                                                              +- long long         n/a
                                                                                                                              +- float             n/a
                                                                                                                              +- double            n/a
                                                                                                                              +- std::string       foo
                                                                                                                              +- std::string_view  foo
                                                                                                                              +- const char*       foo
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + optional<T> toml::node::value_exact() const noexcept(…) +

                                                                                                                              +

                                                                                                                              Gets the value contained by this node.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the native TOML value types, or a type capable of losslessly representing one.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or losslessly convertible to it), or an empty optional.
                                                                                                                              +

                                                                                                                              This function has 'exact' retrieval semantics; the only return value types allowed are the TOML native value types, or types that can losslessly represent a native value type (e.g. std::wstring on Windows).

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + auto toml::node::value_or(T&& default_value) const noexcept(…) +

                                                                                                                              +

                                                                                                                              Gets the raw value contained by this node, or a default.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TDefault value type. Must be one of the native TOML value types, or convertible to it.
                                                                                                                              Parameters
                                                                                                                              default_valueThe default value to return if the node wasn't a value, wasn't the correct type, or no conversion was possible.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or convertible to it) and within the range of the output type, or the provided default.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Func> +
                                                                                                                              + decltype(auto) toml::node::visit(Func&& visitor) & noexcept(…) +

                                                                                                                              +

                                                                                                                              Invokes a visitor on the node based on the node's concrete type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              FuncA callable type invocable with one or more of the toml++ node types.
                                                                                                                              Parameters
                                                                                                                              visitorThe visitor object.
                                                                                                                              ReturnsThe return value of the visitor. Can be void. Non-exhaustive visitors must return a default-constructible type.
                                                                                                                              +

                                                                                                                              Visitation is useful when you expect a node to be one of a set number of types and need to handle these types differently. Using visit() allows you to eliminate some of the casting/conversion boilerplate:

                                                                                                                              node.visit([](auto&& n)
                                                                                                                              +{
                                                                                                                              +    if constexpr (toml::is_string<decltype(n)>)
                                                                                                                              +        do_something_with_a_string(*n)); //n is a toml::value<std::string>
                                                                                                                              +    else if constexpr (toml::is_integer<decltype(n)>)
                                                                                                                              +        do_something_with_an_int(*n); //n is a toml::value<int64_t>
                                                                                                                              +});

                                                                                                                              Visitor functions need not be generic; specifying a concrete node type as the input argument type effectively acts a 'filter', only invoking the visitor if the concrete type is compatible. Thus the example above can be re-written as:

                                                                                                                              node.visit([](toml::value<std::string>& s) { do_something_with_a_string(*s)); });
                                                                                                                              +node.visit([](toml::value<int64_t>& i)     { do_something_with_an_int(*i)); });
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.2.0/classtoml_1_1node__view.html b/v3.2.0/classtoml_1_1node__view.html new file mode 100644 index 00000000..17f5d32b --- /dev/null +++ b/v3.2.0/classtoml_1_1node__view.html @@ -0,0 +1,942 @@ + + + + toml::node_view class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              template <typename ViewedType>
                                                                                                                              + toml::node_view class +

                                                                                                                              +

                                                                                                                              A view of a node.

                                                                                                                              + +

                                                                                                                              A node_view is like a std::optional<toml::node&> (if such a construct were legal), with lots of toml-specific stuff built-in. It may represent a node, and allows you to do many of the same operations that you'd do on nodes directly, as well as easily traversing the node tree by creating subviews (via node_view::operator[]).

                                                                                                                              auto tbl = toml::parse(R"(
                                                                                                                              +
                                                                                                                              +    title = "my hardware store"
                                                                                                                              +
                                                                                                                              +    [[products]]
                                                                                                                              +    name = "Hammer"
                                                                                                                              +    sku = 738594937
                                                                                                                              +    keywords = [ "hammer", "construction", "build" ]
                                                                                                                              +
                                                                                                                              +    [[products]]
                                                                                                                              +    name = "Nail"
                                                                                                                              +    sku = 284758393
                                                                                                                              +    color = "gray"
                                                                                                                              +
                                                                                                                              +)"sv);
                                                                                                                              +
                                                                                                                              +std::cout << tbl["title"] << "\n";
                                                                                                                              +std::cout << tbl["products"][0]["name"] << "\n";
                                                                                                                              +std::cout << tbl["products"][0]["keywords"] << "\n";
                                                                                                                              +std::cout << tbl["products"][0]["keywords"][2] << "\n";
                                                                                                                              +
                                                                                                                              +tbl["products"][0]["keywords"].as_array()->push_back("heavy");
                                                                                                                              +std::cout << tbl["products"][0]["keywords"] << "\n";
                                                                                                                              +std::cout << "has product[2]: "sv << !!tbl["products"][2] << "\n";
                                                                                                                              +std::cout << "product[2]: "sv << tbl["products"][2] << "\n";
                                                                                                                              "my hardware store"
                                                                                                                              +"Hammer"
                                                                                                                              +[ "hammer", "construction", "build" ]
                                                                                                                              +"build"
                                                                                                                              +[ "hammer", "construction", "build", "heavy" ]
                                                                                                                              +has product[2]: false
                                                                                                                              +product[2]:
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public types

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using viewed_type = ViewedType +
                                                                                                                              +
                                                                                                                              The node type being viewed - either node or const node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + node_view() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Constructs an empty node view.
                                                                                                                              +
                                                                                                                              + node_view(viewed_type* node) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs node_view of a specific node.
                                                                                                                              +
                                                                                                                              + node_view(viewed_type& node) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs node_view of a specific node.
                                                                                                                              +
                                                                                                                              + node_view(const node_view&) defaulted noexcept +
                                                                                                                              +
                                                                                                                              Copy constructor.
                                                                                                                              +
                                                                                                                              + node_view(node_view&&) defaulted noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              + operator bool() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the view references a node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto node() const -> viewed_type* noexcept +
                                                                                                                              +
                                                                                                                              Returns the node that's being referenced by the view.
                                                                                                                              +
                                                                                                                              + auto operator=(const node_view&) & -> node_view& defaulted noexcept +
                                                                                                                              +
                                                                                                                              Copy-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(node_view&&) & -> node_view& defaulted noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator!=(const node_view& lhs, + const node_view<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the two views do not refer to nodes of the same type and value.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const node_view& lhs, + const node_view<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the two views refer to nodes of the same type and value.
                                                                                                                              +
                                                                                                                              + auto operator==(const node_view& lhs, + const table& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a table with the same contents as RHS.
                                                                                                                              +
                                                                                                                              + auto operator==(const node_view& lhs, + const array& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is an array with the same contents as RHS.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const node_view& lhs, + const toml::value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a value with the same value as RHS.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const node_view& lhs, + const T& rhs) -> bool noexcept(…) +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a value with the same value as RHS.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const node_view& lhs, + const std::initializer_list<T>& rhs) -> bool noexcept(…) +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is an array with the same contents as the RHS initializer list.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const node_view& lhs, + const std::vector<T>& rhs) -> bool noexcept(…) +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is an array with the same contents as the RHS vector.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Subviews

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) const -> node_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const toml::path& path) const -> node_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) const -> node_view +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto operator[](std::string_view key) const -> node_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the selected subnode.
                                                                                                                              +
                                                                                                                              + auto operator[](const toml::path& path) const -> node_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the selected subnode.
                                                                                                                              +
                                                                                                                              + auto operator[](std::wstring_view key) const -> node_view +
                                                                                                                              +
                                                                                                                              Returns a view of the selected subnode.
                                                                                                                              +
                                                                                                                              + auto operator[](size_t index) const -> node_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the selected subnode.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type casts

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the viewed node as a more specific node type.
                                                                                                                              +
                                                                                                                              + auto as_array() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::array, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_boolean() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<bool>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<date>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date_time() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<date_time>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<double>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_integer() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<int64_t>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_string() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<string>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_table() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::table, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_time() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<time>, if it is one.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type checks

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto is() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if this view references a node of a specific type.
                                                                                                                              +
                                                                                                                              + auto is_array() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::array.
                                                                                                                              +
                                                                                                                              + auto is_array_of_tables() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::array that contains only tables.
                                                                                                                              +
                                                                                                                              + auto is_boolean() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<bool>.
                                                                                                                              +
                                                                                                                              + auto is_date() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<date>.
                                                                                                                              +
                                                                                                                              + auto is_date_time() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<date_time>.
                                                                                                                              +
                                                                                                                              + auto is_floating_point() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<double>.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + viewed_type*& first_nonmatch) const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the viewed node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype) const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the viewed node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType = void>
                                                                                                                              + auto is_homogeneous() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the viewed node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_integer() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<int64_t>.
                                                                                                                              +
                                                                                                                              + auto is_number() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<int64_t> or toml::value<double>.
                                                                                                                              +
                                                                                                                              + auto is_string() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<string>.
                                                                                                                              +
                                                                                                                              + auto is_table() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::table.
                                                                                                                              +
                                                                                                                              + auto is_time() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<time>.
                                                                                                                              +
                                                                                                                              + auto is_value() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<>.
                                                                                                                              +
                                                                                                                              + auto type() const -> node_type noexcept +
                                                                                                                              +
                                                                                                                              Returns the type identifier for the viewed node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Value retrieval

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to the viewed node's underlying data.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by the referenced node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_exact() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by the referenced node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_or(T&& default_value) const -> auto noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the raw value contained by the referenced node, or a default.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Visitation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the viewed node based on its concrete type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& os, + const node_view& nv) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the viewed node out to a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::at_path(std::string_view path) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::at_path(const toml::path& path) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::at_path(std::wstring_view path) const +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::operator[](std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the selected subnode.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key of the node to retrieve
                                                                                                                              ReturnsA view of the selected node if this node represented a table and it contained a value at the given key, or an empty view.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::operator[](const toml::path& path) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the selected subnode.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              pathA "TOML path" to the desired subnode
                                                                                                                              ReturnsA view of the selected node if this node represented a table and it contained a value at the given key, or an empty view.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::operator[](std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Returns a view of the selected subnode.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key of the node to retrieve
                                                                                                                              ReturnsA view of the selected node if this node represented a table and it contained a value at the given key, or an empty view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::operator[](size_t index) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the selected subnode.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              indexThe index of the node to retrieve
                                                                                                                              ReturnsA view of the selected node if this node represented an array and it contained a value at the given index, or an empty view.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + auto* toml::node_view::as() const noexcept +

                                                                                                                              +

                                                                                                                              Gets a pointer to the viewed node as a more specific node type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TThe node type or TOML value type to cast to.
                                                                                                                              ReturnsA pointer to the node as the given type, or nullptr if it was a different type.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::node_view::is() const noexcept +

                                                                                                                              +

                                                                                                                              Checks if this view references a node of a specific type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TA TOML node or value type.
                                                                                                                              ReturnsReturns true if the viewed node is an instance of the specified type.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + bool toml::node_view::is_homogeneous(node_type ntype, + viewed_type*& first_nonmatch) const noexcept +

                                                                                                                              +

                                                                                                                              Checks if the viewed node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              first_nonmatchReference to a pointer in which the address of the first non-matching element will be stored if the return value is false.
                                                                                                                              ReturnsTrue if the viewed node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]");
                                                                                                                              +
                                                                                                                              +toml::node* nonmatch{};
                                                                                                                              +if (cfg["arr"].is_homogeneous(toml::node_type::integer, nonmatch))
                                                                                                                              +    std::cout << "array was homogeneous"sv << "\n";
                                                                                                                              +else
                                                                                                                              +    std::cout << "array was not homogeneous!\n"
                                                                                                                              +    << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
                                                                                                                              array was not homogeneous!
                                                                                                                              +first non-match was a floating-point at line 1, column 18
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + bool toml::node_view::is_homogeneous(node_type ntype) const noexcept +

                                                                                                                              +

                                                                                                                              Checks if the viewed node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              ReturnsTrue if the viewed node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3 ]");
                                                                                                                              +std::cout << "homogenous: "sv << cfg["arr"].is_homogeneous(toml::node_type::none) << "\n";
                                                                                                                              +std::cout << "all floats: "sv << cfg["arr"].is_homogeneous(toml::node_type::floating_point) << "\n";
                                                                                                                              +std::cout << "all arrays: "sv << cfg["arr"].is_homogeneous(toml::node_type::array) << "\n";
                                                                                                                              +std::cout << "all ints:   "sv << cfg["arr"].is_homogeneous(toml::node_type::integer) << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename ElemType = void> +
                                                                                                                              + bool toml::node_view::is_homogeneous() const noexcept +

                                                                                                                              +

                                                                                                                              Checks if the viewed node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypeA TOML node or value type.
                                                                                                                              Left as void: "is every element the same type?"
                                                                                                                              Explicitly specified: "is every element a T?"
                                                                                                                              ReturnsTrue if the viewed node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3 ]");
                                                                                                                              +std::cout << "homogenous:   "sv << cfg["arr"].is_homogeneous() << "\n";
                                                                                                                              +std::cout << "all doubles:  "sv << cfg["arr"].is_homogeneous<double>() << "\n";
                                                                                                                              +std::cout << "all arrays:   "sv << cfg["arr"].is_homogeneous<toml::array>() << "\n";
                                                                                                                              +std::cout << "all integers: "sv << cfg["arr"].is_homogeneous<int64_t>() << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + decltype(auto) toml::node_view::ref() const noexcept +

                                                                                                                              +

                                                                                                                              Gets a raw reference to the viewed node's underlying data.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the TOML value types.
                                                                                                                              ReturnsA reference to the underlying data.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + optional<T> toml::node_view::value() const noexcept(…) +

                                                                                                                              +

                                                                                                                              Gets the value contained by the referenced node.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the native TOML value types, or a type capable of convertible to one.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or convertible to it) and within the range of the output type, or an empty optional.
                                                                                                                              +

                                                                                                                              This function has 'permissive' retrieval semantics; some value types are allowed to convert to others (e.g. retrieving a boolean as an integer), and the specified return value type can be any type where a reasonable conversion from a native TOML value exists (e.g. std::wstring on Windows). If the source value cannot be represented by the destination type, an empty optional is returned. See node::value() for examples.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + optional<T> toml::node_view::value_exact() const noexcept(…) +

                                                                                                                              +

                                                                                                                              Gets the value contained by the referenced node.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the native TOML value types, or a type capable of losslessly representing one.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or losslessly convertible to it), or an empty optional.
                                                                                                                              +

                                                                                                                              This function has 'exact' retrieval semantics; the only return value types allowed are the TOML native value types, or types that can losslessly represent a native value type (e.g. std::wstring on Windows).

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + auto toml::node_view::value_or(T&& default_value) const noexcept(…) +

                                                                                                                              +

                                                                                                                              Gets the raw value contained by the referenced node, or a default.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TDefault value type. Must be one of the native TOML value types, or convertible to it.
                                                                                                                              Parameters
                                                                                                                              default_valueThe default value to return if the node wasn't a value, wasn't the correct type, or no conversion was possible.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or convertible to it) and within the range of the output type, or the provided default.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename Func> +
                                                                                                                              + decltype(auto) toml::node_view::visit(Func&& visitor) const noexcept(…) +

                                                                                                                              +

                                                                                                                              Invokes a visitor on the viewed node based on its concrete type.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + std::ostream& operator<<(std::ostream& os, + const node_view& nv) +

                                                                                                                              +

                                                                                                                              Prints the viewed node out to a stream.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.2.0/classtoml_1_1parse__error.html b/v3.2.0/classtoml_1_1parse__error.html new file mode 100644 index 00000000..844fabab --- /dev/null +++ b/v3.2.0/classtoml_1_1parse__error.html @@ -0,0 +1,207 @@ + + + + toml::parse_error class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::parse_error class +

                                                                                                                              +

                                                                                                                              An error generated when parsing fails.

                                                                                                                              + + +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto description() const -> std::string_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a textual description of the error.
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the region of the source document responsible for the error.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const parse_error& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a parse_error to a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::string_view toml::parse_error::description() const noexcept +

                                                                                                                              +

                                                                                                                              Returns a textual description of the error.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const parse_error& rhs) +

                                                                                                                              +

                                                                                                                              Prints a parse_error to a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe stream.
                                                                                                                              rhsThe parse_error.
                                                                                                                              ReturnsThe input stream.
                                                                                                                              +
                                                                                                                              try
                                                                                                                              +{
                                                                                                                              +    auto tbl = toml::parse("enabled = trUe"sv);
                                                                                                                              +}
                                                                                                                              +catch (const toml::parse_error & err)
                                                                                                                              +{
                                                                                                                              +    std::cerr << "Parsing failed:\n"sv << err << "\n";
                                                                                                                              +}
                                                                                                                              Parsing failed:
                                                                                                                              +Encountered unexpected character while parsing boolean; expected 'true', saw 'trU'
                                                                                                                              +    (error occurred at line 1, column 13)
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.2.0/classtoml_1_1parse__result.html b/v3.2.0/classtoml_1_1parse__result.html new file mode 100644 index 00000000..c89bb11e --- /dev/null +++ b/v3.2.0/classtoml_1_1parse__result.html @@ -0,0 +1,541 @@ + + + + toml::parse_result class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::parse_result class +

                                                                                                                              +

                                                                                                                              The result of a parsing operation.

                                                                                                                              + +

                                                                                                                              A parse_result is effectively a discriminated union containing either a toml::table or a toml::parse_error. Most member functions assume a particular one of these two states, and calling them when in the wrong state will cause errors (e.g. attempting to access the error object when parsing was successful).

                                                                                                                              toml::parse_result result = toml::parse_file("config.toml");
                                                                                                                              +if (result)
                                                                                                                              +    do_stuff_with_a_table(result); //implicitly converts to table&
                                                                                                                              +else
                                                                                                                              +    std::cerr << "Parse failed:\n"sv << result.error() << "\n";
                                                                                                                              example output:
                                                                                                                              +
                                                                                                                              +Parse failed:
                                                                                                                              +Encountered unexpected character while parsing boolean; expected 'true', saw 'trU'
                                                                                                                              +    (error occurred at line 1, column 13 of 'config.toml')

                                                                                                                              Getting node_views (operator[], at_path()) and using the iterator accessor functions (begin(), end() etc.) are unconditionally safe; when parsing fails these just return 'empty' values. A ranged-for loop on a failed parse_result is also safe since begin() and end() return the same iterator and will not lead to any dereferences and iterations.

                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + parse_result() noexcept +
                                                                                                                              +
                                                                                                                              Default constructs an 'error' result.
                                                                                                                              +
                                                                                                                              + parse_result(parse_result&& res) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              + ~parse_result() noexcept +
                                                                                                                              +
                                                                                                                              Destructor.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator=(parse_result&& rhs) -> parse_result& noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Failed parses

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              + auto error() & -> parse_error& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error.
                                                                                                                              +
                                                                                                                              + auto error() && -> parse_error&& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto error() const & -> const parse_error& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error (const lvalue overload).
                                                                                                                              +
                                                                                                                              + operator const parse_error&() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error (const lvalue overload).
                                                                                                                              +
                                                                                                                              + operator parse_error&() explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error.
                                                                                                                              +
                                                                                                                              + operator parse_error&&() explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Iteration

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using const_iterator = const_table_iterator +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over const key-value pairs in a wrapped toml::table.
                                                                                                                              +
                                                                                                                              + using iterator = table_iterator +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over key-value pairs in a wrapped toml::table.
                                                                                                                              +
                                                                                                                              + auto begin() -> table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto begin() const -> const_table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto cbegin() const -> const_table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto cend() const -> const_table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto end() -> table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto end() const -> const_table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Node views

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const toml::path& path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const toml::path& path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) -> node_view<node> +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) const -> node_view<const node> +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto operator[](const toml::path& path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto operator[](const toml::path& path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto operator[](std::string_view key) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto operator[](std::string_view key) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table (const overload).
                                                                                                                              +
                                                                                                                              + auto operator[](std::wstring_view key) -> node_view<node> +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto operator[](std::wstring_view key) const -> node_view<const node> +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Result state

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto failed() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if parsing failed.
                                                                                                                              +
                                                                                                                              + operator bool() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns true if parsing succeeded.
                                                                                                                              +
                                                                                                                              + auto succeeded() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if parsing succeeeded.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Successful parses

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              + operator const toml::table&() const noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table (const lvalue overload).
                                                                                                                              +
                                                                                                                              + operator toml::table&() noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table.
                                                                                                                              +
                                                                                                                              + operator toml::table&&() noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto table() & -> toml::table& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table.
                                                                                                                              +
                                                                                                                              + auto table() && -> toml::table&& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto table() const & -> const toml::table& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& os, + const parse_result& result) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the held error or table object out to a text stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + table_iterator toml::parse_result::begin() noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_table_iterator toml::parse_result::begin() const noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_table_iterator toml::parse_result::cbegin() const noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::parse_result::at_path(std::string_view path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::parse_result::at_path(std::string_view path) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::parse_result::at_path(const toml::path& path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::parse_result::at_path(const toml::path& path) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::parse_result::at_path(std::wstring_view path) +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::parse_result::at_path(std::wstring_view path) const +

                                                                                                                              +

                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::parse_result::operator[](const toml::path& path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::parse_result::operator[](const toml::path& path) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::parse_result::operator[](std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if parsing was successful and a matching key existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::parse_result::operator[](std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if parsing was successful and a matching key existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::parse_result::operator[](std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if parsing was successful and a matching key existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::parse_result::operator[](std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if parsing was successful and a matching key existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& os, + const parse_result& result) +

                                                                                                                              +

                                                                                                                              Prints the held error or table object out to a text stream.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.2.0/classtoml_1_1path.html b/v3.2.0/classtoml_1_1path.html new file mode 100644 index 00000000..cae52a26 --- /dev/null +++ b/v3.2.0/classtoml_1_1path.html @@ -0,0 +1,645 @@ + + + + toml::path class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::path class +

                                                                                                                              +

                                                                                                                              A TOML path.

                                                                                                                              + +

                                                                                                                              This type parses and represents a path to a TOML node. It validates the syntax of the path but does not ensure that the path refers to a valid node in any particular TOML document. If parsing fails, the object will evaluate as 'falsy', and will be empty.

                                                                                                                              toml::path the_path("animals.cats[1]");
                                                                                                                              +
                                                                                                                              +// can use with tbl.at_path or operator[]
                                                                                                                              +std::cout << "second cat: " << tbl[the_path] << "\n";
                                                                                                                              +std::cout << "cats: " << tbl.at_path(the_path.parent_path()) << "\n";
                                                                                                                              second cat: lion
                                                                                                                              +cats: ['tiger', 'lion', 'puma']
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + operator bool() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the path has one or more components.
                                                                                                                              +
                                                                                                                              + path() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Default constructor.
                                                                                                                              +
                                                                                                                              + path(std::string_view) explicit +
                                                                                                                              +
                                                                                                                              Construct a path by parsing from a string.
                                                                                                                              +
                                                                                                                              + path(std::wstring_view) explicit +
                                                                                                                              +
                                                                                                                              Construct a path by parsing from a string.
                                                                                                                              +
                                                                                                                              + path(const path&) defaulted +
                                                                                                                              +
                                                                                                                              Copy constructor.
                                                                                                                              +
                                                                                                                              + path(path&&) defaulted noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              + ~path() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Default destructor.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto empty() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Whether (true) or not (false) the path is empty.
                                                                                                                              +
                                                                                                                              + auto operator[](size_t index) -> path_component& noexcept +
                                                                                                                              +
                                                                                                                              Fetch a path component by index.
                                                                                                                              +
                                                                                                                              + auto operator[](size_t index) const -> const path_component& noexcept +
                                                                                                                              +
                                                                                                                              Fetch a path component by index (const overload).
                                                                                                                              +
                                                                                                                              + auto size() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the number of components in the path.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Appending

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto append(const path& p) -> path& +
                                                                                                                              +
                                                                                                                              Appends another path onto the end of this one.
                                                                                                                              +
                                                                                                                              + auto append(path&& p) -> path& +
                                                                                                                              +
                                                                                                                              Appends another path onto the end of this one.
                                                                                                                              +
                                                                                                                              + auto append(std::string_view str) -> path& +
                                                                                                                              +
                                                                                                                              Parses a path and appends it onto the end of this one.
                                                                                                                              +
                                                                                                                              + auto append(std::wstring_view str) -> path& +
                                                                                                                              +
                                                                                                                              Parses a path and appends it onto the end of this one.
                                                                                                                              +
                                                                                                                              + auto operator+=(const path&) -> path& +
                                                                                                                              +
                                                                                                                              Appends another path onto the end of this one.
                                                                                                                              +
                                                                                                                              + auto operator+=(path&&) -> path& +
                                                                                                                              +
                                                                                                                              Appends another path onto the end of this one.
                                                                                                                              +
                                                                                                                              + auto operator+=(std::string_view) -> path& +
                                                                                                                              +
                                                                                                                              Parses a path and appends it onto the end of this one.
                                                                                                                              +
                                                                                                                              + auto operator+=(std::wstring_view) -> path& +
                                                                                                                              +
                                                                                                                              Parses a path and appends it onto the end of this one.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Assignment

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto assign(const path& p) -> path& +
                                                                                                                              +
                                                                                                                              Replaces the contents of the path with that of another.
                                                                                                                              +
                                                                                                                              + auto assign(path&& p) -> path& noexcept +
                                                                                                                              +
                                                                                                                              Replaces the contents of the path with that of another.
                                                                                                                              +
                                                                                                                              + auto assign(std::string_view str) -> path& +
                                                                                                                              +
                                                                                                                              Replaces the contents of the path object by a new path.
                                                                                                                              +
                                                                                                                              + auto assign(std::wstring_view str) -> path& +
                                                                                                                              +
                                                                                                                              Replaces the contents of the path object by a new path.
                                                                                                                              +
                                                                                                                              + auto operator=(const path&) -> path& defaulted +
                                                                                                                              +
                                                                                                                              Copy-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(path&&) -> path& defaulted noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(std::string_view) -> path& +
                                                                                                                              +
                                                                                                                              Replaces the contents of the path by parsing from a string.
                                                                                                                              +
                                                                                                                              + auto operator=(std::wstring_view) -> path& +
                                                                                                                              +
                                                                                                                              Replaces the contents of the path by parsing from a string.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Concatenation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator+(const path& lhs, + const path& rhs) -> path +
                                                                                                                              +
                                                                                                                              Concatenates two paths.
                                                                                                                              +
                                                                                                                              + auto operator+(const path& lhs, + std::string_view rhs) -> path +
                                                                                                                              +
                                                                                                                              Concatenates two paths.
                                                                                                                              +
                                                                                                                              + auto operator+(std::string_view lhs, + const path& rhs) -> path +
                                                                                                                              +
                                                                                                                              Concatenates two paths.
                                                                                                                              +
                                                                                                                              + auto operator+(const path& lhs, + std::wstring_view rhs) -> path +
                                                                                                                              +
                                                                                                                              Concatenates two paths.
                                                                                                                              +
                                                                                                                              + auto operator+(std::wstring_view lhs, + const path& rhs) -> path +
                                                                                                                              +
                                                                                                                              Concatenates two paths.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const path& lhs, + const path& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns whether two paths are not the same.
                                                                                                                              +
                                                                                                                              + auto operator!=(const path& lhs, + std::string_view rhs) -> bool +
                                                                                                                              +
                                                                                                                              Returns whether two paths are not the same.
                                                                                                                              +
                                                                                                                              + auto operator!=(std::string_view lhs, + const path& rhs) -> bool +
                                                                                                                              +
                                                                                                                              Returns whether two paths are not the same.
                                                                                                                              +
                                                                                                                              + auto operator!=(const path& lhs, + std::wstring_view rhs) -> bool +
                                                                                                                              +
                                                                                                                              Returns whether two paths are not the same.
                                                                                                                              +
                                                                                                                              + auto operator!=(std::wstring_view lhs, + const path& rhs) -> bool +
                                                                                                                              +
                                                                                                                              Returns whether two paths are not the same.
                                                                                                                              +
                                                                                                                              + auto operator==(const path& lhs, + const path& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns whether two paths are the same.
                                                                                                                              +
                                                                                                                              + auto operator==(const path& lhs, + std::string_view rhs) -> bool +
                                                                                                                              +
                                                                                                                              Returns whether two paths are the same.
                                                                                                                              +
                                                                                                                              + auto operator==(std::string_view lhs, + const path& rhs) -> bool +
                                                                                                                              +
                                                                                                                              Returns whether two paths are the same.
                                                                                                                              +
                                                                                                                              + auto operator==(const path& lhs, + std::wstring_view rhs) -> bool +
                                                                                                                              +
                                                                                                                              Returns whether two paths are the same.
                                                                                                                              +
                                                                                                                              + auto operator==(std::wstring_view lhs, + const path& rhs) -> bool +
                                                                                                                              +
                                                                                                                              Returns whether two paths are the same.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Iteration

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using const_iterator = std::vector<path_component>::const_iterator +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using iterator = std::vector<path_component>::iterator +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto begin() -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first component in the path.
                                                                                                                              +
                                                                                                                              + auto begin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns a const iterator to the first component in the path.
                                                                                                                              +
                                                                                                                              + auto cbegin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns a const iterator to the first component in the path.
                                                                                                                              +
                                                                                                                              + auto cend() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns a const iterator to one-past-the-last component in the path.
                                                                                                                              +
                                                                                                                              + auto end() -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last component in the path.
                                                                                                                              +
                                                                                                                              + auto end() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns a const iterator to one-past-the-last component in the path.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Prepending

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto prepend(const path&) -> path& +
                                                                                                                              +
                                                                                                                              Prepends another path onto the beginning of this one.
                                                                                                                              +
                                                                                                                              + auto prepend(path&&) -> path& +
                                                                                                                              +
                                                                                                                              Prepends another path onto the beginning of this one.
                                                                                                                              +
                                                                                                                              + auto prepend(std::string_view) -> path& +
                                                                                                                              +
                                                                                                                              Parses a path and prepends it onto the beginning of this one.
                                                                                                                              +
                                                                                                                              + auto prepend(std::wstring_view) -> path& +
                                                                                                                              +
                                                                                                                              Parses a path and prepends it onto the beginning of this one.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              String conversion

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + operator std::string() const explicit +
                                                                                                                              +
                                                                                                                              Returns a string representation of this path.
                                                                                                                              +
                                                                                                                              + operator std::wstring() const explicit +
                                                                                                                              +
                                                                                                                              Returns a string representation of this path.
                                                                                                                              +
                                                                                                                              + auto str() const -> std::string +
                                                                                                                              +
                                                                                                                              Returns a string representation of this path.
                                                                                                                              +
                                                                                                                              + auto wide_str() const -> std::wstring +
                                                                                                                              +
                                                                                                                              Returns a string representation of this path.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& os, + const path& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the string representation of a toml::path out to a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Subpaths and Truncation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + void clear() noexcept +
                                                                                                                              +
                                                                                                                              Erases the contents of the path.
                                                                                                                              +
                                                                                                                              + auto leaf(size_t n = 1) const -> path +
                                                                                                                              +
                                                                                                                              Returns a toml::path object representing terminal n-parts of a TOML path.
                                                                                                                              +
                                                                                                                              + auto parent() const -> path +
                                                                                                                              +
                                                                                                                              Returns a toml::path object representing the path of the parent node.
                                                                                                                              +
                                                                                                                              + auto subpath(const_iterator start, + const_iterator end) const -> path +
                                                                                                                              +
                                                                                                                              Returns a toml::path object that is a specified subpath of the current path, representing the range of path components from [start, end).
                                                                                                                              +
                                                                                                                              + auto subpath(size_t start, + size_t length) const -> path +
                                                                                                                              +
                                                                                                                              Returns a toml::path object that is a specified subpath of the current path, representing the range of path components with indexes from [start, start + length].
                                                                                                                              +
                                                                                                                              + auto truncate(size_t n) -> path& +
                                                                                                                              +
                                                                                                                              Removes the number of terminal path components specified by n.
                                                                                                                              +
                                                                                                                              + auto truncated(size_t n) const -> path +
                                                                                                                              +
                                                                                                                              Returns a toml::path object which has had n terminal path components removed.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Typedef documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + using toml::path::const_iterator = std::vector<path_component>::const_iterator +

                                                                                                                              +

                                                                                                                              A const iterator for iterating over the components in the path.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + using toml::path::iterator = std::vector<path_component>::iterator +

                                                                                                                              +

                                                                                                                              An iterator for iterating over the components in the path.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::path::path(std::wstring_view) explicit +

                                                                                                                              +

                                                                                                                              Construct a path by parsing from a string.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + path& toml::path::append(std::wstring_view str) +

                                                                                                                              +

                                                                                                                              Parses a path and appends it onto the end of this one.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + path& toml::path::operator+=(std::wstring_view) +

                                                                                                                              +

                                                                                                                              Parses a path and appends it onto the end of this one.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + path& toml::path::assign(std::wstring_view str) +

                                                                                                                              +

                                                                                                                              Replaces the contents of the path object by a new path.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + path& toml::path::operator=(std::wstring_view) +

                                                                                                                              +

                                                                                                                              Replaces the contents of the path by parsing from a string.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + path toml::path::operator+(const path& lhs, + std::wstring_view rhs) +

                                                                                                                              +

                                                                                                                              Concatenates two paths.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + path toml::path::operator+(std::wstring_view lhs, + const path& rhs) +

                                                                                                                              +

                                                                                                                              Concatenates two paths.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::path::operator!=(const path& lhs, + std::wstring_view rhs) +

                                                                                                                              +

                                                                                                                              Returns whether two paths are not the same.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::path::operator!=(std::wstring_view lhs, + const path& rhs) +

                                                                                                                              +

                                                                                                                              Returns whether two paths are not the same.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::path::operator==(const path& lhs, + std::wstring_view rhs) +

                                                                                                                              +

                                                                                                                              Returns whether two paths are the same.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::path::operator==(std::wstring_view lhs, + const path& rhs) +

                                                                                                                              +

                                                                                                                              Returns whether two paths are the same.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::path::begin() noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to the first component in the path.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_iterator toml::path::begin() const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const iterator to the first component in the path.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_iterator toml::path::cbegin() const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const iterator to the first component in the path.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_iterator toml::path::cend() const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const iterator to one-past-the-last component in the path.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::path::end() noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to one-past-the-last component in the path.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_iterator toml::path::end() const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const iterator to one-past-the-last component in the path.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + path& toml::path::prepend(std::wstring_view) +

                                                                                                                              +

                                                                                                                              Parses a path and prepends it onto the beginning of this one.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::path::operator std::wstring() const explicit +

                                                                                                                              +

                                                                                                                              Returns a string representation of this path.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::wstring toml::path::wide_str() const +

                                                                                                                              +

                                                                                                                              Returns a string representation of this path.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.2.0/classtoml_1_1path__component.html b/v3.2.0/classtoml_1_1path__component.html new file mode 100644 index 00000000..222e9e14 --- /dev/null +++ b/v3.2.0/classtoml_1_1path__component.html @@ -0,0 +1,260 @@ + + + + toml::path_component class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::path_component class +

                                                                                                                              +

                                                                                                                              Represents a single component of a complete 'TOML-path': either a key or an array index.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + path_component() +
                                                                                                                              +
                                                                                                                              Default constructor (creates an empty key).
                                                                                                                              +
                                                                                                                              + path_component(size_t index) noexcept +
                                                                                                                              +
                                                                                                                              Constructor for a path component that is an array index.
                                                                                                                              +
                                                                                                                              + path_component(std::string_view key) +
                                                                                                                              +
                                                                                                                              Constructor for a path component that is a key string.
                                                                                                                              +
                                                                                                                              + path_component(std::wstring_view key) +
                                                                                                                              +
                                                                                                                              Constructor for a path component that is a key string.
                                                                                                                              +
                                                                                                                              + path_component(const path_component& pc) +
                                                                                                                              +
                                                                                                                              Copy constructor.
                                                                                                                              +
                                                                                                                              + path_component(path_component&& pc) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              + ~path_component() noexcept +
                                                                                                                              +
                                                                                                                              Destructor.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator=(const path_component& rhs) -> path_component& +
                                                                                                                              +
                                                                                                                              Copy-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(path_component&& rhs) -> path_component& noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(size_t new_index) -> path_component& noexcept +
                                                                                                                              +
                                                                                                                              Assigns an array index to this path component.
                                                                                                                              +
                                                                                                                              + auto operator=(std::string_view new_key) -> path_component& +
                                                                                                                              +
                                                                                                                              Assigns a path key to this path component.
                                                                                                                              +
                                                                                                                              + auto operator=(std::wstring_view new_key) -> path_component& +
                                                                                                                              +
                                                                                                                              Assigns a path key to this path component.
                                                                                                                              +
                                                                                                                              + auto type() const -> path_component_type noexcept +
                                                                                                                              +
                                                                                                                              Retrieve the type of this path component, either path_component::key or path_component::array_index.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Array index accessors

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              + auto index() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the array index (const lvalue overload).
                                                                                                                              +
                                                                                                                              + operator size_t() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns the array index (const lvalue).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const path_component& lhs, + const path_component& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if two path components do not represent the same key or array index.
                                                                                                                              +
                                                                                                                              + auto operator==(const path_component& lhs, + const path_component& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if two path components represent the same key or array index.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Key accessors

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              + auto key() const -> const std::string& noexcept +
                                                                                                                              +
                                                                                                                              Returns the key string.
                                                                                                                              +
                                                                                                                              + operator const std::string&() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns the key string.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::path_component::path_component(std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Constructor for a path component that is a key string.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + path_component& toml::path_component::operator=(std::wstring_view new_key) +

                                                                                                                              +

                                                                                                                              Assigns a path key to this path component.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.2.0/classtoml_1_1table.html b/v3.2.0/classtoml_1_1table.html new file mode 100644 index 00000000..73b421ae --- /dev/null +++ b/v3.2.0/classtoml_1_1table.html @@ -0,0 +1,2150 @@ + + + + toml::table class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::table class +

                                                                                                                              +

                                                                                                                              A TOML table.

                                                                                                                              + +

                                                                                                                              The interface of this type is modeled after std::map, with some additional considerations made for the heterogeneous nature of a TOML table.

                                                                                                                              toml::table tbl = toml::parse(R"(
                                                                                                                              +
                                                                                                                              +    [animals]
                                                                                                                              +    cats = [ "tiger", "lion", "puma" ]
                                                                                                                              +    birds = [ "macaw", "pigeon", "canary" ]
                                                                                                                              +    fish = [ "salmon", "trout", "carp" ]
                                                                                                                              +
                                                                                                                              +)"sv);
                                                                                                                              +
                                                                                                                              +// operator[] retrieves node-views
                                                                                                                              +std::cout << "cats: " << tbl["animals"]["cats"] << "\n";
                                                                                                                              +std::cout << "fish[1]: " << tbl["animals"]["fish"][1] << "\n";
                                                                                                                              +
                                                                                                                              +// at_path() does fully-qualified "toml path" lookups
                                                                                                                              +std::cout << "cats: " << tbl.at_path("animals.cats") << "\n";
                                                                                                                              +std::cout << "fish[1]: " << tbl.at_path("animals.fish[1]") << "\n";
                                                                                                                              cats: ['tiger', 'lion', 'puma']
                                                                                                                              +fish[1] : 'trout'
                                                                                                                              +cats : ['tiger', 'lion', 'puma']
                                                                                                                              +fish[1] : 'trout'
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Base classes

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + class node +
                                                                                                                              +
                                                                                                                              A TOML node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + table() noexcept +
                                                                                                                              +
                                                                                                                              Default constructor.
                                                                                                                              +
                                                                                                                              + table(const table&) +
                                                                                                                              +
                                                                                                                              Copy constructor.
                                                                                                                              +
                                                                                                                              + table(table&& other) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              + table(std::initializer_list<impl::table_init_pair> kvps) explicit +
                                                                                                                              +
                                                                                                                              Constructs a table with one or more initial key-value pairs.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator=(const table&) -> table& +
                                                                                                                              +
                                                                                                                              Copy-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(table&& rhs) -> table& noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const table& lhs, + const table& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const table& lhs, + const table& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Erasure

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + void clear() noexcept +
                                                                                                                              +
                                                                                                                              Removes all key-value pairs from the table.
                                                                                                                              +
                                                                                                                              + auto erase(iterator pos) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Removes the specified key-value pair from the table.
                                                                                                                              +
                                                                                                                              + auto erase(const_iterator pos) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Removes the specified key-value pair from the table (const iterator overload).
                                                                                                                              +
                                                                                                                              + auto erase(const_iterator begin, + const_iterator end) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Removes the key-value pairs in the range [first, last) from the table.
                                                                                                                              +
                                                                                                                              + auto erase(std::string_view key) -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Removes the value with the given key from the table.
                                                                                                                              +
                                                                                                                              + auto erase(std::wstring_view key) -> size_t +
                                                                                                                              +
                                                                                                                              Removes the value with the given key from the table.
                                                                                                                              +
                                                                                                                              + auto prune(bool recursive = true) & -> table& noexcept +
                                                                                                                              +
                                                                                                                              Removes empty child arrays and tables.
                                                                                                                              +
                                                                                                                              + auto prune(bool recursive = true) && -> table&& noexcept +
                                                                                                                              +
                                                                                                                              Removes empty child arrays and tables (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Insertion and Emplacement

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ValueType = void, typename KeyType, typename... ValueArgs>
                                                                                                                              + auto emplace(KeyType&& key, + ValueArgs && ... args) -> std::pair<iterator, bool> +
                                                                                                                              +
                                                                                                                              Emplaces a new value at a specific key if one did not already exist.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ValueType = void, typename KeyType, typename... ValueArgs>
                                                                                                                              + auto emplace_hint(const_iterator hint, + KeyType&& key, + ValueArgs && ... args) -> iterator +
                                                                                                                              +
                                                                                                                              Emplaces a new value at a specific key if one did not already exist.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename KeyType, typename ValueType>
                                                                                                                              + auto insert(KeyType&& key, + ValueType&& val, + value_flags flags = preserve_source_value_flags) -> std::pair<iterator, bool> +
                                                                                                                              +
                                                                                                                              Inserts a new value at a specific key if one did not already exist.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Iter>
                                                                                                                              + void insert(Iter begin, + Iter end, + value_flags flags = preserve_source_value_flags) +
                                                                                                                              +
                                                                                                                              Inserts a series of key-value pairs into the table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename KeyType, typename ValueType>
                                                                                                                              + auto insert_or_assign(KeyType&& key, + ValueType&& val, + value_flags flags = preserve_source_value_flags) -> std::pair<iterator, bool> +
                                                                                                                              +
                                                                                                                              Inserts or assigns a value at a specific key.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Iteration

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using const_iterator = toml::const_table_iterator +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over const key-value pairs in a toml::table.
                                                                                                                              +
                                                                                                                              + using iterator = toml::table_iterator +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over key-value pairs in a toml::table.
                                                                                                                              +
                                                                                                                              + auto begin() -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair.
                                                                                                                              +
                                                                                                                              + auto begin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair.
                                                                                                                              +
                                                                                                                              + auto cbegin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair.
                                                                                                                              +
                                                                                                                              + auto cend() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair.
                                                                                                                              +
                                                                                                                              + auto end() -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair.
                                                                                                                              +
                                                                                                                              + auto end() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto for_each(Func&& visitor) & -> table& noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on each key-value pair in the table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto for_each(Func&& visitor) && -> table&& noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on each key-value pair in the table (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto for_each(Func&& visitor) const & -> const table& noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on each key-value pair in the table (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto for_each(Func&& visitor) const && -> const table&& noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on each key-value pair in the table (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Metadata

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto is_inline() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this table is an inline table.
                                                                                                                              +
                                                                                                                              + void is_inline(bool val) noexcept +
                                                                                                                              +
                                                                                                                              Sets whether this table is a TOML inline table.
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the source region responsible for generating this node during parsing.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Node views

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const toml::path& path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const toml::path& path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) -> node_view<node> +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) const -> node_view<const node> +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + operator node_view<const node>() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node (const overload).
                                                                                                                              +
                                                                                                                              + operator node_view<node>() explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node.
                                                                                                                              +
                                                                                                                              + auto operator[](std::string_view key) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected value.
                                                                                                                              +
                                                                                                                              + auto operator[](std::string_view key) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected value (const overload).
                                                                                                                              +
                                                                                                                              + auto operator[](std::wstring_view key) -> node_view<node> +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected value.
                                                                                                                              +
                                                                                                                              + auto operator[](std::wstring_view key) const -> node_view<const node> +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected value (const overload).
                                                                                                                              +
                                                                                                                              + auto operator[](const toml::path& path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto operator[](const toml::path& path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Searching

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto contains(std::string_view key) const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the table contains a node at the given key.
                                                                                                                              +
                                                                                                                              + auto contains(std::wstring_view key) const -> bool +
                                                                                                                              +
                                                                                                                              Returns true if the table contains a node at the given key.
                                                                                                                              +
                                                                                                                              + auto find(std::string_view key) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Gets an iterator to the node at a specific key.
                                                                                                                              +
                                                                                                                              + auto find(std::string_view key) const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Gets an iterator to the node at a specific key (const overload)
                                                                                                                              +
                                                                                                                              + auto find(std::wstring_view key) -> iterator +
                                                                                                                              +
                                                                                                                              Gets an iterator to the node at a specific key.
                                                                                                                              +
                                                                                                                              + auto find(std::wstring_view key) const -> const_iterator +
                                                                                                                              +
                                                                                                                              Gets an iterator to the node at a specific key (const overload).
                                                                                                                              +
                                                                                                                              + auto lower_bound(std::string_view key) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair with key that is not less than the given key.
                                                                                                                              +
                                                                                                                              + auto lower_bound(std::string_view key) const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns a const iterator to the first key-value pair with key that is not less than the given key.
                                                                                                                              +
                                                                                                                              + auto lower_bound(std::wstring_view key) -> iterator +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair with key that is not less than the given key.
                                                                                                                              +
                                                                                                                              + auto lower_bound(std::wstring_view key) const -> const_iterator +
                                                                                                                              +
                                                                                                                              Returns a const iterator to the first key-value pair with key that is not less than the given key.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Size and Capacity

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto empty() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the table is empty.
                                                                                                                              +
                                                                                                                              + auto size() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the number of key-value pairs in the table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type casts

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() -> impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() const -> const impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type (const overload).
                                                                                                                              +
                                                                                                                              + auto as_array() -> array* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_array() const -> const array* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_boolean() -> toml::value<bool>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_boolean() const -> const toml::value<bool>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date() -> toml::value<date>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date() const -> const toml::value<date>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date_time() -> toml::value<date_time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date_time() const -> const toml::value<date_time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() -> toml::value<double>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() const -> const toml::value<double>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_integer() -> toml::value<int64_t>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_integer() const -> const toml::value<int64_t>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_string() -> toml::value<std::string>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_string() const -> const toml::value<std::string>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_table() -> table* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the table.
                                                                                                                              +
                                                                                                                              + auto as_table() const -> const table* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the table.
                                                                                                                              +
                                                                                                                              + auto as_time() -> toml::value<time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_time() const -> const toml::value<time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type checks

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto is() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node is a specific type.
                                                                                                                              +
                                                                                                                              + auto is_array() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_array_of_tables() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_boolean() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_date() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_date_time() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_floating_point() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype) const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + node*& first_nonmatch) -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + const node*& first_nonmatch) const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType = void>
                                                                                                                              + auto is_homogeneous() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_integer() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_number() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_string() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_table() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true.
                                                                                                                              +
                                                                                                                              + auto is_time() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_value() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto type() const -> node_type final noexcept +
                                                                                                                              +
                                                                                                                              Returns toml::node_type::table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Value retrieval

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at(std::string_view key) -> node& +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific key, throwing std::out_of_range if none existed.
                                                                                                                              +
                                                                                                                              + auto at(std::string_view key) const -> const node& +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific key, throwing std::out_of_range if none existed.
                                                                                                                              +
                                                                                                                              + auto at(std::wstring_view key) -> node& +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific key, throwing std::out_of_range if none existed.
                                                                                                                              +
                                                                                                                              + auto at(std::wstring_view key) const -> const node& +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific key, throwing std::out_of_range if none existed.
                                                                                                                              +
                                                                                                                              + auto get(std::string_view key) -> node* noexcept +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key.
                                                                                                                              +
                                                                                                                              + auto get(std::string_view key) const -> const node* noexcept +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key (const overload).
                                                                                                                              +
                                                                                                                              + auto get(std::wstring_view key) -> node* +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key.
                                                                                                                              +
                                                                                                                              + auto get(std::wstring_view key) const -> const node* +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto get_as(std::string_view key) -> impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key if it is a particular type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto get_as(std::string_view key) const -> const impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key if it is a particular type (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto get_as(std::wstring_view key) -> impl::wrap_node<T>* +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key if it is a particular type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto get_as(std::wstring_view key) const -> const impl::wrap_node<T>* +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key if it is a particular type (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_exact() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_or(T&& default_value) const -> auto noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the raw value contained by this node, or a default.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Visitation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const table& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the table out to a stream as formatted TOML.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::table::table(std::initializer_list<impl::table_init_pair> kvps) explicit +

                                                                                                                              +

                                                                                                                              Constructs a table with one or more initial key-value pairs.

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              kvpsA list of key-value pairs used to initialize the table.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "foo", 1 },
                                                                                                                              +    { "bar", 2.0 },
                                                                                                                              +    { "kek", "three" }
                                                                                                                              +};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { foo = 1, bar = 2.0, kek = "three" }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::operator!=(const table& lhs, + const table& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Inequality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS table.
                                                                                                                              rhsThe RHS table.
                                                                                                                              ReturnsTrue if the tables did not contain the same keys and map.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::operator==(const table& lhs, + const table& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Equality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS table.
                                                                                                                              rhsThe RHS table.
                                                                                                                              ReturnsTrue if the tables contained the same keys and map.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::erase(iterator pos) noexcept +

                                                                                                                              +

                                                                                                                              Removes the specified key-value pair from the table.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              posIterator to the key-value pair being erased.
                                                                                                                              ReturnsIterator to the first key-value pair immediately following the removed key-value pair.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 1 },
                                                                                                                              +    { "b", 2 },
                                                                                                                              +    { "c", 3 }
                                                                                                                              +};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +
                                                                                                                              +tbl.erase(tbl.begin() + 1);
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { a = 1, b = 2, c = 3 }
                                                                                                                              +{ a = 1, c = 3 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::erase(const_iterator pos) noexcept +

                                                                                                                              +

                                                                                                                              Removes the specified key-value pair from the table (const iterator overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              posIterator to the key-value pair being erased.
                                                                                                                              ReturnsIterator to the first key-value pair immediately following the removed key-value pair.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 1 },
                                                                                                                              +    { "b", 2 },
                                                                                                                              +    { "c", 3 }
                                                                                                                              +};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +
                                                                                                                              +tbl.erase(tbl.cbegin() + 1);
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { a = 1, b = 2, c = 3 }
                                                                                                                              +{ a = 1, c = 3 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::erase(const_iterator begin, + const_iterator end) noexcept +

                                                                                                                              +

                                                                                                                              Removes the key-value pairs in the range [first, last) from the table.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              beginIterator to the first key-value pair being erased.
                                                                                                                              endIterator to the one-past-the-last key-value pair being erased.
                                                                                                                              ReturnsIterator to the first key-value pair immediately following the last removed key-value pair.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 1 },
                                                                                                                              +    { "b", "bad" },
                                                                                                                              +    { "c", "karma" },
                                                                                                                              +    { "d", 2 }
                                                                                                                              +};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +
                                                                                                                              +tbl.erase(tbl.cbegin() + 1, tbl.cbegin() + 3);
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { a = 1, b = "bad", c = "karma", d = 2 }
                                                                                                                              +{ a = 1, d = 2 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + size_t toml::table::erase(std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Removes the value with the given key from the table.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyKey to erase.
                                                                                                                              ReturnsNumber of elements removed (0 or 1).
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 1 },
                                                                                                                              +    { "b", 2 },
                                                                                                                              +    { "c", 3 }
                                                                                                                              +};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +
                                                                                                                              +std::cout << tbl.erase("b") << "\n";
                                                                                                                              +std::cout << tbl.erase("not an existing key") << "\n";
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { a = 1, b = 2, c = 3 }
                                                                                                                              +true
                                                                                                                              +false
                                                                                                                              +{ a = 1, c = 3 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + size_t toml::table::erase(std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Removes the value with the given key from the table.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyKey to erase.
                                                                                                                              ReturnsNumber of elements removed (0 or 1).
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + table& toml::table::prune(bool recursive = true) & noexcept +

                                                                                                                              +

                                                                                                                              Removes empty child arrays and tables.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              recursiveShould child arrays and tables themselves be pruned?
                                                                                                                              ReturnsA reference to the table.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{ { "a", 1 }, { "b", toml::array{ } }, { "c", toml::array{ toml::table{}, toml::array{} } } };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +
                                                                                                                              +arr.prune();
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              { a = 1, b = [], c = [ {}, [] ] }
                                                                                                                              +{ a = 1 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + table&& toml::table::prune(bool recursive = true) && noexcept +

                                                                                                                              +

                                                                                                                              Removes empty child arrays and tables (rvalue overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              recursiveShould child arrays and tables themselves be pruned?
                                                                                                                              ReturnsAn rvalue reference to the table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType = void, typename KeyType, typename... ValueArgs> +
                                                                                                                              + std::pair<iterator, bool> toml::table::emplace(KeyType&& key, + ValueArgs && ... args) +

                                                                                                                              +

                                                                                                                              Emplaces a new value at a specific key if one did not already exist.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ValueTypetoml::table, toml::array, or any native TOML value type.
                                                                                                                              KeyTypeA toml::key or any compatible string type.
                                                                                                                              ValueArgsValue constructor argument types.
                                                                                                                              Parameters
                                                                                                                              keyThe key at which to emplace the new value.
                                                                                                                              argsArguments to forward to the value's constructor.
                                                                                                                              Returns

                                                                                                                              A std::pair containing:

                                                                                                                              • An iterator to the emplacement position (or the position of the value that prevented emplacement)
                                                                                                                              • A boolean indicating if the emplacement was successful.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 1 },
                                                                                                                              +    { "b", 2 },
                                                                                                                              +    { "c", 3 }
                                                                                                                              +};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +
                                                                                                                              +for (auto k : { "a", "d" })
                                                                                                                              +{
                                                                                                                              +    // add a string using std::string's substring constructor
                                                                                                                              +    auto result = tbl.emplace<std::string>(k, "this is not a drill"sv, 14, 5);
                                                                                                                              +    std::cout << "emplaced with key '"sv << k << "': "sv << result.second << "\n";
                                                                                                                              +}
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { a = 1, b = 2, c = 3 }
                                                                                                                              +emplaced with key 'a': false
                                                                                                                              +emplaced with key 'd': true
                                                                                                                              +{ a = 1, b = 2, c = 3, d = "drill" }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType = void, typename KeyType, typename... ValueArgs> +
                                                                                                                              + iterator toml::table::emplace_hint(const_iterator hint, + KeyType&& key, + ValueArgs && ... args) +

                                                                                                                              +

                                                                                                                              Emplaces a new value at a specific key if one did not already exist.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ValueTypetoml::table, toml::array, or any native TOML value type.
                                                                                                                              KeyTypeA toml::key or any compatible string type.
                                                                                                                              ValueArgsValue constructor argument types.
                                                                                                                              Parameters
                                                                                                                              hintIterator to the position before which the new element will be emplaced.
                                                                                                                              keyThe key at which to emplace the new value.
                                                                                                                              argsArguments to forward to the value's constructor.
                                                                                                                              ReturnsAn iterator to the emplacement position (or the position of the value that prevented emplacement)
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename KeyType, typename ValueType> +
                                                                                                                              + std::pair<iterator, bool> toml::table::insert(KeyType&& key, + ValueType&& val, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Inserts a new value at a specific key if one did not already exist.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              KeyTypeA toml::key or any compatible string type.
                                                                                                                              ValueTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              keyThe key at which to insert the new value.
                                                                                                                              valThe new value to insert.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              Returns

                                                                                                                              Valid input:

                                                                                                                              • An iterator to the insertion position (or the position of the value that prevented insertion)
                                                                                                                              • A boolean indicating if the insertion was successful.
                                                                                                                              +

                                                                                                                              Input is a null toml::node_view: + { end(), false }

                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto tbl = toml::table{ + { "a", 1 }, + { "b", 2 }, + { "c", 3 } +}; +std::cout << tbl << "\n"; + +for (auto k : { "a", "d" }) +{ + auto result = tbl.insert(k, 42); + std::cout << "inserted with key '"sv << k << "': "sv << result.second << "\n"; +} +std::cout << tbl << "\n";
                                                                                                                              a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +
                                                                                                                              +inserted with key 'a': false
                                                                                                                              +inserted with key 'd': true
                                                                                                                              +a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +d = 42
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Iter> +
                                                                                                                              + void toml::table::insert(Iter begin, + Iter end, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Inserts a series of key-value pairs into the table.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              IterAn InputIterator to a collection of key-value pairs.
                                                                                                                              Parameters
                                                                                                                              beginAn iterator to the first value in the input collection.
                                                                                                                              endAn iterator to one-past-the-last value in the input collection.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto tbl = toml::table{ + { "a", 1 }, + { "b", 2 }, + { "c", 3 } +}; +std::cout << tbl << "\n"; + +auto kvps = std::array<std::pair<std::string, int>, 2>{{ + { "d", 42 }, + { "a", 43 } // won't be inserted, 'a' already exists +}}; +tbl.insert(kvps.begin(), kvps.end()); +std::cout << tbl << "\n";
                                                                                                                              a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +
                                                                                                                              +a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +d = 42
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename KeyType, typename ValueType> +
                                                                                                                              + std::pair<iterator, bool> toml::table::insert_or_assign(KeyType&& key, + ValueType&& val, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Inserts or assigns a value at a specific key.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              KeyTypeA toml::key or any compatible string type.
                                                                                                                              ValueTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              keyThe key at which to insert or assign the value.
                                                                                                                              valThe value to insert/assign.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              Returns

                                                                                                                              Valid input:

                                                                                                                              • An iterator to the value's position
                                                                                                                              • true if the value was inserted, false if it was assigned.
                                                                                                                              +

                                                                                                                              Input is a null toml::node_view: + { end(), false }

                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto tbl = toml::table{ + { "a", 1 }, + { "b", 2 }, + { "c", 3 } +}; +std::cout << tbl << "\n"; + +for (auto k : { "a", "d" }) +{ + auto result = tbl.insert_or_assign(k, 42); + std::cout << "value at key '"sv << k + << "' was "sv << (result.second ? "inserted"sv : "assigned"sv) << "\n"; +} +std::cout << tbl << "\n";
                                                                                                                              a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +
                                                                                                                              +value at key 'a' was assigned
                                                                                                                              +value at key 'd' was inserted
                                                                                                                              +a = 42
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +d = 42
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Func> +
                                                                                                                              + table& toml::table::for_each(Func&& visitor) & noexcept(…) +

                                                                                                                              +

                                                                                                                              Invokes a visitor on each key-value pair in the table.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              Func

                                                                                                                              A callable type invocable with one of the following signatures:

                                                                                                                              • func(key, val)
                                                                                                                              • func(val)

                                                                                                                              Where:

                                                                                                                              • key will recieve a const reference to a toml::key
                                                                                                                              • val will recieve the value as it's concrete type with cvref-qualifications matching the table

                                                                                                                              Visitors returning bool (or something convertible to bool) will cause iteration to stop if they return false.

                                                                                                                              Parameters
                                                                                                                              visitorThe visitor object.
                                                                                                                              ReturnsA reference to the table.
                                                                                                                              +
                                                                                                                              toml::table tbl{
                                                                                                                              +    { "0",  0      },
                                                                                                                              +    { "1",  1      },
                                                                                                                              +    { "2",  2      },
                                                                                                                              +    { "3",  3.0    },
                                                                                                                              +    { "4",  "four" },
                                                                                                                              +    { "5",  "five" },
                                                                                                                              +    { "6",  6      }
                                                                                                                              +};
                                                                                                                              +
                                                                                                                              +// select only the integers using a strongly-typed visitor
                                                                                                                              +tbl.for_each([](toml::value<int64_t>& val)
                                                                                                                              +{
                                                                                                                              +    std::cout << val << ", ";
                                                                                                                              +});
                                                                                                                              +std::cout << "\n";
                                                                                                                              +
                                                                                                                              +// select all the numeric values using a generic visitor + is_number<> metafunction
                                                                                                                              +tbl.for_each([](auto&& val)
                                                                                                                              +{
                                                                                                                              +    if constexpr (toml::is_number<decltype(val)>)
                                                                                                                              +        std::cout << val << ", ";
                                                                                                                              +});
                                                                                                                              +std::cout << "\n";
                                                                                                                              +
                                                                                                                              +// select all the numeric values until we encounter something non-numeric
                                                                                                                              +tbl.for_each([](auto&& val)
                                                                                                                              +{
                                                                                                                              +    if constexpr (toml::is_number<decltype(val)>)
                                                                                                                              +    {
                                                                                                                              +        std::cout << val << ", ";
                                                                                                                              +        return true; // "keep going"
                                                                                                                              +    }
                                                                                                                              +    else
                                                                                                                              +        return false; // "stop!"
                                                                                                                              +
                                                                                                                              +});
                                                                                                                              +std::cout << "\n\n";
                                                                                                                              +
                                                                                                                              +// visitors may also recieve the key
                                                                                                                              +tbl.for_each([](const toml::key& key, auto&& val)
                                                                                                                              +{
                                                                                                                              +    std::cout << key << ": " << val << "\n";
                                                                                                                              +});
                                                                                                                              0, 1, 2, 6,
                                                                                                                              +0, 1, 2, 3.0, 6,
                                                                                                                              +0, 1, 2, 3.0,
                                                                                                                              +
                                                                                                                              +0: 0
                                                                                                                              +1: 1
                                                                                                                              +2: 2
                                                                                                                              +3: 3.0
                                                                                                                              +4: 'four'
                                                                                                                              +5: 'five'
                                                                                                                              +6: 6
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::is_inline() const noexcept +

                                                                                                                              +

                                                                                                                              Returns true if this table is an inline table.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + void toml::table::is_inline(bool val) noexcept +

                                                                                                                              +

                                                                                                                              Sets whether this table is a TOML inline table.

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              valThe new value for 'inline'.
                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto tbl = toml::table{ + { "a", 1 }, + { "b", 2 }, + { "c", 3 }, + { "d", toml::table{ { "e", 4 } } } +}; +std::cout << "is inline? "sv << tbl.is_inline() << "\n"; +std::cout << tbl << "\n\n"; + +tbl.is_inline(!tbl.is_inline()); +std::cout << "is inline? "sv << tbl.is_inline() << "\n"; +std::cout << tbl << "\n";
                                                                                                                              is inline? false
                                                                                                                              +a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +
                                                                                                                              +[d]
                                                                                                                              +e = 4
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +is inline? true
                                                                                                                              +{ a = 1, b = 2, c = 3, d = { e = 4 } }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::table::operator[](std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected value.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if one existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::table::operator[](std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected value (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if one existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::table::operator[](std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected value.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if one existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::table::operator[](std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected value (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if one existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::contains(std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Returns true if the table contains a node at the given key.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::find(std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets an iterator to the node at a specific key.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsAn iterator to the node at the specified key, or end().
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_iterator toml::table::find(std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets an iterator to the node at a specific key (const overload)

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA const iterator to the node at the specified key, or cend().
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::find(std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Gets an iterator to the node at a specific key.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsAn iterator to the node at the specified key, or end().
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_iterator toml::table::find(std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Gets an iterator to the node at a specific key (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA const iterator to the node at the specified key, or cend().
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::lower_bound(std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to the first key-value pair with key that is not less than the given key.

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsAn iterator to the first matching key-value pair, or end().
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_iterator toml::table::lower_bound(std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const iterator to the first key-value pair with key that is not less than the given key.

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsAn iterator to the first matching key-value pair, or end().
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::lower_bound(std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Returns an iterator to the first key-value pair with key that is not less than the given key.

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsAn iterator to the first matching key-value pair, or end().
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_iterator toml::table::lower_bound(std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Returns a const iterator to the first key-value pair with key that is not less than the given key.

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsAn iterator to the first matching key-value pair, or end().
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::is_homogeneous(node_type ntype) const final noexcept +

                                                                                                                              +

                                                                                                                              Checks if the node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << "homogenous: "sv << arr.is_homogeneous(toml::node_type::none) << "\n";
                                                                                                                              +std::cout << "all floats: "sv << arr.is_homogeneous(toml::node_type::floating_point) << "\n";
                                                                                                                              +std::cout << "all arrays: "sv << arr.is_homogeneous(toml::node_type::array) << "\n";
                                                                                                                              +std::cout << "all ints:   "sv << arr.is_homogeneous(toml::node_type::integer) << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::is_homogeneous(node_type ntype, + node*& first_nonmatch) final noexcept +

                                                                                                                              +

                                                                                                                              Checks if a node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              first_nonmatchReference to a pointer in which the address of the first non-matching element will be stored if the return value is false.
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]");
                                                                                                                              +toml::array& arr = *cfg["arr"].as_array();
                                                                                                                              +
                                                                                                                              +toml::node* nonmatch{};
                                                                                                                              +if (arr.is_homogeneous(toml::node_type::integer, nonmatch))
                                                                                                                              +    std::cout << "array was homogeneous"sv << "\n";
                                                                                                                              +else
                                                                                                                              +    std::cout << "array was not homogeneous!\n"
                                                                                                                              +    << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
                                                                                                                              array was not homogeneous!
                                                                                                                              +first non-match was a floating-point at line 1, column 18
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node& toml::table::at(std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Gets a reference to the element at a specific key, throwing std::out_of_range if none existed.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const node& toml::table::at(std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Gets a reference to the element at a specific key, throwing std::out_of_range if none existed.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node* toml::table::get(std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key, or nullptr.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 42, },
                                                                                                                              +    { "b", "is the meaning of life, apparently." }
                                                                                                                              +};
                                                                                                                              +std::cout << R"(node ["a"] exists: )"sv << !!arr.get("a") << "\n";
                                                                                                                              +std::cout << R"(node ["b"] exists: )"sv << !!arr.get("b") << "\n";
                                                                                                                              +std::cout << R"(node ["c"] exists: )"sv << !!arr.get("c") << "\n";
                                                                                                                              +if (auto val = arr.get("a"))
                                                                                                                              +    std::cout << R"(node ["a"] was an )"sv << val->type() << "\n";
                                                                                                                              node ["a"] exists: true
                                                                                                                              +node ["b"] exists: true
                                                                                                                              +node ["c"] exists: false
                                                                                                                              +node ["a"] was an integer
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const node* toml::table::get(std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key, or nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node* toml::table::get(std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key, or nullptr.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const node* toml::table::get(std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key, or nullptr.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + impl::wrap_node<T>* toml::table::get_as(std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key if it is a particular type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the TOML node or value types.
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key if it was of the given type, or nullptr.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 42, },
                                                                                                                              +    { "b", "is the meaning of life, apparently." }
                                                                                                                              +};
                                                                                                                              +if (auto val = arr.get_as<int64_t>("a"))
                                                                                                                              +    std::cout << R"(node ["a"] was an integer with value )"sv << **val << "\n";
                                                                                                                              node ["a"] was an integer with value 42
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + const impl::wrap_node<T>* toml::table::get_as(std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key if it is a particular type (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the TOML node or value types.
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key if it was of the given type, or nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + impl::wrap_node<T>* toml::table::get_as(std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key if it is a particular type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the TOML node or value types.
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key if it was of the given type, or nullptr.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + const impl::wrap_node<T>* toml::table::get_as(std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key if it is a particular type (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the TOML node or value types.
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key if it was of the given type, or nullptr.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const table& rhs) +

                                                                                                                              +

                                                                                                                              Prints the table out to a stream as formatted TOML.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.2.0/classtoml_1_1toml__formatter.html b/v3.2.0/classtoml_1_1toml__formatter.html new file mode 100644 index 00000000..57e6215a --- /dev/null +++ b/v3.2.0/classtoml_1_1toml__formatter.html @@ -0,0 +1,244 @@ + + + + toml::toml_formatter class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::toml_formatter class +

                                                                                                                              +

                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted TOML.

                                                                                                                              + +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "description", "This is some TOML, yo." },
                                                                                                                              +    { "fruit", toml::array{ "apple", "orange", "pear" } },
                                                                                                                              +    { "numbers", toml::array{ 1, 2, 3, 4, 5 } },
                                                                                                                              +    { "table", toml::table{ { "foo", "bar" } } }
                                                                                                                              +};
                                                                                                                              +
                                                                                                                              +// these two lines are equivalent:
                                                                                                                              +std::cout << toml::toml_formatter{ tbl } << "\n";
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              description = "This is some TOML, yo."
                                                                                                                              +fruit = ["apple", "orange", "pear"]
                                                                                                                              +numbers = [1, 2, 3, 4, 5]
                                                                                                                              +
                                                                                                                              +[table]
                                                                                                                              +foo = "bar"
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public static variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + static format_flags default_flags constexpr +
                                                                                                                              +
                                                                                                                              The default flags for a toml_formatter.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + toml_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a TOML formatter and binds it to a TOML object.
                                                                                                                              +
                                                                                                                              + toml_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a TOML formatter and binds it to a toml::parse_result.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + toml_formatter& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as formatted TOML.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + toml_formatter&& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as formatted TOML (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::toml_formatter::toml_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a TOML formatter and binds it to a TOML object.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              sourceThe source TOML object.
                                                                                                                              flagsFormat option flags.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::toml_formatter::toml_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a TOML formatter and binds it to a toml::parse_result.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              resultThe parse result.
                                                                                                                              flagsFormat option flags.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.2.0/classtoml_1_1value.html b/v3.2.0/classtoml_1_1value.html new file mode 100644 index 00000000..260d5c7c --- /dev/null +++ b/v3.2.0/classtoml_1_1value.html @@ -0,0 +1,1064 @@ + + + + toml::value class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              template <typename ValueType>
                                                                                                                              + toml::value class +

                                                                                                                              +

                                                                                                                              A TOML value.

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ValueType

                                                                                                                              The value's native TOML data type. Can be one of:

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Base classes

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + class node +
                                                                                                                              +
                                                                                                                              A TOML node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public types

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using value_arg = /* ... */ +
                                                                                                                              +
                                                                                                                              A type alias for 'value arguments'.
                                                                                                                              +
                                                                                                                              + using value_type = ValueType +
                                                                                                                              +
                                                                                                                              The value's underlying data type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename... Args>
                                                                                                                              + value(Args && ... args) explicit noexcept(…) +
                                                                                                                              +
                                                                                                                              Constructs a toml value.
                                                                                                                              +
                                                                                                                              + value(const value& other) noexcept +
                                                                                                                              +
                                                                                                                              Copy constructor.
                                                                                                                              +
                                                                                                                              + value(const value& other, + value_flags flags) noexcept +
                                                                                                                              +
                                                                                                                              Copy constructor with flags override.
                                                                                                                              +
                                                                                                                              + value(value&& other) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              + value(value&& other, + value_flags flags) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor with flags override.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator=(const value& rhs) -> value& noexcept +
                                                                                                                              +
                                                                                                                              Copy-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(value&& rhs) -> value& noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(value_arg rhs) -> value& noexcept +
                                                                                                                              +
                                                                                                                              Value-assignment operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality and Comparison

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator!=(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(const value& lhs, + value_arg rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<(value_arg lhs, + const value& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value less-than operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator<(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<=(const value& lhs, + value_arg rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator<=(value_arg lhs, + const value& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator<=(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const value& lhs, + value_arg rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value equality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(const value& lhs, + value_arg rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>(value_arg lhs, + const value& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value greater-than operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator>(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(const value& lhs, + value_arg rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(value_arg lhs, + const value& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator>=(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Metadata

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto flags() const -> value_flags noexcept +
                                                                                                                              +
                                                                                                                              Returns the metadata flags associated with this value.
                                                                                                                              +
                                                                                                                              + auto flags(value_flags new_flags) -> value& noexcept +
                                                                                                                              +
                                                                                                                              Sets the metadata flags associated with this value.
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the source region responsible for generating this node during parsing.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Node views

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const toml::path& path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const toml::path& path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) -> node_view<node> +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) const -> node_view<const node> +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + operator node_view<const node>() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node (const overload).
                                                                                                                              +
                                                                                                                              + operator node_view<node>() explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node.
                                                                                                                              +
                                                                                                                              + auto operator[](const toml::path& path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto operator[](const toml::path& path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type casts

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() -> impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() const -> const impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type (const overload).
                                                                                                                              +
                                                                                                                              + auto as_array() -> array* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_array() const -> const array* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_boolean() -> value<bool>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<bool>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_boolean() const -> const value<bool>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<bool>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date() -> value<date>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<date>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date() const -> const value<date>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<date>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date_time() -> value<date_time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<date_time>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date_time() const -> const value<date_time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<date_time>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() -> value<double>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<double>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() const -> const value<double>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<double>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_integer() -> value<int64_t>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<int64_t>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_integer() const -> const value<int64_t>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<int64_t>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_string() -> value<std::string>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<std::string>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_string() const -> const value<std::string>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<std::string>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_table() -> table* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_table() const -> const table* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_time() -> value<time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<time>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_time() const -> const value<time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<time>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type checks

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto is() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node is a specific type.
                                                                                                                              +
                                                                                                                              + auto is_array() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_array_of_tables() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_boolean() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is bool.
                                                                                                                              +
                                                                                                                              + auto is_date() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is toml::date.
                                                                                                                              +
                                                                                                                              + auto is_date_time() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is toml_date_time.
                                                                                                                              +
                                                                                                                              + auto is_floating_point() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is double.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype) const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + node*& first_nonmatch) -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + const node*& first_nonmatch) const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType = void>
                                                                                                                              + auto is_homogeneous() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_integer() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is int64_t.
                                                                                                                              +
                                                                                                                              + auto is_number() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is int64_t or double.
                                                                                                                              +
                                                                                                                              + auto is_string() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is std::string.
                                                                                                                              +
                                                                                                                              + auto is_table() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_time() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is toml::time.
                                                                                                                              +
                                                                                                                              + auto is_value() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true.
                                                                                                                              +
                                                                                                                              + auto type() const -> node_type final noexcept +
                                                                                                                              +
                                                                                                                              Returns the value's node type identifier.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Value retrieval

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto get() & -> value_type& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value.
                                                                                                                              +
                                                                                                                              + auto get() && -> value_type&& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto get() const & -> const value_type& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const overload).
                                                                                                                              +
                                                                                                                              + auto get() const && -> const value_type&& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const rvalue overload).
                                                                                                                              +
                                                                                                                              + operator const value_type&() const & explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const overload).
                                                                                                                              +
                                                                                                                              + operator const value_type&&() && explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const rvalue overload).
                                                                                                                              +
                                                                                                                              + operator value_type&() & explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value.
                                                                                                                              +
                                                                                                                              + operator value_type&&() && explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto operator*() & -> value_type& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value.
                                                                                                                              +
                                                                                                                              + auto operator*() && -> value_type&& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto operator*() const & -> const value_type& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const overload).
                                                                                                                              +
                                                                                                                              + auto operator*() const && -> const value_type&& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const rvalue overload).
                                                                                                                              +
                                                                                                                              + auto operator->() -> value_type* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the underlying value.
                                                                                                                              +
                                                                                                                              + auto operator->() const -> const value_type* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the underlying value (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_exact() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_or(T&& default_value) const -> auto noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the raw value contained by this node, or a default.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Visitation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const value& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the value out to a stream as formatted TOML.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Typedef documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + using toml::value::value_arg = /* ... */ +

                                                                                                                              +

                                                                                                                              A type alias for 'value arguments'.

                                                                                                                              +

                                                                                                                              This differs according to the value's type argument:

                                                                                                                              • ints, floats, booleans: value_type
                                                                                                                              • strings: string_view
                                                                                                                              • everything else: const value_type&
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename... Args> +
                                                                                                                              + toml::value::value(Args && ... args) explicit noexcept(…) +

                                                                                                                              +

                                                                                                                              Constructs a toml value.

                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ArgsConstructor argument types.
                                                                                                                              Parameters
                                                                                                                              argsArguments to forward to the internal value's constructor.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator!=(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Inequality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS value.
                                                                                                                              rhsThe RHS value.
                                                                                                                              ReturnsTrue if the values were not of the same type, or did not contain the same value.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator<(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Less-than operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS toml::value.
                                                                                                                              rhsThe RHS toml::value.
                                                                                                                              ReturnsSame value types: + lhs.get() < rhs.get()Different value types: + lhs.type() < rhs.type()
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator<=(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Less-than-or-equal-to operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS toml::value.
                                                                                                                              rhsThe RHS toml::value.
                                                                                                                              ReturnsSame value types: + lhs.get() <= rhs.get()Different value types: + lhs.type() <= rhs.type()
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator==(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Equality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS value.
                                                                                                                              rhsThe RHS value.
                                                                                                                              ReturnsTrue if the values were of the same type and contained the same value.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator>(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Greater-than operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS toml::value.
                                                                                                                              rhsThe RHS toml::value.
                                                                                                                              ReturnsSame value types: + lhs.get() > rhs.get()Different value types: + lhs.type() > rhs.type()
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator>=(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Greater-than-or-equal-to operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS toml::value.
                                                                                                                              rhsThe RHS toml::value.
                                                                                                                              ReturnsSame value types: + lhs.get() >= rhs.get()Different value types: + lhs.type() >= rhs.type()
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + value& toml::value::flags(value_flags new_flags) noexcept +

                                                                                                                              +

                                                                                                                              Sets the metadata flags associated with this value.

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsA reference to the value object.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + bool toml::value::is_homogeneous(node_type ntype) const final noexcept +

                                                                                                                              +

                                                                                                                              Checks if the node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << "homogenous: "sv << arr.is_homogeneous(toml::node_type::none) << "\n";
                                                                                                                              +std::cout << "all floats: "sv << arr.is_homogeneous(toml::node_type::floating_point) << "\n";
                                                                                                                              +std::cout << "all arrays: "sv << arr.is_homogeneous(toml::node_type::array) << "\n";
                                                                                                                              +std::cout << "all ints:   "sv << arr.is_homogeneous(toml::node_type::integer) << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + bool toml::value::is_homogeneous(node_type ntype, + node*& first_nonmatch) final noexcept +

                                                                                                                              +

                                                                                                                              Checks if a node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              first_nonmatchReference to a pointer in which the address of the first non-matching element will be stored if the return value is false.
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]");
                                                                                                                              +toml::array& arr = *cfg["arr"].as_array();
                                                                                                                              +
                                                                                                                              +toml::node* nonmatch{};
                                                                                                                              +if (arr.is_homogeneous(toml::node_type::integer, nonmatch))
                                                                                                                              +    std::cout << "array was homogeneous"sv << "\n";
                                                                                                                              +else
                                                                                                                              +    std::cout << "array was not homogeneous!\n"
                                                                                                                              +    << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
                                                                                                                              array was not homogeneous!
                                                                                                                              +first non-match was a floating-point at line 1, column 18
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + node_type toml::value::type() const final noexcept +

                                                                                                                              +

                                                                                                                              Returns the value's node type identifier.

                                                                                                                              + + + + + + + +
                                                                                                                              Returns

                                                                                                                              One of:

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + value_type* toml::value::operator->() noexcept +

                                                                                                                              +

                                                                                                                              Returns a pointer to the underlying value.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + const value_type* toml::value::operator->() const noexcept +

                                                                                                                              +

                                                                                                                              Returns a pointer to the underlying value (const overload).

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const value& rhs) +

                                                                                                                              +

                                                                                                                              Prints the value out to a stream as formatted TOML.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.2.0/classtoml_1_1yaml__formatter.html b/v3.2.0/classtoml_1_1yaml__formatter.html new file mode 100644 index 00000000..35b745a9 --- /dev/null +++ b/v3.2.0/classtoml_1_1yaml__formatter.html @@ -0,0 +1,244 @@ + + + + toml::yaml_formatter class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::yaml_formatter class +

                                                                                                                              +

                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted YAML.

                                                                                                                              + +
                                                                                                                              auto some_toml = toml::parse(R"(
                                                                                                                              +    [fruit]
                                                                                                                              +    apple.color = "red"
                                                                                                                              +    apple.taste.sweet = true
                                                                                                                              +
                                                                                                                              +    [fruit.apple.texture]
                                                                                                                              +    smooth = true
                                                                                                                              +)"sv);
                                                                                                                              +std::cout << toml::yaml_formatter{ some_toml } << "\n";
                                                                                                                              fruit:
                                                                                                                              +  apple:
                                                                                                                              +    color: red
                                                                                                                              +    taste:
                                                                                                                              +      sweet: true
                                                                                                                              +    texture:
                                                                                                                              +      smooth: true
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public static variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + static format_flags default_flags constexpr +
                                                                                                                              +
                                                                                                                              The default flags for a yaml_formatter.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + yaml_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a YAML formatter and binds it to a TOML object.
                                                                                                                              +
                                                                                                                              + yaml_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a YAML formatter and binds it to a toml::parse_result.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + yaml_formatter& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as YAML.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + yaml_formatter&& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as YAML (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::yaml_formatter::yaml_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a YAML formatter and binds it to a TOML object.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              sourceThe source TOML object.
                                                                                                                              flagsFormat option flags.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::yaml_formatter::yaml_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a YAML formatter and binds it to a toml::parse_result.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              resultThe parse result.
                                                                                                                              flagsFormat option flags.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.2.0/concepts.html b/v3.2.0/concepts.html new file mode 100644 index 00000000..7de47ad8 --- /dev/null +++ b/v3.2.0/concepts.html @@ -0,0 +1,138 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Concepts

                                                                                                                              +
                                                                                                                                +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.2.0/favicon.ico b/v3.2.0/favicon.ico new file mode 100644 index 00000000..518213d1 Binary files /dev/null and b/v3.2.0/favicon.ico differ diff --git a/v3.2.0/files.html b/v3.2.0/files.html new file mode 100644 index 00000000..8846acd0 --- /dev/null +++ b/v3.2.0/files.html @@ -0,0 +1,138 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Files

                                                                                                                              +
                                                                                                                                +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.2.0/group__configuration.html b/v3.2.0/group__configuration.html new file mode 100644 index 00000000..f4571f42 --- /dev/null +++ b/v3.2.0/group__configuration.html @@ -0,0 +1,335 @@ + + + + Library Configuration module | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + Library Configuration module

                                                                                                                              +

                                                                                                                              Preprocessor macros for configuring library functionality.

                                                                                                                              + +

                                                                                                                              Define these before including toml++ to alter the way it functions.

                                                                                                                              +
                                                                                                                              +

                                                                                                                              Defines

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + #define TOML_ASSERT(expr) +
                                                                                                                              +
                                                                                                                              Sets the assert function used by the library.
                                                                                                                              +
                                                                                                                              + #define TOML_CALLCONV +
                                                                                                                              +
                                                                                                                              Calling convention to apply to exported free/static functions.
                                                                                                                              +
                                                                                                                              + #define TOML_CONFIG_HEADER +
                                                                                                                              +
                                                                                                                              An additional header to include before any other toml++ header files.
                                                                                                                              +
                                                                                                                              + #define TOML_ENABLE_FORMATTERS +
                                                                                                                              +
                                                                                                                              Sets whether the various formatter classes are enabled.
                                                                                                                              +
                                                                                                                              + #define TOML_ENABLE_PARSER +
                                                                                                                              +
                                                                                                                              Sets whether the parser-related parts of the library are included.
                                                                                                                              +
                                                                                                                              + #define TOML_ENABLE_UNRELEASED_FEATURES +
                                                                                                                              +
                                                                                                                              Enables support for unreleased TOML language features not yet part of a numbered version.
                                                                                                                              +
                                                                                                                              + #define TOML_ENABLE_WINDOWS_COMPAT +
                                                                                                                              +
                                                                                                                              Enables the use of wide strings (wchar_t, std::wstring) in various places throughout the library when building for Windows.
                                                                                                                              +
                                                                                                                              + #define TOML_EXCEPTIONS +
                                                                                                                              +
                                                                                                                              Sets whether the library uses exceptions to report parsing failures.
                                                                                                                              +
                                                                                                                              + #define TOML_EXPORTED_CLASS +
                                                                                                                              +
                                                                                                                              An 'export' annotation to add to classes.
                                                                                                                              +
                                                                                                                              + #define TOML_EXPORTED_FREE_FUNCTION +
                                                                                                                              +
                                                                                                                              An 'export' annotation to add to free functions.
                                                                                                                              +
                                                                                                                              + #define TOML_EXPORTED_MEMBER_FUNCTION +
                                                                                                                              +
                                                                                                                              An 'export' annotation to add to non-static class member functions.
                                                                                                                              +
                                                                                                                              + #define TOML_EXPORTED_STATIC_FUNCTION +
                                                                                                                              +
                                                                                                                              An 'export' annotation to add to static class member functions.
                                                                                                                              +
                                                                                                                              + #define TOML_HEADER_ONLY +
                                                                                                                              +
                                                                                                                              Sets whether the library is entirely inline.
                                                                                                                              +
                                                                                                                              + #define TOML_IMPLEMENTATION +
                                                                                                                              +
                                                                                                                              Enables the library's implementation when TOML_HEADER_ONLY is disabled.
                                                                                                                              +
                                                                                                                              + #define TOML_OPTIONAL_TYPE +
                                                                                                                              +
                                                                                                                              Overrides the optional<T> type used by the library.
                                                                                                                              +
                                                                                                                              + #define TOML_SMALL_FLOAT_TYPE +
                                                                                                                              +
                                                                                                                              If your codebase has an additional 'small' float type (e.g. half-precision), this tells toml++ about it.
                                                                                                                              +
                                                                                                                              + #define TOML_SMALL_INT_TYPE +
                                                                                                                              +
                                                                                                                              If your codebase has an additional 'small' integer type (e.g. 24-bits), this tells toml++ about it.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Define documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_ASSERT(expr) +

                                                                                                                              +

                                                                                                                              Sets the assert function used by the library.

                                                                                                                              +

                                                                                                                              Defaults to the standard C assert().

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_CALLCONV +

                                                                                                                              +

                                                                                                                              Calling convention to apply to exported free/static functions.

                                                                                                                              +

                                                                                                                              Not defined by default (let the compiler decide).

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_CONFIG_HEADER +

                                                                                                                              +

                                                                                                                              An additional header to include before any other toml++ header files.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_ENABLE_FORMATTERS +

                                                                                                                              +

                                                                                                                              Sets whether the various formatter classes are enabled.

                                                                                                                              +

                                                                                                                              Defaults to 1.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_ENABLE_PARSER +

                                                                                                                              +

                                                                                                                              Sets whether the parser-related parts of the library are included.

                                                                                                                              +

                                                                                                                              Defaults to 1.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_ENABLE_UNRELEASED_FEATURES +

                                                                                                                              +

                                                                                                                              Enables support for unreleased TOML language features not yet part of a numbered version.

                                                                                                                              +

                                                                                                                              Defaults to 0.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_ENABLE_WINDOWS_COMPAT +

                                                                                                                              +

                                                                                                                              Enables the use of wide strings (wchar_t, std::wstring) in various places throughout the library when building for Windows.

                                                                                                                              +

                                                                                                                              Defaults to 1 when building for Windows, 0 otherwise. Has no effect when building for anything other than Windows.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_EXCEPTIONS +

                                                                                                                              +

                                                                                                                              Sets whether the library uses exceptions to report parsing failures.

                                                                                                                              +

                                                                                                                              Defaults to 1 or 0 according to your compiler's exception mode.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_EXPORTED_CLASS +

                                                                                                                              +

                                                                                                                              An 'export' annotation to add to classes.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_EXPORTED_FREE_FUNCTION +

                                                                                                                              +

                                                                                                                              An 'export' annotation to add to free functions.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_EXPORTED_MEMBER_FUNCTION +

                                                                                                                              +

                                                                                                                              An 'export' annotation to add to non-static class member functions.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_EXPORTED_STATIC_FUNCTION +

                                                                                                                              +

                                                                                                                              An 'export' annotation to add to static class member functions.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_HEADER_ONLY +

                                                                                                                              +

                                                                                                                              Sets whether the library is entirely inline.

                                                                                                                              +

                                                                                                                              Defaults to 1.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_IMPLEMENTATION +

                                                                                                                              +

                                                                                                                              Enables the library's implementation when TOML_HEADER_ONLY is disabled.

                                                                                                                              +

                                                                                                                              Not defined by default. Meaningless when TOML_HEADER_ONLY is enabled.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_OPTIONAL_TYPE +

                                                                                                                              +

                                                                                                                              Overrides the optional<T> type used by the library.

                                                                                                                              +

                                                                                                                              Not defined by default (use std::optional).

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_SMALL_FLOAT_TYPE +

                                                                                                                              +

                                                                                                                              If your codebase has an additional 'small' float type (e.g. half-precision), this tells toml++ about it.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_SMALL_INT_TYPE +

                                                                                                                              +

                                                                                                                              If your codebase has an additional 'small' integer type (e.g. 24-bits), this tells toml++ about it.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.2.0/index.html b/v3.2.0/index.html new file mode 100644 index 00000000..39b7c57d --- /dev/null +++ b/v3.2.0/index.html @@ -0,0 +1,428 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + Image + +

                                                                                                                              Features

                                                                                                                              • Header-only (optional!)
                                                                                                                              • Supports the latest TOML release (v1.0.0), plus optional support for some unreleased TOML features
                                                                                                                              • Passes all tests in the toml-test suite
                                                                                                                              • Supports serializing to JSON and YAML
                                                                                                                              • Proper UTF-8 handling (incl. BOM)
                                                                                                                              • C++17 (plus some C++20 features where available, e.g. experimental support for char8_t strings)
                                                                                                                              • Doesn't require RTTI
                                                                                                                              • Works with or without exceptions
                                                                                                                              • Tested on Clang (6+), GCC (7+) and MSVC (VS2019)
                                                                                                                              • Tested on x64, x86 and ARM

                                                                                                                              API documentation

                                                                                                                              You're looking at it! Browse the docs using the links at the top of the page. You can search from anywhere by pressing the TAB key.

                                                                                                                              Basic examples

                                                                                                                              Parsing files

                                                                                                                              Call toml::parse_file() and work with the toml::table you get back, or handle any toml::parse_error that gets thrown:

                                                                                                                              #include <iostream>
                                                                                                                              +#include <toml++/toml.h>
                                                                                                                              +
                                                                                                                              +int main(int argc, char** argv)
                                                                                                                              +{
                                                                                                                              +    toml::table tbl;
                                                                                                                              +    try
                                                                                                                              +    {
                                                                                                                              +        tbl = toml::parse_file(argv[1]);
                                                                                                                              +            std::cout << tbl << "\n";
                                                                                                                              +    }
                                                                                                                              +    catch (const toml::parse_error& err)
                                                                                                                              +    {
                                                                                                                              +        std::cerr << "Parsing failed:\n" << err << "\n";
                                                                                                                              +        return 1;
                                                                                                                              +    }
                                                                                                                              +
                                                                                                                              +    return 0;
                                                                                                                              +}

                                                                                                                              Parsing strings and iostreams

                                                                                                                              Call toml::parse() and work with the toml::table you get back, or handle any toml::parse_error that gets thrown:

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              #include <iostream> +#include <sstream> +#include <toml++/toml.h> +using namespace std::string_view_literals; + +int main() +{ + static constexpr std::string_view some_toml = R"( + [library] + name = "toml++" + authors = ["Mark Gillard <mark.gillard@outlook.com.au>"] + cpp = 17 + )"sv; + + try + { + // parse directly from a string view: + { + toml::table tbl = toml::parse(some_toml); + std::cout << tbl << "\n"; + } + + // parse from a string stream: + { + std::stringstream ss{ std::string{ some_toml } }; + toml::table tbl = toml::parse(ss); + std::cout << tbl << "\n"; + } + } + catch (const toml::parse_error& err) + { + std::cerr << "Parsing failed:\n" << err << "\n"; + return 1; + } + + return 0; +}
                                                                                                                              [library]
                                                                                                                              +authors = [ 'Mark Gillard <mark.gillard@outlook.com.au>' ]
                                                                                                                              +cpp = 17
                                                                                                                              +name = 'toml++'
                                                                                                                              +
                                                                                                                              +[library]
                                                                                                                              +authors = [ 'Mark Gillard <mark.gillard@outlook.com.au>' ]
                                                                                                                              +cpp = 17
                                                                                                                              +name = 'toml++'

                                                                                                                              Handling errors without exceptions

                                                                                                                              Can't (or won't) use exceptions? That's fine too. You can disable exceptions in your compiler flags and/or explicitly disable the library's use of them by setting the option TOML_EXCEPTIONS to 0. In either case, the parsing functions return a toml::parse_result instead of a toml::table:

                                                                                                                              #include <iostream>
                                                                                                                              +
                                                                                                                              +#define TOML_EXCEPTIONS 0 // only necessary if you've left them enabled in your compiler
                                                                                                                              +#include <toml++/toml.h>
                                                                                                                              +
                                                                                                                              +int main()
                                                                                                                              +{
                                                                                                                              +    toml::parse_result result = toml::parse_file("configuration.toml");
                                                                                                                              +    if (!result)
                                                                                                                              +    {
                                                                                                                              +        std::cerr << "Parsing failed:\n" << result.error() << "\n";
                                                                                                                              +        return 1;
                                                                                                                              +    }
                                                                                                                              +
                                                                                                                              +    do_stuff_with_your_config(std::move(result).table()); // 'steal' the table from the result
                                                                                                                              +    return 0;
                                                                                                                              +}

                                                                                                                              Custom error formatting

                                                                                                                              The examples above use an overloaded operator<< with ostreams to print basic error messages, and look like this:

                                                                                                                              Error while parsing key: expected bare key starting character or string delimiter, saw '?'
                                                                                                                              +    (error occurred at line 2, column 5)

                                                                                                                              The library doesn't natively support error colouring in TTY environments, but instead provides the requisite information for you to build that and any other custom error handling yourself if necessary via toml::parse_error's source() and description() members:

                                                                                                                              toml::table tbl;
                                                                                                                              +try
                                                                                                                              +{
                                                                                                                              +    tbl = toml::parse_file("configuration.toml");
                                                                                                                              +}
                                                                                                                              +catch (const toml::parse_error& err)
                                                                                                                              +{
                                                                                                                              +    std::cerr
                                                                                                                              +        << "Error parsing file '" << *err.source().path
                                                                                                                              +        << "':\n" << err.description()
                                                                                                                              +        << "\n  (" << err.source().begin << ")\n";
                                                                                                                              +    return 1;
                                                                                                                              +}

                                                                                                                              Working with TOML data

                                                                                                                              A TOML document is a tree of values, arrays and tables, represented as the toml::value, toml::array and toml::table, respectively. All three inherit from toml::node, and can be easily accessed via the toml::node_view:

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              #include <iostream> +#include <toml++/toml.h> +using namespace std::string_view_literals; + +int main() +{ + static constexpr auto source = R"( + str = "hello world" + + numbers = [ 1, 2, 3, "four", 5.0 ] + vegetables = [ "tomato", "onion", "mushroom", "lettuce" ] + minerals = [ "quartz", "iron", "copper", "diamond" ] + + [animals] + cats = [ "tiger", "lion", "puma" ] + birds = [ "macaw", "pigeon", "canary" ] + fish = [ "salmon", "trout", "carp" ] + + )"sv; + toml::table tbl = toml::parse(source); + + // different ways of directly querying data + std::optional<std::string_view> str1 = tbl["str"].value<std::string_view>(); + std::optional<std::string> str2 = tbl["str"].value<std::string>(); + std::string_view str3 = tbl["str"].value_or(""sv); + std::string& str4 = tbl["str"].ref<std::string>(); // ~~dangerous~~ + + std::cout << *str1 << "\n"; + std::cout << *str2 << "\n"; + std::cout << str3 << "\n"; + std::cout << str4 << "\n"; + + // get a toml::node_view of the element 'numbers' using operator[] + auto numbers = tbl["numbers"]; + std::cout << "table has 'numbers': " << !!numbers << "\n"; + std::cout << "numbers is an: " << numbers.type() << "\n"; + std::cout << "numbers: " << numbers << "\n"; + + // get the underlying array object to do some more advanced stuff + if (toml::array* arr = numbers.as_array()) + { + // visitation with for_each() helps deal with heterogeneous data + arr->for_each([](auto&& el) + { + if constexpr (toml::is_number<decltype(el)>) + (*el)++; + else if constexpr (toml::is_string<decltype(el)>) + el = "five"sv; + }); + + // arrays are very similar to std::vector + arr->push_back(7); + arr->emplace_back<toml::array>(8, 9); + std::cout << "numbers: " << numbers << "\n"; + } + + // node-views can be chained to quickly query deeper + std::cout << "cats: " << tbl["animals"]["cats"] << "\n"; + std::cout << "fish[1]: " << tbl["animals"]["fish"][1] << "\n"; + + // can also be retrieved via absolute path + std::cout << "cats: " << tbl.at_path("animals.cats") << "\n"; + std::cout << "fish[1]: " << tbl.at_path("animals.fish[1]") << "\n"; + + // ...even if the element doesn't exist + std::cout << "dinosaurs: " << tbl["animals"]["dinosaurs"] << "\n"; //no dinosaurs :( + + return 0; +}
                                                                                                                              hello world
                                                                                                                              +hello world
                                                                                                                              +hello world
                                                                                                                              +hello world
                                                                                                                              +table has 'numbers': 1
                                                                                                                              +numbers is an: array
                                                                                                                              +numbers: [ 1, 2, 3, 'four', 5.0 ]
                                                                                                                              +numbers: [ 2, 3, 4, 'five', 6.0, 7, [ 8, 9 ] ]
                                                                                                                              +cats: [ 'tiger', 'lion', 'puma' ]
                                                                                                                              +fish[1]: 'trout'
                                                                                                                              +dinosaurs:

                                                                                                                              Serializing as TOML, JSON and YAML

                                                                                                                              All toml++ data types have overloaded operator<< for ostreams, so 'serializing' a set of TOML data to actual TOML is done just by printing it to an ostream. Converting it to JSON and YAML is done in much the same way, but via a toml::json_formatter and toml::yaml_formatter.

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              #include <iostream> +#include <toml++/toml.h> + +int main() +{ + auto tbl = toml::table{ + { "lib", "toml++" }, + { "cpp", toml::array{ 17, 20, "and beyond" } }, + { "toml", toml::array{ "1.0.0", "and beyond" } }, + { "repo", "https://github.com/marzer/tomlplusplus/" }, + { "author", toml::table{ + { "name", "Mark Gillard" }, + { "github", "https://github.com/marzer" }, + { "twitter", "https://twitter.com/marzer8789" } + } + }, + }; + + // serializing as TOML + std::cout << "###### TOML ######" << "\n\n"; + std::cout << tbl << "\n\n"; + + // serializing as JSON using toml::json_formatter: + std::cout << "###### JSON ######" << "\n\n"; + std::cout << toml::json_formatter{ tbl } << "\n\n"; + + // serializing as YAML using toml::yaml_formatter: + std::cout << "###### YAML ######" << "\n\n"; + std::cout << toml::yaml_formatter{ tbl } << "\n\n"; + + return 0; +}
                                                                                                                              ###### TOML ######
                                                                                                                              +
                                                                                                                              +cpp = [ 17, 20, 'and beyond' ]
                                                                                                                              +lib = 'toml++'
                                                                                                                              +repo = 'https://github.com/marzer/tomlplusplus/'
                                                                                                                              +toml = [ '1.0.0', 'and beyond' ]
                                                                                                                              +
                                                                                                                              +[author]
                                                                                                                              +github = 'https://github.com/marzer'
                                                                                                                              +name = 'Mark Gillard'
                                                                                                                              +twitter = 'https://twitter.com/marzer8789'
                                                                                                                              +
                                                                                                                              +###### JSON ######
                                                                                                                              +
                                                                                                                              +{
                                                                                                                              +    "author" : {
                                                                                                                              +        "github" : "https://github.com/marzer",
                                                                                                                              +        "name" : "Mark Gillard",
                                                                                                                              +        "twitter" : "https://twitter.com/marzer8789"
                                                                                                                              +    },
                                                                                                                              +    "cpp" : [
                                                                                                                              +        17,
                                                                                                                              +        20,
                                                                                                                              +        "and beyond"
                                                                                                                              +    ],
                                                                                                                              +    "lib" : "toml++",
                                                                                                                              +    "repo" : "https://github.com/marzer/tomlplusplus/",
                                                                                                                              +    "toml" : [
                                                                                                                              +        "1.0.0",
                                                                                                                              +        "and beyond"
                                                                                                                              +    ]
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +###### YAML ######
                                                                                                                              +
                                                                                                                              +author:
                                                                                                                              +  github: 'https://github.com/marzer'
                                                                                                                              +  name: 'Mark Gillard'
                                                                                                                              +  twitter: 'https://twitter.com/marzer8789'
                                                                                                                              +cpp:
                                                                                                                              +  - 17
                                                                                                                              +  - 20
                                                                                                                              +  - 'and beyond'
                                                                                                                              +lib: 'toml++'
                                                                                                                              +repo: 'https://github.com/marzer/tomlplusplus/'
                                                                                                                              +toml:
                                                                                                                              +  - '1.0.0'
                                                                                                                              +  - 'and beyond'

                                                                                                                              Speeding up compilation

                                                                                                                              Because toml++ is a header-only library of nontrivial size you might find that compilation times noticeably increase after you add it to your project, especially if you add the library's header somewhere that's visible from a large number of translation units. You can counter this by disabling header-only mode and explicitly controlling where the library's implementation is compiled.

                                                                                                                              Step 1: Set TOML_HEADER_ONLY to 0 before including toml++

                                                                                                                              This must be the same everywhere, so either set it as a global #define in your build system, or do it manually before including toml++ in some global header that's used everywhere in your project:

                                                                                                                              // global_header_that_includes_toml++.h
                                                                                                                              +
                                                                                                                              +#define TOML_HEADER_ONLY 0
                                                                                                                              +#include <toml.hpp>

                                                                                                                              Step 2: Define TOML_IMPLEMENTATION before including toml++ in one specific translation unit

                                                                                                                              // some_code_file.cpp
                                                                                                                              +
                                                                                                                              +#define TOML_IMPLEMENTATION
                                                                                                                              +#include "global_header_that_includes_toml++.h"

                                                                                                                              Bonus Step: Disable any library features you don't need

                                                                                                                              Some library features can be disabled wholesale so you can avoid paying their the compilation cost if you don't need them. For example, if all you need to do is serialize some code-generated TOML and don't actually need the parser at all you, can set TOML_ENABLE_PARSER to 0 to disable the parser altogether. This can yield fairly significant compilation speedups since the parser accounts for a good chunk of the library's code.

                                                                                                                              Adding toml++ to your project

                                                                                                                              The library comes in two flavours, 🍦️ Single-header and 🍨️ Regular. The API is the same for both.

                                                                                                                              "The old fashioned way"

                                                                                                                              🍦️ Single-header flavour

                                                                                                                              1. Drop toml.hpp wherever you like in your source tree
                                                                                                                              2. There is no step two

                                                                                                                              🍨️ Regular flavour

                                                                                                                              1. Clone the repository from GitHub
                                                                                                                              2. Add tomlplusplus/include to your include paths
                                                                                                                              3. #include <toml++/toml.h>

                                                                                                                              Conan

                                                                                                                              Add tomlplusplus/3.2.0 to your conanfile.

                                                                                                                              DDS

                                                                                                                              Add tomlpp to your package.json5, e.g.:

                                                                                                                              depends: [
                                                                                                                              +    'tomlpp^3.2.0',
                                                                                                                              +]

                                                                                                                              Meson

                                                                                                                              You can install the wrap with:

                                                                                                                              meson wrap install tomlplusplus

                                                                                                                              After that, you can use it like a regular dependency:

                                                                                                                              tomlplusplus_dep = dependency('tomlplusplus')

                                                                                                                              You can also add it as a subproject directly.

                                                                                                                              Tipi.build

                                                                                                                              tomlplusplus can be easily used in tipi.build projects by adding the following entry to your .tipi/deps:

                                                                                                                              {
                                                                                                                              +    "marzer/tomlplusplus": { }
                                                                                                                              +}

                                                                                                                              Vcpkg

                                                                                                                              vcpkg install tomlplusplus

                                                                                                                              CMake FetchContent

                                                                                                                              include(FetchContent)
                                                                                                                              +FetchContent_Declare(
                                                                                                                              +    tomlplusplus
                                                                                                                              +    GIT_REPOSITORY https://github.com/marzer/tomlplusplus.git
                                                                                                                              +    GIT_TAG        v3.2.0
                                                                                                                              +)
                                                                                                                              +FetchContent_MakeAvailable(tomlplusplus)

                                                                                                                              Git submodules

                                                                                                                              git submodule add --depth 1 https://github.com/marzer/tomlplusplus.git tomlplusplus

                                                                                                                              Other environments and package managers

                                                                                                                              The C++ tooling ecosystem is a fractal nightmare of unbridled chaos so naturally I'm not up-to-speed with all of the available packaging and integration options. I'm always happy to see new ones supported, though! If there's some integration you'd like to see and have the technical know-how to make it happen, feel free to make a pull request.

                                                                                                                              Special mention: Python

                                                                                                                              There exists a python wrapper library built around toml++ called pytomlpp which is, at the time of writing, one of only two natively-compiled TOML libraries available for python, and thus one of the fastest options available:

                                                                                                                              Parsing data.toml 5000 times:
                                                                                                                              +    pytomlpp:  0.694 s
                                                                                                                              +    rtoml:     0.871 s ( 1.25x)
                                                                                                                              +    tomli:     2.625 s ( 3.78x)
                                                                                                                              +    toml:      5.642 s ( 8.12x)
                                                                                                                              +    qtoml:     7.760 s (11.17x)
                                                                                                                              +    tomlkit:  32.708 s (47.09x)

                                                                                                                              Install it using pip:

                                                                                                                              pip install pytomlpp

                                                                                                                              Note that I'm not the owner of that project, so if you wish to report a bug relating to the python implementation please do so at their repository, not on the main toml++ one.

                                                                                                                              Library configuration options

                                                                                                                              The library exposes a number of configuration options in the form of compiler #defines. Things like changing the optional<T> type, disabling header-only mode, et cetera. The full list of configurables can be found on the Library Configuration page.

                                                                                                                              Contributing

                                                                                                                              Contributions are very welcome! Either by reporting issues or submitting pull requests. If you wish to submit a pull request, please see CONTRIBUTING for all the details you need to get going.

                                                                                                                              License

                                                                                                                              toml++ is licensed under the terms of the MIT license - see LICENSE.

                                                                                                                              If you're using the single-header version of the library you don't need to explicitly distribute the license file; it is embedded in the preamble at the top of the header.

                                                                                                                              Contacting the author

                                                                                                                              For bug reports and feature requests please use the Github Issues system. For anything else you're welcome to reach out via other means. In order of likely response speed:

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.2.0/logo.png b/v3.2.0/logo.png new file mode 100644 index 00000000..00491256 Binary files /dev/null and b/v3.2.0/logo.png differ diff --git a/v3.2.0/modules.html b/v3.2.0/modules.html new file mode 100644 index 00000000..05b5c581 --- /dev/null +++ b/v3.2.0/modules.html @@ -0,0 +1,139 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Modules

                                                                                                                              + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.2.0/namespaces.html b/v3.2.0/namespaces.html new file mode 100644 index 00000000..40589118 --- /dev/null +++ b/v3.2.0/namespaces.html @@ -0,0 +1,144 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Namespaces

                                                                                                                              +
                                                                                                                                +
                                                                                                                              • + namespace toml The root namespace for all toml++ functions and types. +
                                                                                                                                  +
                                                                                                                                • namespace literals inline Convenience literal operators for working with toml++.
                                                                                                                                • +
                                                                                                                                +
                                                                                                                              • +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.2.0/namespacetoml.html b/v3.2.0/namespacetoml.html new file mode 100644 index 00000000..dc35ff05 --- /dev/null +++ b/v3.2.0/namespacetoml.html @@ -0,0 +1,1259 @@ + + + + toml namespace | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml namespace +

                                                                                                                              +

                                                                                                                              The root namespace for all toml++ functions and types.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Namespaces

                                                                                                                              +
                                                                                                                              +
                                                                                                                              namespace literals inline
                                                                                                                              +
                                                                                                                              Convenience literal operators for working with toml++.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Classes

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + class array +
                                                                                                                              +
                                                                                                                              A TOML array.
                                                                                                                              +
                                                                                                                              + struct date +
                                                                                                                              +
                                                                                                                              A local date.
                                                                                                                              +
                                                                                                                              + struct date_time +
                                                                                                                              +
                                                                                                                              A date-time.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + struct inserter +
                                                                                                                              +
                                                                                                                              Helper class for suppressing move-construction in single-argument array constructors.
                                                                                                                              +
                                                                                                                              + class json_formatter +
                                                                                                                              +
                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted JSON.
                                                                                                                              +
                                                                                                                              + class key +
                                                                                                                              +
                                                                                                                              A key parsed from a TOML document.
                                                                                                                              +
                                                                                                                              + class node +
                                                                                                                              +
                                                                                                                              A TOML node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ViewedType>
                                                                                                                              + class node_view +
                                                                                                                              +
                                                                                                                              A view of a node.
                                                                                                                              +
                                                                                                                              + class parse_error +
                                                                                                                              +
                                                                                                                              An error generated when parsing fails.
                                                                                                                              +
                                                                                                                              + class parse_result +
                                                                                                                              +
                                                                                                                              The result of a parsing operation.
                                                                                                                              +
                                                                                                                              + class path +
                                                                                                                              +
                                                                                                                              A TOML path.
                                                                                                                              +
                                                                                                                              + class path_component +
                                                                                                                              +
                                                                                                                              Represents a single component of a complete 'TOML-path': either a key or an array index.
                                                                                                                              +
                                                                                                                              + struct source_position +
                                                                                                                              +
                                                                                                                              A source document line-and-column pair.
                                                                                                                              +
                                                                                                                              + struct source_region +
                                                                                                                              +
                                                                                                                              A source document region.
                                                                                                                              +
                                                                                                                              + class table +
                                                                                                                              +
                                                                                                                              A TOML table.
                                                                                                                              +
                                                                                                                              + struct time +
                                                                                                                              +
                                                                                                                              A local time-of-day.
                                                                                                                              +
                                                                                                                              + struct time_offset +
                                                                                                                              +
                                                                                                                              A timezone offset.
                                                                                                                              +
                                                                                                                              + class toml_formatter +
                                                                                                                              +
                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted TOML.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ValueType>
                                                                                                                              + class value +
                                                                                                                              +
                                                                                                                              A TOML value.
                                                                                                                              +
                                                                                                                              + class yaml_formatter +
                                                                                                                              +
                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted YAML.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Enums

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + enum class format_flags: uint64_t { none, + quote_dates_and_times = (1ull << 0), + quote_infinities_and_nans = (1ull << 1), + allow_literal_strings = (1ull << 2), + allow_multi_line_strings = (1ull << 3), + allow_real_tabs_in_strings = (1ull << 4), + allow_unicode_strings = (1ull << 5), + allow_binary_integers = (1ull << 6), + allow_octal_integers = (1ull << 7), + allow_hexadecimal_integers = (1ull << 8), + indent_sub_tables = (1ull << 9), + indent_array_elements = (1ull << 10), + indentation = indent_sub_tables | indent_array_elements, + relaxed_float_precision = (1ull << 11) } +
                                                                                                                              +
                                                                                                                              Format flags for modifying how TOML data is printed to streams.
                                                                                                                              +
                                                                                                                              + enum class node_type: uint8_t { none, + table, + array, + string, + integer, + floating_point, + boolean, + date, + time, + date_time } +
                                                                                                                              +
                                                                                                                              TOML node type identifiers.
                                                                                                                              +
                                                                                                                              + enum class path_component_type: uint8_t { key = 0x1, + array_index = 0x2 } +
                                                                                                                              +
                                                                                                                              Indicates type of path component, either a key, an index in an array, or invalid.
                                                                                                                              +
                                                                                                                              + enum class value_flags: uint16_t { none, + format_as_binary = 1, + format_as_octal = 2, + format_as_hexadecimal = 3 } +
                                                                                                                              +
                                                                                                                              Metadata associated with TOML values.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Typedefs

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using array_iterator = /* ... */ +
                                                                                                                              +
                                                                                                                              A RandomAccessIterator for iterating over elements in a toml::array.
                                                                                                                              +
                                                                                                                              + using const_array_iterator = /* ... */ +
                                                                                                                              +
                                                                                                                              A RandomAccessIterator for iterating over const elements in a toml::array.
                                                                                                                              +
                                                                                                                              + using const_table_iterator = /* ... */ +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over const key-value pairs in a toml::table.
                                                                                                                              +
                                                                                                                              + using default_formatter = toml_formatter +
                                                                                                                              +
                                                                                                                              The 'default' formatter used by TOML objects when they are printed to a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + using inserted_type_of = /* ... */ +
                                                                                                                              +
                                                                                                                              Metafunction for determining which node type would be constructed if an object of this type was inserted into a toml::table or toml::array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + using optional = std::optional<T> +
                                                                                                                              +
                                                                                                                              The 'optional' type used throughout the library.
                                                                                                                              +
                                                                                                                              + using source_index = uint32_t +
                                                                                                                              +
                                                                                                                              The integer type used to tally line numbers and columns.
                                                                                                                              +
                                                                                                                              + using source_path_ptr = std::shared_ptr<const std::string> +
                                                                                                                              +
                                                                                                                              A pointer to a shared string resource containing a source path.
                                                                                                                              +
                                                                                                                              + using table_iterator = /* ... */ +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over key-value pairs in a toml::table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(node& root, + std::string_view path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the node matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const node& root, + std::string_view path) -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the node matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(node& root, + std::wstring_view path) -> node_view<node> +
                                                                                                                              +
                                                                                                                              Returns a view of the node matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const node& root, + std::wstring_view path) -> node_view<const node> +
                                                                                                                              +
                                                                                                                              Returns a const view of the node matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(node& root, + const toml::path& path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the node matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const node& root, + const toml::path& path) -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the node matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto operator""_toml(const char* str, + size_t len) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses TOML data from a string literal.
                                                                                                                              +
                                                                                                                              + auto operator""_toml(const char8_t* str, + size_t len) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses TOML data from a UTF-8 string literal.
                                                                                                                              +
                                                                                                                              + auto operator""_tpath(const char* str, + size_t len) -> path +
                                                                                                                              +
                                                                                                                              Parses a TOML path from a string literal.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char>
                                                                                                                              + auto operator<<(std::basic_ostream<Char>& lhs, + node_type rhs) -> std::basic_ostream<Char>& +
                                                                                                                              +
                                                                                                                              Pretty-prints the value of a node_type to a stream.
                                                                                                                              +
                                                                                                                              + auto parse(std::string_view doc, + std::string_view source_path = {}) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::string_view doc, + std::string&& source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::u8string_view doc, + std::string_view source_path = {}) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a char8_t string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::u8string_view doc, + std::string&& source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a char8_t string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::string_view doc, + std::wstring_view source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::istream& doc, + std::wstring_view source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a stream.
                                                                                                                              +
                                                                                                                              + auto parse(std::u8string_view doc, + std::wstring_view source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a char8_t string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::istream& doc, + std::string_view source_path = {}) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a stream.
                                                                                                                              +
                                                                                                                              + auto parse(std::istream& doc, + std::string&& source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a stream.
                                                                                                                              +
                                                                                                                              + auto parse_file(std::string_view file_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a file.
                                                                                                                              +
                                                                                                                              + auto parse_file(std::u8string_view file_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a file.
                                                                                                                              +
                                                                                                                              + auto parse_file(std::wstring_view file_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a file.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_array constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_boolean constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a bool or toml::value<bool>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_chronological constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type satisfies any of toml::is_date, toml::is_time or toml::is_date_time.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_container constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type satisfies either toml::is_table or toml::is_array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_date constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::date or toml::value<date>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_date_time constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::date_time or toml::value<date_time>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_floating_point constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a double or toml::value<double>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_integer constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a int64_t or toml::value<int64_t>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_key constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::key.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_key_or_convertible constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::key, or is implicitly or explicitly convertible to one.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_node constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::node (or one of its subclasses).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_node_view constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::node_view.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_number constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type satisfies either toml::is_integer or toml::is_floating_point.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_string constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a std::string or toml::value<std::string>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_table constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_time constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::time or toml::value<time>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_value constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, any of the toml value types. Excludes tables and arrays.
                                                                                                                              +
                                                                                                                              + value_flags preserve_source_value_flags constexpr +
                                                                                                                              +
                                                                                                                              Special toml::value_flags constant used for array + table insert functions to specify that any value nodes being copied should not have their flags property overridden by the inserting function's flags argument.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Enum documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + enum class toml::format_flags: uint64_t +

                                                                                                                              +

                                                                                                                              Format flags for modifying how TOML data is printed to streams.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Enumerators
                                                                                                                              none +

                                                                                                                              None.

                                                                                                                              +
                                                                                                                              quote_dates_and_times +

                                                                                                                              Dates and times will be emitted as quoted strings.

                                                                                                                              +
                                                                                                                              quote_infinities_and_nans +

                                                                                                                              Infinities and NaNs will be emitted as quoted strings.

                                                                                                                              +
                                                                                                                              allow_literal_strings +

                                                                                                                              Strings will be emitted as single-quoted literal strings where possible.

                                                                                                                              +
                                                                                                                              allow_multi_line_strings +

                                                                                                                              Strings containing newlines will be emitted as triple-quoted 'multi-line' strings where possible.

                                                                                                                              +
                                                                                                                              allow_real_tabs_in_strings +

                                                                                                                              Allow real tab characters in string literals (as opposed to the escaped form \t).

                                                                                                                              +
                                                                                                                              allow_unicode_strings +

                                                                                                                              Allow non-ASCII characters in strings (as opposed to their escaped form, e.g. \u00DA).

                                                                                                                              +
                                                                                                                              allow_binary_integers +

                                                                                                                              Allow integers with value_flags::format_as_binary to be emitted as binary.

                                                                                                                              +
                                                                                                                              allow_octal_integers +

                                                                                                                              Allow integers with value_flags::format_as_octal to be emitted as octal.

                                                                                                                              +
                                                                                                                              allow_hexadecimal_integers +

                                                                                                                              Allow integers with value_flags::format_as_hexadecimal to be emitted as hexadecimal.

                                                                                                                              +
                                                                                                                              indent_sub_tables +

                                                                                                                              Apply indentation to tables nested within other tables/arrays.

                                                                                                                              +
                                                                                                                              indent_array_elements +

                                                                                                                              Apply indentation to array elements when the array is forced to wrap over multiple lines.

                                                                                                                              +
                                                                                                                              indentation +

                                                                                                                              Combination mask of all indentation-enabling flags.

                                                                                                                              +
                                                                                                                              relaxed_float_precision +

                                                                                                                              Emit floating-point values with relaxed (human-friendly) precision.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + enum class toml::node_type: uint8_t +

                                                                                                                              +

                                                                                                                              TOML node type identifiers.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Enumerators
                                                                                                                              none +

                                                                                                                              Not-a-node.

                                                                                                                              +
                                                                                                                              table +

                                                                                                                              The node is a toml::table.

                                                                                                                              +
                                                                                                                              array +

                                                                                                                              The node is a toml::array.

                                                                                                                              +
                                                                                                                              string +

                                                                                                                              The node is a toml::value<std::string>.

                                                                                                                              +
                                                                                                                              integer +

                                                                                                                              The node is a toml::value<int64_t>.

                                                                                                                              +
                                                                                                                              floating_point +

                                                                                                                              The node is a toml::value<double>.

                                                                                                                              +
                                                                                                                              boolean +

                                                                                                                              The node is a toml::value<bool>.

                                                                                                                              +
                                                                                                                              date +

                                                                                                                              The node is a toml::value<date>.

                                                                                                                              +
                                                                                                                              time +

                                                                                                                              The node is a toml::value<time>.

                                                                                                                              +
                                                                                                                              date_time +

                                                                                                                              The node is a toml::value<date_time>.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + enum class toml::value_flags: uint16_t +

                                                                                                                              +

                                                                                                                              Metadata associated with TOML values.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Enumerators
                                                                                                                              none +

                                                                                                                              None.

                                                                                                                              +
                                                                                                                              format_as_binary +

                                                                                                                              Format integer values as binary.

                                                                                                                              +
                                                                                                                              format_as_octal +

                                                                                                                              Format integer values as octal.

                                                                                                                              +
                                                                                                                              format_as_hexadecimal +

                                                                                                                              Format integer values as hexadecimal.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Typedef documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + using toml::default_formatter = toml_formatter +

                                                                                                                              +

                                                                                                                              The 'default' formatter used by TOML objects when they are printed to a stream.

                                                                                                                              +

                                                                                                                              This is an alias for toml::toml_formatter.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + using toml::inserted_type_of = /* ... */ +

                                                                                                                              +

                                                                                                                              Metafunction for determining which node type would be constructed if an object of this type was inserted into a toml::table or toml::array.

                                                                                                                              +
                                                                                                                              static_assert(std::is_same_v<toml::inserted_type_of<const char*>, toml::value<std::string>);
                                                                                                                              +static_assert(std::is_same_v<toml::inserted_type_of<int>,         toml::value<int64_t>);
                                                                                                                              +static_assert(std::is_same_v<toml::inserted_type_of<float>,       toml::value<double>);
                                                                                                                              +static_assert(std::is_same_v<toml::inserted_type_of<bool>,        toml::value<bool>);
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + using toml::optional = std::optional<T> +

                                                                                                                              +

                                                                                                                              The 'optional' type used throughout the library.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::at_path(node& root, + std::string_view path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the node matching a fully-qualified "TOML path".

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              rootThe root node from which the path will be traversed.
                                                                                                                              pathThe "TOML path" to traverse.
                                                                                                                              +
                                                                                                                              auto config = toml::parse(R"(
                                                                                                                              +
                                                                                                                              +[foo]
                                                                                                                              +bar = [ 0, 1, 2, [ 3 ], { kek = 4 } ]
                                                                                                                              +
                                                                                                                              +)"sv);
                                                                                                                              +
                                                                                                                              +std::cout << toml::at_path(config, "foo.bar[2]") << "\n";
                                                                                                                              +std::cout << toml::at_path(config, "foo.bar[3][0]") << "\n";
                                                                                                                              +std::cout << toml::at_path(config, "foo.bar[4].kek") << "\n";
                                                                                                                              2
                                                                                                                              +3
                                                                                                                              +4
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::at_path(const node& root, + std::string_view path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a const view of the node matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::at_path(node& root, + std::wstring_view path) +

                                                                                                                              +

                                                                                                                              Returns a view of the node matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::at_path(const node& root, + std::wstring_view path) +

                                                                                                                              +

                                                                                                                              Returns a const view of the node matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::at_path(node& root, + const toml::path& path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the node matching a fully-qualified "TOML path".

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              rootThe root node from which the path will be traversed.
                                                                                                                              pathThe "TOML path" to traverse.
                                                                                                                              +
                                                                                                                              auto config = toml::parse(R"(
                                                                                                                              +
                                                                                                                              +[foo]
                                                                                                                              +bar = [ 0, 1, 2, [ 3 ], { kek = 4 } ]
                                                                                                                              +
                                                                                                                              +)"sv);
                                                                                                                              +
                                                                                                                              +toml::path path1("foo.bar[2]");
                                                                                                                              +toml::path path2("foo.bar[4].kek");
                                                                                                                              +std::cout << toml::at_path(config, path1) << "\n";
                                                                                                                              +std::cout << toml::at_path(config, path1.parent_path()) << "\n";
                                                                                                                              +std::cout << toml::at_path(config, path2) << "\n";
                                                                                                                              +std::cout << toml::at_path(config, path2.parent_path()) << "\n";
                                                                                                                              2
                                                                                                                              +[ 0, 1, 2, [ 3 ], { kek = 4 } ]
                                                                                                                              +4
                                                                                                                              +{ kek  = 4 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::at_path(const node& root, + const toml::path& path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a const view of the node matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Char> +
                                                                                                                              + std::basic_ostream<Char>& toml::operator<<(std::basic_ostream<Char>& lhs, + node_type rhs) +

                                                                                                                              +

                                                                                                                              Pretty-prints the value of a node_type to a stream.

                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2.0, "3", false };
                                                                                                                              +for (size_t i = 0; i < arr.size() i++)
                                                                                                                              +    std::cout << "Element ["sv << i << "] is: "sv << arr[i].type() << "\n";
                                                                                                                              Element [0] is: integer
                                                                                                                              +Element [1] is: floating-point
                                                                                                                              +Element [2] is: string
                                                                                                                              +Element [3] is: boolean
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::string_view doc, + std::string_view source_path = {}) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse("a = 3"sv);
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::string_view doc, + std::string&& source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse("a = 3"sv, "foo.toml");
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::u8string_view doc, + std::string_view source_path = {}) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a char8_t string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse(u8"a = 3"sv);
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::u8string_view doc, + std::string&& source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a char8_t string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse(u8"a = 3"sv, "foo.toml");
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::string_view doc, + std::wstring_view source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse("a = 3"sv, L"foo.toml");
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::istream& doc, + std::wstring_view source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              std::stringstream ss;
                                                                                                                              +ss << "a = 3"sv;
                                                                                                                              +
                                                                                                                              +auto tbl = toml::parse(ss);
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::u8string_view doc, + std::wstring_view source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a char8_t string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse(u8"a = 3"sv, L"foo.toml");
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::istream& doc, + std::string_view source_path = {}) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              std::stringstream ss;
                                                                                                                              +ss << "a = 3"sv;
                                                                                                                              +
                                                                                                                              +auto tbl = toml::parse(ss);
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::istream& doc, + std::string&& source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              std::stringstream ss;
                                                                                                                              +ss << "a = 3"sv;
                                                                                                                              +
                                                                                                                              +auto tbl = toml::parse(ss, "foo.toml");
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse_file(std::string_view file_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a file.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              file_pathThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              toml::parse_result get_foo_toml()
                                                                                                                              +{
                                                                                                                              +    return toml::parse_file("foo.toml");
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse_file(std::u8string_view file_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a file.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              file_pathThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              toml::parse_result get_foo_toml()
                                                                                                                              +{
                                                                                                                              +    return toml::parse_file(u8"foo.toml");
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse_file(std::wstring_view file_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a file.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              file_pathThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              toml::parse_result get_foo_toml()
                                                                                                                              +{
                                                                                                                              +    return toml::parse_file(L"foo.toml");
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.2.0/namespacetoml_1_1literals.html b/v3.2.0/namespacetoml_1_1literals.html new file mode 100644 index 00000000..f662597a --- /dev/null +++ b/v3.2.0/namespacetoml_1_1literals.html @@ -0,0 +1,264 @@ + + + + toml::literals namespace | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::literals namespace inline +

                                                                                                                              +

                                                                                                                              Convenience literal operators for working with toml++.

                                                                                                                              + +

                                                                                                                              This namespace exists so you can safely hoist the toml++ literal operators into another scope without dragging in everything from the toml namespace:

                                                                                                                              #include <toml++/toml.h>
                                                                                                                              +using namespace toml::literals;
                                                                                                                              +
                                                                                                                              +int main()
                                                                                                                              +{
                                                                                                                              +    toml::table tbl = "vals = [1, 2, 3]"_toml;
                                                                                                                              +
                                                                                                                              +    // ... do stuff with the table generated by the "_toml" literal ...
                                                                                                                              +
                                                                                                                              +    return 0;
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator""_toml(const char* str, + size_t len) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses TOML data from a string literal.
                                                                                                                              +
                                                                                                                              + auto operator""_toml(const char8_t* str, + size_t len) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses TOML data from a UTF-8 string literal.
                                                                                                                              +
                                                                                                                              + auto operator""_tpath(const char* str, + size_t len) -> path +
                                                                                                                              +
                                                                                                                              Parses a TOML path from a string literal.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::literals::operator""_toml(const char* str, + size_t len) +

                                                                                                                              +

                                                                                                                              Parses TOML data from a string literal.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              strThe string data. Must be valid UTF-8.
                                                                                                                              lenThe string length.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              using namespace toml::literals;
                                                                                                                              +
                                                                                                                              +auto tbl = "a = 3"_toml;
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::literals::operator""_toml(const char8_t* str, + size_t len) +

                                                                                                                              +

                                                                                                                              Parses TOML data from a UTF-8 string literal.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              strThe string data. Must be valid UTF-8.
                                                                                                                              lenThe string length.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              using namespace toml::literals;
                                                                                                                              +
                                                                                                                              +auto tbl = u8"a = 3"_toml;
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + path toml::literals::operator""_tpath(const char* str, + size_t len) +

                                                                                                                              +

                                                                                                                              Parses a TOML path from a string literal.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              strThe string data.
                                                                                                                              lenThe string length.
                                                                                                                              ReturnsA toml::path generated from the string literal.
                                                                                                                              +
                                                                                                                              using namespace toml::literals;
                                                                                                                              +
                                                                                                                              +auto path = "main.settings.devices[2]"_tpath;
                                                                                                                              +std::cout << path.parent_path() << "\n";
                                                                                                                              main.settings.devices
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.2.0/pages.html b/v3.2.0/pages.html new file mode 100644 index 00000000..90742137 --- /dev/null +++ b/v3.2.0/pages.html @@ -0,0 +1,139 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Pages

                                                                                                                              + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.2.0/search-v2.js b/v3.2.0/search-v2.js new file mode 100644 index 00000000..1fb71e1f --- /dev/null +++ b/v3.2.0/search-v2.js @@ -0,0 +1,897 @@ +/* + This file is part of m.css. + + Copyright © 2017, 2018, 2019, 2020, 2021, 2022, 2023 + Vladimír Vondruš + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +*/ + +"use strict"; /* it summons the Cthulhu in a proper way, they say */ + +var Search = { + formatVersion: 2, /* the data filename contains this number too */ + + dataSize: 0, /* used mainly by tests, not here */ + symbolCount: '…', + trie: null, + map: null, + mapFlagsOffset: null, + typeMap: null, + maxResults: 0, + + /* Type sizes and masks. The data is always fetched as 16/32bit number and + then masked to 1, 2, 3 or 4 bytes. Fortunately on LE a mask is enough, + on BE we'd have to read N bytes before and then mask. */ + nameSizeBytes: null, + nameSizeMask: null, + resultIdBytes: null, + resultIdMask: null, + fileOffsetBytes: null, + fileOffsetMask: null, + lookaheadBarrierMask: null, + + /* Always contains at least the root node offset and then one node offset + per entered character */ + searchString: '', + searchStack: [], + + /* So items don't get selected right away when a cursor is over results but + only after mouse moves */ + mouseMovedSinceLastRender: false, + + /* Whether we can go back in history in order to hide the search box or + not. We can't do that if we arrived directly on #search from outside. */ + canGoBackToHideSearch: false, + + /* Autocompletion in the input field is whitelisted only for character + input (so not deletion, cut, or anything else). This is flipped in the + onkeypress event and reset after each oninput event. */ + autocompleteNextInputEvent: false, + + init: function(buffer, maxResults) { + let view = new DataView(buffer); + + /* The file is too short to contain at least the headers and empty + sections */ + if(view.byteLength < 31) { + console.error("Search data too short"); + return false; + } + + if(view.getUint8(0) != 'M'.charCodeAt(0) || + view.getUint8(1) != 'C'.charCodeAt(0) || + view.getUint8(2) != 'S'.charCodeAt(0)) { + console.error("Invalid search data signature"); + return false; + } + + if(view.getUint8(3) != this.formatVersion) { + console.error("Invalid search data version"); + return false; + } + + /* Fetch type sizes. The only value that can fail is result ID byte + count, where value of 3 has no assigned meaning. */ + let typeSizes = view.getUint8(4, true); + if((typeSizes & 0x01) >> 0 == 0) { + this.fileOffsetBytes = 3; + this.fileOffsetMask = 0x00ffffff; + this.lookaheadBarrierMask = 0x00800000; + } else /* (typeSizes & 0x01) >> 0 == 1 */ { + this.fileOffsetBytes = 4; + this.fileOffsetMask = 0xffffffff; + this.lookaheadBarrierMask = 0x80000000; + } + if((typeSizes & 0x06) >> 1 == 0) { + this.resultIdBytes = 2; + this.resultIdMask = 0x0000ffff; + } else if((typeSizes & 0x06) >> 1 == 1) { + this.resultIdBytes = 3; + this.resultIdMask = 0x00ffffff; + } else if((typeSizes & 0x06) >> 1 == 2) { + this.resultIdBytes = 4; + this.resultIdMask = 0xffffffff; + } else /* (typeSizes & 0x06) >> 1 == 3 */ { + console.error("Invalid search data result ID byte value"); + return false; + } + if((typeSizes & 0x08) >> 3 == 0) { + this.nameSizeBytes = 1; + this.nameSizeMask = 0x00ff; + } else /* (typeSizes & 0x08) >> 3 == 1 */ { + this.nameSizeBytes = 2; + this.nameSizeMask = 0xffff; + } + + /* Separate the data into the trie and the result / type map. Because + we're reading larger values than there might be and then masking out + the high bytes, keep extra 1/2 byte padding at the end to avoid + OOB errors. */ + let mapOffset = view.getUint32(12, true); + let typeMapOffset = view.getUint32(16, true); + /* There may be a 3-byte file offset at the end of the trie which we'll + read as 32-bit, add one safety byte in that case */ + this.trie = new DataView(buffer, 20, mapOffset - 20 + (4 - this.fileOffsetBytes)); + /* There may be a 3-byte file size (for zero results) which we'll read + as 32-bit, add one safety byte in that case */ + this.map = new DataView(buffer, mapOffset, typeMapOffset - mapOffset + (4 - this.fileOffsetBytes)); + /* No variable-size types in the type map at the moment */ + this.typeMap = new DataView(buffer, typeMapOffset); + + /* Offset of the first result map item is after N + 1 offsets and N + flags, calculate flag offset from that */ + this.mapFlagsOffset = this.fileOffsetBytes*(((this.map.getUint32(0, true) & this.fileOffsetMask) - this.fileOffsetBytes)/(this.fileOffsetBytes + 1) + 1); + + /* Set initial properties */ + this.dataSize = buffer.byteLength; + this.symbolCount = view.getUint32(8, true) + " symbols (" + Math.round(this.dataSize/102.4)/10 + " kB)"; + this.maxResults = maxResults ? maxResults : 100; + this.searchString = ''; + this.searchStack = [this.trie.getUint32(0, true)]; + + /* istanbul ignore if */ + if(typeof document !== 'undefined') { + document.getElementById('search-symbolcount').innerHTML = this.symbolCount; + document.getElementById('search-input').disabled = false; + document.getElementById('search-input').placeholder = "Type something here …"; + document.getElementById('search-input').focus(); + + /* Search for the input value (there might be something already, + for example when going back in the browser) */ + let value = document.getElementById('search-input').value; + + /* Otherwise check the GET parameters for `q` and fill the input + with that */ + if(!value.length) { + var args = decodeURIComponent(window.location.search.substr(1)).trim().split('&'); + for(var i = 0; i != args.length; ++i) { + if(args[i].substring(0, 2) != 'q=') continue; + + value = document.getElementById('search-input').value = args[i].substring(2); + break; + } + } + + if(value.length) Search.searchAndRender(value); + } + + return true; + }, + + download: /* istanbul ignore next */ function(url) { + var req = window.XDomainRequest ? new XDomainRequest() : new XMLHttpRequest(); + if(!req) return; + + req.open("GET", url, true); + req.responseType = 'arraybuffer'; + req.onreadystatechange = function() { + if(req.readyState != 4) return; + + Search.init(req.response); + } + req.send(); + }, + + base85decode: function(base85string) { + function charValue(char) { + if(char >= 48 && char < 58) /* 0-9 -> 0-9 */ + return char - 48 + 0; + if(char >= 65 && char < 91) /* A-Z -> 10-35 */ + return char - 65 + 10; + if(char >= 97 && char < 123) /* a-z -> 36-61 */ + return char - 97 + 36; + if(char == 33) /* ! -> 62 */ + return 62; + /* skipping 34 (') */ + if(char >= 35 && char < 39) /* #-& -> 63-66 */ + return char - 35 + 63; + /* skipping 39 (") */ + if(char >= 40 && char < 44) /* (-+ -> 67-70 */ + return char - 40 + 67; + /* skipping 44 (,) */ + if(char == 45) /* - -> 71 */ + return 71; + if(char >= 59 && char < 65) /* ;-@ -> 72-77 */ + return char - 59 + 72; + if(char >= 94 && char < 97) /* ^-` -> 78-80 */ + return char - 94 + 78; + if(char >= 123 && char < 127) /* {-~ -> 81-84 */ + return char - 123 + 81; + + return 0; /* Interpret padding values as zeros */ + } + + /* Pad the string for easier decode later. We don't read past the file + end, so it doesn't matter what garbage is there. */ + if(base85string.length % 5) { + console.log("Expected properly padded base85 data"); + return; + } + + let buffer = new ArrayBuffer(base85string.length*4/5); + let data8 = new DataView(buffer); + for(let i = 0; i < base85string.length; i += 5) { + let char1 = charValue(base85string.charCodeAt(i + 0)); + let char2 = charValue(base85string.charCodeAt(i + 1)); + let char3 = charValue(base85string.charCodeAt(i + 2)); + let char4 = charValue(base85string.charCodeAt(i + 3)); + let char5 = charValue(base85string.charCodeAt(i + 4)); + + data8.setUint32(i*4/5, char5 + + char4*85 + + char3*85*85 + + char2*85*85*85 + + char1*85*85*85*85, false); /* BE, yes */ + } + + return buffer; + }, + + load: function(base85string) { + return this.init(this.base85decode(base85string)); + }, + + /* http://ecmanaut.blogspot.com/2006/07/encoding-decoding-utf8-in-javascript.html */ + toUtf8: function(string) { return unescape(encodeURIComponent(string)); }, + fromUtf8: function(string) { return decodeURIComponent(escape(string)); }, + + autocompletedCharsToUtf8: function(chars) { + /* Strip incomplete UTF-8 chars from the autocompletion end */ + for(let i = chars.length - 1; i >= 0; --i) { + let c = chars[i]; + + /* We're safe, finish */ + if( + /* ASCII value at the end */ + (c < 128 && i + 1 == chars.length) || + + /* Full two-byte character at the end */ + ((c & 0xe0) == 0xc0 && i + 2 == chars.length) || + + /* Full three-byte character at the end */ + ((c & 0xf0) == 0xe0 && i + 3 == chars.length) || + + /* Full four-byte character at the end */ + ((c & 0xf8) == 0xf0 && i + 4 == chars.length) + ) break; + + /* Continuing UTF-8 character, go further back */ + if((c & 0xc0) == 0x80) continue; + + /* Otherwise the character is not complete, drop it from the end */ + chars.length = i; + break; + } + + /* Convert the autocompleted UTF-8 sequence to a string */ + let suggestedTabAutocompletionString = ''; + for(let i = 0; i != chars.length; ++i) + suggestedTabAutocompletionString += String.fromCharCode(chars[i]); + return suggestedTabAutocompletionString; + }, + + /* Returns the values in UTF-8, but input is in whatever shitty 16bit + encoding JS has */ + search: function(searchString) { + /* Normalize the search string first, convert to UTF-8 and trim spaces + from the left. From the right they're trimmed only if nothing is + found, see below. */ + searchString = this.toUtf8(searchString.toLowerCase().replace(/^\s+/,'')); + + /* TODO: maybe i could make use of InputEvent.data and others here */ + + /* Find longest common prefix of previous and current value so we don't + need to needlessly search again */ + let max = Math.min(searchString.length, this.searchString.length); + let commonPrefix = 0; + for(; commonPrefix != max; ++commonPrefix) + if(searchString[commonPrefix] != this.searchString[commonPrefix]) break; + + /* Drop items off the stack if it has has more than is needed for the + common prefix (it needs to have at least one item, though) */ + if(commonPrefix + 1 < this.searchStack.length) + this.searchStack.splice(commonPrefix + 1, this.searchStack.length - commonPrefix - 1); + + /* Add new characters from the search string */ + let foundPrefix = commonPrefix; + for(; foundPrefix != searchString.length; ++foundPrefix) { + /* Calculate offset and count of children */ + let offset = this.searchStack[this.searchStack.length - 1]; + + /* If there's a lot of results, the result count is a 16bit BE value + instead */ + let resultCount = this.trie.getUint8(offset); + let resultCountSize = 1; + if(resultCount & 0x80) { + resultCount = this.trie.getUint16(offset, false) & ~0x8000; + ++resultCountSize; + } + + let childCount = this.trie.getUint8(offset + resultCountSize); + + /* Go through all children and find the next offset */ + let childOffset = offset + resultCountSize + 1 + resultCount*this.resultIdBytes; + let found = false; + for(let j = 0; j != childCount; ++j) { + if(String.fromCharCode(this.trie.getUint8(childOffset + j)) != searchString[foundPrefix]) + continue; + + this.searchStack.push(this.trie.getUint32(childOffset + childCount + j*this.fileOffsetBytes, true) & this.fileOffsetMask & ~this.lookaheadBarrierMask); + found = true; + break; + } + + /* Character not found */ + if(!found) { + /* If we found everything except spaces at the end, pretend the + spaces aren't there. On the other hand, we *do* want to + try searching with the spaces first -- it can narrow down + the result list for page names or show subpages (which are + after a lookahead barrier that's a space). */ + if(!searchString.substr(foundPrefix).trim().length) + searchString = searchString.substr(0, foundPrefix); + + break; + } + } + + /* Save the whole found prefix for next time */ + this.searchString = searchString.substr(0, foundPrefix); + + /* If the whole thing was not found, return an empty result and offer + external search */ + if(foundPrefix != searchString.length) { + /* istanbul ignore if */ + if(typeof document !== 'undefined') { + let link = document.getElementById('search-external'); + if(link) + link.href = link.dataset.searchEngine.replace('{query}', encodeURIComponent(searchString)); + } + return [[], '']; + } + + /* Otherwise gather the results */ + let suggestedTabAutocompletionChars = []; + let results = []; + let leaves = [[this.searchStack[this.searchStack.length - 1], 0]]; + while(leaves.length) { + /* Pop offset from the queue */ + let current = leaves.shift(); + let offset = current[0]; + let suffixLength = current[1]; + + /* Calculate child count. If there's a lot of results, the count + "leaks over" to the child count storage. */ + /* TODO: hmmm. this is helluvalot duplicated code. hmm. */ + let resultCount = this.trie.getUint8(offset); + let resultCountSize = 1; + if(resultCount & 0x80) { + resultCount = this.trie.getUint16(offset, false) & ~0x8000; + ++resultCountSize; + } + + let childCount = this.trie.getUint8(offset + resultCountSize); + + /* Populate the results with all values associated with this node */ + for(let i = 0; i != resultCount; ++i) { + let index = this.trie.getUint32(offset + resultCountSize + 1 + i*this.resultIdBytes, true) & this.resultIdMask; + results.push(this.gatherResult(index, suffixLength, 0xffffff)); /* should be enough haha */ + + /* 'nuff said. */ + if(results.length >= this.maxResults) + return [results, this.autocompletedCharsToUtf8(suggestedTabAutocompletionChars)]; + } + + /* Dig deeper */ + let childOffset = offset + resultCountSize + 1 + resultCount*this.resultIdBytes; + for(let j = 0; j != childCount; ++j) { + let offsetBarrier = this.trie.getUint32(childOffset + childCount + j*this.fileOffsetBytes, true) & this.fileOffsetMask; + + /* Lookahead barrier, don't dig deeper */ + if(offsetBarrier & this.lookaheadBarrierMask) continue; + + /* Append to the queue */ + leaves.push([offsetBarrier & ~this.lookaheadBarrierMask, suffixLength + 1]); + + /* We don't have anything yet and this is the only path + forward, add the char to suggested Tab autocompletion. Can't + extract it from the leftmost 8 bits of offsetBarrier because + that would make it negative, have to load as Uint8 instead. + Also can't use String.fromCharCode(), because later doing + str.charCodeAt() would give me back UTF-16 values, which is + absolutely unwanted when all I want is check for truncated + UTF-8. */ + if(!results.length && leaves.length == 1 && childCount == 1) + suggestedTabAutocompletionChars.push(this.trie.getUint8(childOffset + j)); + } + } + + return [results, this.autocompletedCharsToUtf8(suggestedTabAutocompletionChars)]; + }, + + gatherResult: function(index, suffixLength, maxUrlPrefix) { + let flags = this.map.getUint8(this.mapFlagsOffset + index); + let resultOffset = this.map.getUint32(index*this.fileOffsetBytes, true) & this.fileOffsetMask; + + /* The result is an alias, parse the aliased prefix */ + let aliasedIndex = null; + if((flags & 0xf0) == 0x00) { + aliasedIndex = this.map.getUint32(resultOffset, true) & this.resultIdMask; + resultOffset += this.resultIdBytes; + } + + /* The result has a prefix, parse that first, recursively */ + let name = ''; + let url = ''; + if(flags & (1 << 3)) { + let prefixIndex = this.map.getUint32(resultOffset, true) & this.resultIdMask; + let prefixUrlPrefixLength = Math.min(this.map.getUint16(resultOffset + this.resultIdBytes, true) & this.nameSizeMask, maxUrlPrefix); + + let prefix = this.gatherResult(prefixIndex, 0 /*ignored*/, prefixUrlPrefixLength); + name = prefix.name; + url = prefix.url; + + resultOffset += this.resultIdBytes + this.nameSizeBytes; + } + + /* The result has a suffix, extract its length */ + let resultSuffixLength = 0; + if(flags & (1 << 0)) { + resultSuffixLength = this.map.getUint16(resultOffset, true) & this.nameSizeMask; + resultOffset += this.nameSizeBytes; + } + + let nextResultOffset = this.map.getUint32((index + 1)*this.fileOffsetBytes, true) & this.fileOffsetMask; + + /* Extract name */ + let j = resultOffset; + for(; j != nextResultOffset; ++j) { + let c = this.map.getUint8(j); + + /* End of null-delimited name */ + if(!c) { + ++j; + break; /* null-delimited */ + } + + name += String.fromCharCode(c); /* eheh. IS THIS FAST?! */ + } + + /* The result is an alias and we're not deep inside resolving a prefix, + extract the aliased name and URL */ + /* TODO: this abuses 0xffffff to guess how the call stack is deep and + that's just wrong, fix! */ + if(aliasedIndex != null && maxUrlPrefix == 0xffffff) { + let alias = this.gatherResult(aliasedIndex, 0 /* ignored */, 0xffffff); /* should be enough haha */ + + /* Keeping in UTF-8, as we need that for proper slicing (and concatenating) */ + return {name: name, + alias: alias.name, + url: alias.url, + flags: alias.flags, + cssClass: alias.cssClass, + typeName: alias.typeName, + suffixLength: suffixLength + resultSuffixLength}; + } + + /* Otherwise extract URL from here */ + let max = Math.min(j + maxUrlPrefix - url.length, nextResultOffset); + for(; j != max; ++j) { + url += String.fromCharCode(this.map.getUint8(j)); + } + + /* This is an alias, return what we have, without parsed CSS class and + type name as those are retrieved from the final target type */ + if(!(flags >> 4)) + return {name: name, + url: url, + flags: flags & 0x0f, + suffixLength: suffixLength + resultSuffixLength}; + + /* Otherwise, get CSS class and type name for the result label */ + let typeMapIndex = (flags >> 4) - 1; + let cssClass = [ + /* Keep in sync with _search.py */ + 'm-default', + 'm-primary', + 'm-success', + 'm-warning', + 'm-danger', + 'm-info', + 'm-dim' + ][this.typeMap.getUint8(typeMapIndex*2)]; + let typeNameOffset = this.typeMap.getUint8(typeMapIndex*2 + 1); + let nextTypeNameOffset = this.typeMap.getUint8((typeMapIndex + 1)*2 + 1); + let typeName = ''; + for(let j = typeNameOffset; j != nextTypeNameOffset; ++j) + typeName += String.fromCharCode(this.typeMap.getUint8(j)); + + /* Keeping in UTF-8, as we need that for proper slicing (and + concatenating). Strip the type from the flags, as it's now expressed + directly. */ + return {name: name, + url: url, + flags: flags & 0x0f, + cssClass: cssClass, + typeName: typeName, + suffixLength: suffixLength + resultSuffixLength}; + }, + + escape: function(name) { + return name.replace(/[\"&<>]/g, function (a) { + return { '"': '"', '&': '&', '<': '<', '>': '>' }[a]; + }); + }, + escapeForRtl: function(name) { + /* Besides the obvious escaping of HTML entities we also need + to escape punctuation, because due to the RTL hack to cut + text off on left side the punctuation characters get + reordered (of course). Prepending ‎ works for most + characters, parentheses we need to *soak* in it. But only + the right ones. And that for some reason needs to be also for &. + Huh. https://en.wikipedia.org/wiki/Right-to-left_mark */ + return this.escape(name).replace(/[:=]/g, '‎$&').replace(/(\)|>|&|\/)/g, '‎$&‎'); + }, + + renderResults: /* istanbul ignore next */ function(resultsSuggestedTabAutocompletion) { + if(!this.searchString.length) { + document.getElementById('search-help').style.display = 'block'; + document.getElementById('search-results').style.display = 'none'; + document.getElementById('search-notfound').style.display = 'none'; + return; + } + + document.getElementById('search-help').style.display = 'none'; + + /* Results found */ + if(resultsSuggestedTabAutocompletion[0].length) { + let results = resultsSuggestedTabAutocompletion[0]; + + document.getElementById('search-results').style.display = 'block'; + document.getElementById('search-notfound').style.display = 'none'; + + let list = ''; + for(let i = 0; i != results.length; ++i) { + /* Labels + */ + list += '
                                                                                                                              ' + results[i].typeName + '
                                                                                                                              ' + (results[i].flags & 2 ? '
                                                                                                                              deprecated
                                                                                                                              ' : '') + (results[i].flags & 4 ? '
                                                                                                                              deleted
                                                                                                                              ' : ''); + + /* Render the alias (cut off from the right) */ + if(results[i].alias) { + list += '
                                                                                                                              ' + this.escape(results[i].name.substr(0, results[i].name.length - this.searchString.length - results[i].suffixLength)) + '' + this.escape(results[i].name.substr(results[i].name.length - this.searchString.length - results[i].suffixLength, this.searchString.length)) + '' + this.escapeForRtl(results[i].name.substr(results[i].name.length - results[i].suffixLength)) + ': ' + this.escape(results[i].alias) + ''; + + /* Render the normal thing (cut off from the left, have to + escape for RTL) */ + } else { + list += '
                                                                                                                              ' + this.escapeForRtl(results[i].name.substr(0, results[i].name.length - this.searchString.length - results[i].suffixLength)) + '' + this.escapeForRtl(results[i].name.substr(results[i].name.length - this.searchString.length - results[i].suffixLength, this.searchString.length)) + '' + this.escapeForRtl(results[i].name.substr(results[i].name.length - results[i].suffixLength)); + } + + /* The closing */ + list += '
                                                                                                                              '; + } + document.getElementById('search-results').innerHTML = this.fromUtf8(list); + document.getElementById('search-current').scrollIntoView(true); + + /* Append the suggested tab autocompletion, if any, and if the user + didn't just delete it */ + let searchInput = document.getElementById('search-input'); + if(this.autocompleteNextInputEvent && resultsSuggestedTabAutocompletion[1].length && searchInput.selectionEnd == searchInput.value.length) { + let suggestedTabAutocompletion = this.fromUtf8(resultsSuggestedTabAutocompletion[1]); + + let lengthBefore = searchInput.value.length; + searchInput.value += suggestedTabAutocompletion; + searchInput.setSelectionRange(lengthBefore, searchInput.value.length); + } + + /* Nothing found */ + } else { + document.getElementById('search-results').innerHTML = ''; + document.getElementById('search-results').style.display = 'none'; + document.getElementById('search-notfound').style.display = 'block'; + } + + /* Don't allow things to be selected just by motionless mouse cursor + suddenly appearing over a search result */ + this.mouseMovedSinceLastRender = false; + + /* Reset autocompletion, if it was allowed. It'll get whitelisted next + time a character gets inserted. */ + this.autocompleteNextInputEvent = false; + }, + + searchAndRender: /* istanbul ignore next */ function(value) { + let prev = performance.now(); + let results = this.search(value); + let after = performance.now(); + this.renderResults(results); + if(this.searchString.length) { + document.getElementById('search-symbolcount').innerHTML = + results[0].length + (results[0].length >= this.maxResults ? '+' : '') + " results (" + Math.round((after - prev)*10)/10 + " ms)"; + } else + document.getElementById('search-symbolcount').innerHTML = this.symbolCount; + }, +}; + +/* istanbul ignore next */ +function selectResult(event) { + if(!Search.mouseMovedSinceLastRender) return; + + if(event.currentTarget.parentNode.id == 'search-current') return; + + let current = document.getElementById('search-current'); + current.removeAttribute('id'); + event.currentTarget.parentNode.id = 'search-current'; +} + +/* This is separated from showSearch() because we need non-destructive behavior + when appearing directly on a URL with #search */ /* istanbul ignore next */ +function updateForSearchVisible() { + /* Prevent accidental scrolling of the body, prevent page layout jumps */ + let scrolledBodyWidth = document.body.offsetWidth; + document.body.style.overflow = 'hidden'; + document.body.style.paddingRight = (document.body.offsetWidth - scrolledBodyWidth) + 'px'; + + document.getElementById('search-input').value = ''; + document.getElementById('search-input').focus(); + document.getElementById('search-results').style.display = 'none'; + document.getElementById('search-notfound').style.display = 'none'; + document.getElementById('search-help').style.display = 'block'; +} + +/* istanbul ignore next */ +function showSearch() { + window.location.hash = '#search'; + Search.canGoBackToHideSearch = true; + + updateForSearchVisible(); + document.getElementById('search-symbolcount').innerHTML = Search.symbolCount; + return false; +} + +/* istanbul ignore next */ +function hideSearch() { + /* If the search box was opened using showSearch(), we can go back in the + history. Otherwise (for example when we landed to #search from a + bookmark or another server), going back would not do the right thing and + in that case we simply replace the current history state. */ + if(Search.canGoBackToHideSearch) { + Search.canGoBackToHideSearch = false; + window.history.back(); + } else { + window.location.hash = '#!'; + window.history.replaceState('', '', window.location.pathname); + } + + /* Restore scrollbar, prevent page layout jumps */ + document.body.style.overflow = 'auto'; + document.body.style.paddingRight = '0'; + + return false; +} + +/* istanbul ignore next */ +function copyToKeyboard(text) { + /* Append to the popup, appending to document.body would cause it to + scroll when focused */ + let searchPopup = document.getElementsByClassName('m-doc-search')[0]; + let textarea = document.createElement("textarea"); + textarea.value = text; + searchPopup.appendChild(textarea); + textarea.focus(); + textarea.select(); + + document.execCommand('copy'); + + searchPopup.removeChild(textarea); + document.getElementById('search-input').focus(); +} + +/* Only in case we're running in a browser. Why a simple if(document) doesn't + work is beyond me. */ /* istanbul ignore if */ +if(typeof document !== 'undefined') { + document.getElementById('search-input').oninput = function(event) { + Search.searchAndRender(document.getElementById('search-input').value); + }; + + document.onkeydown = function(event) { + /* Search shown */ + if(window.location.hash == '#search') { + /* Close the search */ + if(event.key == 'Escape') { + hideSearch(); + + /* Focus the search input, if not already, using T or Tab */ + } else if((!document.activeElement || document.activeElement.id != 'search-input') && (event.key.toLowerCase() == 't' || event.key == 'Tab') && !event.shiftKey && !event.ctrlKey && !event.altKey && !event.metaKey) { + document.getElementById('search-input').focus(); + return false; /* so T doesn't get entered into the box */ + + /* Fill in the autocompleted selection */ + } else if(event.key == 'Tab' && !event.shiftKey && !event.ctrlKey && !event.altKey && !event.metaKey) { + /* But only if the input has selection at the end */ + let input = document.getElementById('search-input'); + if(input.selectionEnd == input.value.length && input.selectionStart != input.selectionEnd) { + input.setSelectionRange(input.value.length, input.value.length); + return false; /* so input won't lose focus */ + } + + /* Select next item */ + } else if(event.key == 'ArrowDown') { + let current = document.getElementById('search-current'); + if(current) { + let next = current.nextSibling; + if(next) { + current.id = ''; + next.id = 'search-current'; + next.scrollIntoView(false); + } + } + return false; /* so the keypress doesn't affect input cursor */ + + /* Select prev item */ + } else if(event.key == 'ArrowUp') { + let current = document.getElementById('search-current'); + if(current) { + let prev = current.previousSibling; + if(prev) { + current.id = ''; + prev.id = 'search-current'; + prev.scrollIntoView(false); + } + } + return false; /* so the keypress doesn't affect input cursor */ + + /* Go to result (if any) */ + } else if(event.key == 'Enter') { + let result = document.getElementById('search-current'); + if(result) { + result.firstElementChild.click(); + + /* We might be staying on the same page, so restore scrollbar, + and prevent page layout jumps */ + document.body.style.overflow = 'auto'; + document.body.style.paddingRight = '0'; + } + return false; /* so the form doesn't get sent */ + + /* Copy (Markdown) link to keyboard */ + } else if((event.key.toLowerCase() == 'l' || event.key.toLowerCase() == 'm') && event.metaKey) { + let result = document.getElementById('search-current'); + if(result) { + let plain = event.key.toLowerCase() == 'l'; + let link = plain ? result.firstElementChild.href : + '[' + result.firstElementChild.dataset.mdLinkTitle + '](' + result.firstElementChild.href + ')'; + + copyToKeyboard(link); + + /* Add CSS class to the element for visual feedback (this + will get removed on keyup), but only if it's not already + there (in case of key repeat, e.g.) */ + if(result.className.indexOf('m-doc-search-copied') == -1) + result.className += ' m-doc-search-copied'; + console.log("Copied " + (plain ? "link" : "Markdown link") + " to " + result.firstElementChild.dataset.mdLinkTitle); + } + + return false; /* so L doesn't get entered into the box */ + + /* Looks like the user is inserting some text (and not cutting, + copying or whatever), allow autocompletion for the new + character. The oninput event resets this back to false, so this + basically whitelists only keyboard input, including Shift-key + and special chars using right Alt (or equivalent on Mac), but + excluding Ctrl-key, which is usually not for text input. In the + worst case the autocompletion won't be allowed ever, which is + much more acceptable behavior than having no ability to disable + it and annoying the users. */ + } else if(event.key != 'Backspace' && event.key != 'Delete' && !event.metaKey && (!event.ctrlKey || event.altKey) + /* Don't ever attempt autocompletion with Android virtual + keyboards, as those report all `event.key`s as + `Unidentified` (on Chrome) or `Process` (on Firefox) with + `event.code` 229 and thus we have no way to tell if a text + is entered or deleted. See this WONTFIX bug for details: + https://bugs.chromium.org/p/chromium/issues/detail?id=118639 + Couldn't find any similar bugreport for Firefox, but I + assume the virtual keyboard is to blame. + + An alternative is to hook into inputEvent, which has the + data, but ... there's more cursed issues right after that: + + - setSelectionRange() in Chrome on Android only renders + stuff, but doesn't actually act as such. Pressing + Backspace will only remove the highlight, but the text + stays here. Only delay-calling it through a timeout will + work as intended. Possibly related SO suggestion (back + then not even the rendering worked properly): + https://stackoverflow.com/a/13235951 + Possibly related Chrome bug: + https://bugs.chromium.org/p/chromium/issues/detail?id=32865 + + - On Firefox Mobile, programmatically changing an input + value (for the autocompletion highlight) will trigger an + input event, leading to search *and* autocompletion being + triggered again. Ultimately that results in newly typed + characters not replacing the autocompletion but rather + inserting before it, corrupting the searched string. This + event has to be explicitly ignored. + + - On Firefox Mobile, deleting a highlight with the + backspace key will result in *three* input events instead + of one: + 1. `deleteContentBackward` removing the selection (same + as Chrome or desktop Firefox) + 2. `deleteContentBackward` removing *the whole word* + that contained the selection (or the whole text if + it's just one word) + 3. `insertCompositionText`, adding the word back in, + resulting in the same state as (1). + I have no idea WHY it has to do this (possibly some + REALLY NASTY workaround to trigger correct font shaping?) + but ultimately it results in the autocompletion being + added again right after it got deleted, making this whole + thing VERY annoying to use. + + I attempted to work around the above, but it resulted in a + huge amount of browser-specific code that achieves only 90% + of the goal, with certain corner cases still being rather + broken (such as autocompletion randomly triggering when + erasing the text, even though it shouldn't). So disabling + autocompletion on this HELLISH BROKEN PLATFORM is the best + option at the moment. */ + && event.key != 'Unidentified' && event.key != 'Process' + ) { + Search.autocompleteNextInputEvent = true; + /* Otherwise reset the flag, because when the user would press e.g. + the 'a' key and then e.g. ArrowRight (which doesn't trigger + oninput), a Backspace after would still result in + autocompleteNextInputEvent, because nothing reset it back. */ + } else { + Search.autocompleteNextInputEvent = false; + } + + /* Search hidden */ + } else { + /* Open the search on the T or Tab key */ + if((event.key.toLowerCase() == 't' || event.key == 'Tab') && !event.shiftKey && !event.ctrlKey && !event.altKey && !event.metaKey) { + showSearch(); + return false; /* so T doesn't get entered into the box */ + } + } + }; + + document.onkeyup = function(event) { + /* Remove highlight after key is released after a link copy */ + if((event.key.toLowerCase() == 'l' || event.key.toLowerCase() == 'm') && event.metaKey) { + let result = document.getElementById('search-current'); + if(result) result.className = result.className.replace(' m-doc-search-copied', ''); + } + }; + + /* Allow selecting items by mouse hover only after it moves once the + results are populated. This prevents a random item getting selected if + the cursor is left motionless over the result area. */ + document.getElementById('search-results').onmousemove = function() { + Search.mouseMovedSinceLastRender = true; + }; + + /* If #search is already present in the URL, hide the scrollbar etc. for a + consistent experience */ + if(window.location.hash == '#search') updateForSearchVisible(); +} + +/* For Node.js testing */ /* istanbul ignore else */ +if(typeof module !== 'undefined') { module.exports = { Search: Search }; } diff --git a/v3.2.0/searchdata-v2.js b/v3.2.0/searchdata-v2.js new file mode 100644 index 00000000..02cbfd63 --- /dev/null +++ b/v3.2.0/searchdata-v2.js @@ -0,0 +1,2 @@ +/* Generated by https://mcss.mosra.cz/documentation/doxygen/. Do not edit. */ +Search.load('O+!-x00000^8x?>h<*S7Q&Ir{5`F*x0RR9100CtL00001ZU_JX00D0f000310RR92a~c2u00Ctl00001Z6p8y00C(#00001bT9w_00Cb%00001WIO->00C}700001VMqV~00Cc400001b5sBT00CuM00001bYK7g00CiU000310ssI3b8-Lx00C}x00001VSE4p00C}-00001Ux)wz00Cr<00001Zj=B300Ci|00001U!VX000DER00001Wvl=I00C*T00001bhrQj00C*f00001Zo~ip00C*r00001X3zit00C~+00002WNB;w0Nelo00Cd(00001W$XX|00DIJ00001Z}00Cbz0RR92Y&Zb`00Ch>0RR92azp_D00Cu60RR92bWi~R00C)M0RRC21ONa5b7BDi00C!a0RR92ZfpSn00C)o0RR92a(Dp%00DG<0RR92bA$l^00Cc$0RR92Wsm^?00C~60RR92X`BH700C^G0RR92U#I~900C*P0RR92bhH5g00C^e0RR92b-)1t0RRO600DE%0RR92XV3uv00C~+0RR92Y1{z-00DC10RR92bm##900DFE0RR92U-SV000D0L0RR92X#fHM00CbH0ssI3a|{9i00CkW0ssI3VHg4c00DF!0ssI3UnBwm00C?&0ssI3VK4#!00Ct-0ssL31^@s7b3y_D00C!40ssI3ZcG9I00C)I0ssI3a##WY00DGf0ssI3b7TSl00CcW0ssI3WpDxj00Crn0ssI3Z+rp(00Coy0ssI3X@~*<00C}}0ssL32LJ#8bD9DG00DBI0ssI3WuyWC00C#J0ssI3Wv~JO00DHi0ssI3ZoC2j00C*j0ssI3U&sOg00DW<0ssI3a?}C<00Cjz0ssI3Zr}m{00C*{0ssL32mk;9bMgWJ00DCL0ssI3W&8pF00CzL0{{R4We5WR00DFk0{{R4ZWIFm00C(l0{{R4Umybj00C?!0{{R4VJrgx00DF|0{{R4V>kl<0RRaA00DDE0{{R4a!3OJ00CuA0{{R4XH)|K00CuM0{{R4bYKGj00C}h0{{R4X>0=k00Cce0{{R4Y7f1ONa5bf^RX00C~Y1ONa5Ww-k&0RavGI&KAk00DD!1poj6XM61poj6Uz7y^00DHG1poj6VW0&700C{L1poj6a;yaa00D2Z1pom64*&oGWxfRf00C~o1poj6Z^#7z0RRvH00Cvx1poj6Y}f?=00Cm&1pom67XSbOW$Fb000C|81poj7VQJ(A0Q3a_0RRyI00DUf1^@s7VF(5Q00D9i1^@s7aufyt0RR#J00Czp1^@s7ZX^Z(00C(#1^@s7axew}00DG11^@v76951KazX|G00Cu21^@s7XG{hF00CuE1^@s7bXW!e00C}Z1^@v76aWALbZQ0w00C}p1^@s7X>1^@s7ZRiF700C+41^@s7bo2%Q0Ra{OU-||B00CtH2LJ#8bO;9k00ChR2LJ#FZggRDX=Y+%&IJJa1ppcb06Yc&WCj4X1_0g$02BuR00BB02LJ&982~yw2Y>(pWkLr400D4H2LJ#8c~A!c0RZL%00CuO2LJ#8a9{@j00DVs2LJ#8bZiFz00Cce2LJ#8WOxSv00Cuw2LJ#8cZ3H30RUJ900AkG2LJ&9R|P1P2Y>(pbeabM00C*D2LJ#9Wpj!L0H_B50RU1300Aku2LJ&8R0RM5DZ&Q;0RdA5D8>hX00DH&2LJ#8W7G!#00Cjz2LJ#8c;E*B0RUD700AlN2LJ&9RRt*U2Y>(pa`p!R00L!i<_7@&2LJ&AQ3WVpya#{;2mk;9Wex}c00DIx2mk;9Y#;~#00L=Yt_J`n2mk>9=mY=(DK-cI0RiU(C^`s$00BHe2mk>9_5=U{DNYCg0Ri;{C{hT300C@R2mk;9Z(s-j00D1i2mk;9Vr&Qi0s#61_yhm}DR>9~2LJ{I00jaC{saUC3IzxS00Ak42ml8G1qJ^E0R{a80|f~M2L&jU2!H|t`2_a_C_R1%fSL#Z0Ra3200Aky2mk>A`vfS!2!H?qJ;n$C1OONX5(N|m76kwSDbxr61OXQX5d{+k6$L2X2!H?qUE~M=00lfCJt1322mo>j0ImoC&IkbV2mk;9a`*@U00D0f2><{AbQB2y00Chd2><{Aav%u+00Ctt2><{Aa4ZP`0RZX*00AjD2>=BE>;&`#?ga1z@&o_@DMASV1p(^>^91b#?*#D#C{78000DPY2><{AWn>8e00C)g2><{Ac5n#*0Rrg+C|^7YfOZK000Cuu2><{AWQYj>00D1~2>=5C3<{AbhHTo00CjT2><{AaKH%w00Cdd2><~A8U+9WDbfi50RS8Y00Al72><~B8wDuf34j0rdFBZK00Cj{2><{Aa`XuR00DCP2><~A9t8jaDFzAv0RbHaC<+RI00C|g3IG5BVHgSk00Ctl3IG5BY$OT*00D0*3IG5BZ!ih~0RSKc00AjH3IG8BA_V{eDMkta0RbTeC`t-|00CuC3IG5BZCDBb00C)U3IG5BbYuzu0RkTdC|^JdfNBZ=00Cui3IG5BbbJZ`00Ciw3IG8BBn1EgDUJ#N0RbZgD3S_*00DHE3IG5BZlDSP00C*H3IG5BZ>$Oc00D5a3IG5BU$_bY00C#d3IG5BZo~=z00C*r3IG5BbkGU_00Cjv3IG5BZ`=w100C^`3IG8BCItWiDeejY0RbfiDDnz`00DCN3IG5BWdI8R00CzP3jhECWef`d00DFo3jhECZWs#y0RSik00Ai^3jhHDCj}@d3xEItXD$l>00C|`3jhECX*>%600DAB3jhECbVv&T0RSom00Ajf3jhHDDFrB43xEItWnK#a00C@f3jhECVr&Zl0RSuo00Aj@3jhHDD+MTg3xEItWr7O;00C`^3jhEDVQF#;0FVm+00&`WWM*k|bN~tfHVOcU3ION|03HhfP745*3jhHE83ia`)(L>13jhEDbaTuJ0KN+V0RS!q00Ak~3jhHCFa-bsDc%bJ0RS=u00AlJ3jhHDF$E~>3xEItbMgxS00CwC3jhECYyb=Z00CkK3;+NDVGIla00DFo3;+NDUlW00DJY4FCWEZ(I!k00CuU4FCWEZfFev00Cug4FCWEXLJn!00D1$4FCWEZGa5`00D1?4FCZELInT;DUuBU0Rce;D3%R?00DBG4FCWEWuy%N00C#J4FCWEWv~qZ00DHi4FCWEZoCZu0RTh=00Ak;4FCZFLj@?z4S)ava?%X|00Cv%4FCWEV&Dw`00C|04FCWEb?glQ0RTn?00AlZ4FCZFMFlAQ4S)avX95lY00C|a4gdfFX%G$o00D9q4gdfFbQ}%<0RTt^00Ai|4gdiGM+GP>4uAjwWik!`00C?|4gdfFVn7Z60RTz`00AjX4gdiGNd+iS4uAjwWmXOV00C`Y4gdfGVQEGV0AvmT0RT(|00Aj<4gdiGO9d!+4uAjwWqu9-00DJ|4gdfFY>W;700Ci=4gdfOVPa%vXlZV9baqY*0E7$x)(ikP4FHS{0KyFb@(lnY4ghKn0GJK{0Rk-rC|}qMfSwKj00DEz4gdiFP6Yq~DcTMI0Rc?~DBcc$00Cv>4gdfFaO@5M00DXO4gdiFPz3-1DgF)s0Rc}1C;|_F00CwQ4*&oGWe^Vl00(w&ZeeM3ax4e{G6?{b2>{9q0Mrfu_znOT4*&oGIvfuG0RdSBIyw)400DPE4*&oGWk?SI00C)E4*&oHbaqw;08|eE0RWr>00Ajv4*&rHn*%6l4}bsxWo{1u00Com4*&oGa(oW}00DJ^4*&oGZ-@^71^}J|q64M_paY}>r~?22DU=TY1_7M|p#!A@p97-Ric00C|u5C8xHVJHv)00Ct#5C8xHY%~x600D105C8xHZ$JTl00C`o5C8xHX>b80s+wj(*r1e5r6;zWrPs`00C@{5dZ)IVw4d80sz(n*aH9oDWDMm0s++n*8?b~5r6;zWvmeZ00C{b5dZ)JVQHEX0K5?Z00&`WWM*k|bPNyxMi2m?5C8-b06q}_auEQ+5dZ=Lu>-RMC|}+WfXop900MM#(hmUY5dZ-IssjK4DFPAz0RgE4C5&!@JWfT$s00Cqg5&!@JZy*u?00C|$5&!@JAS@C900DF|5&!@Jb2t(J00C}35&!@JZ$uIR0RXH600Ajb5&!`Ks{<%h5`X{!K3Wn000CuU5&!@JWM~oq00D1q5&!@KV{S?k0CW-n00BID5&!@JcZ3oE00Cu+5&!@JX^;{C00DNE5&!@JUz`#E00Cv95&!@JWT+AV00D2V5&!@JZnP2r0syW9umb=ADZml{0s*Z9uLCH?5`X{!UCa^y00JOex)K1^5&!@Ja@-OC00D325&!@JbnFrU00Ck05&!@Ja`+Me00CwG5&!@Ja0C+o0RY+q00Aiw6954K+yejsDH;<10RY|u00Ai^6954L-2*5n6Mz5#b1oAA00Ct-6951KY&;VH00Ck`6951KVMr4I00DGP6951KUsMwS00CxN6951KZ(tJu0Rr0tC|@2EfMyc_00DVy6951KVR#b&00DA-6951Ka)c8A0RZ3w00AkG6954L-vcO=6Mz5#ZkiJS00Cj56951KWvCMX00C^S6951KZ?qEt00D2h6954K;sXEyDaI230RZF!00Ak`6954L;{zzv6Mz5#W!e(}00C{{6951KY3LIG00DIF6954M;R7gN$`gR}6951KW%?5U00DFc6aWALVGI-i0RZL$00Ai&6aWDM>;vcn>H`1)DR>kB1Oe>>>jUQl=>sT&6o3E$bBGiG00DKD6aWALZ=4hW00Cv96aWALZm1Lh00CvL6aWALXS5Um00D2h6aWALZNL-&00D2t6aWDL@B;t=Dbf@G0Ris=DAp8!00DB`6aWALW#kk900C#}6aWALW$+XL00DIN6aWALZu}Gg0RZv?00Aio6#xMN@dGFf6@UN%auO8)00Cth6#xJMVjvX&00C_#6#xJMbu1MC0RZ#^00AjD6#xMN^8+Y66@UN%XF?SK00C}F6#xJMX;2ja00DAV6#xJMbX*kx0RZ*`00Ajz6#xMN^#dqu6@UN%WpWh&00C@z6#xJMVt^F@0RZ>|00AkC6#xMN_X8-96@UN%WtJ5H00C{D6#xJNVQGdH0HhTF0RZ{~00Akq6#xMN`2#4p6@UN%Wxf>v00DKz6#xJMY|Iq^00Cjr6#xJVVPa%vXlZV9basjp0KgLf5)=S(6adT=00I>NG8F(~6#%Lg0N51(0Rq_rC|?v4fZi1V00DCd761VN`~v_1DH;|40Rj61C>|Do00Ctr761SNa4Z%800DV2761eQ{sRC60t5sE00AjJ761eR{R9640R#gCC`cB700CxB761SNWn2~j0RRRB00Ajz761VN2m}BDDRLG70RaaDD0UWr00DG-761SNV}up}00Ci&761SNc#swV0RRdF00AkS761VO2?Qvh7JvW&a;6pl00L!imKFf6761VP1q3KxY!-mD761SNWxf^w00DK%761SNY|s_}1ON;K4g?Sc5(EGNDclwS1OW>K4FnGa5dWP016WT6czwD764)v01OuZ00BA{7XSeQ69iv6S`Pp;7k~f(WjYrC00Cr17XSbOZ%h{e0RS2R00CuK7XSbOa9kGv00DVo7XSbObZ8d<1pr|JUjkzSWddCS00Aj<7XSeOeF6XhDTWsS0RemhD2f+=1p;6KUIJnQWCC0QC_R7|fRGme0RVXd00Aki7XSePcmgP}7k~f(bhZ}&00CdV7XSbOWyBW%00DZ+7XSbOY0wt{0RVvl00Al77XSePfC4Ds7k~f(Cgv9a00C$27XSbOZuA!b00C+G7XSbOasU_r00DFc7ytkPa|{>&00BA@7ytkPIv5xL00Cqk7ytkPbR-x600DC<7ytkPATSsJ00DG17ytkPb37OT00C}77ytkPZ%7yb00MJk))xRy7ytnPdjbFfDP9-=0RegfC}J3Z00BK{7ytkRJs=^N7XVZk0B{%p00DA#7ytkPZ-f{C00DH07ytkPVUQRA00DBA7ytkPWtSXDIysF0ReIXC?*+z00Ctz82|tQa5NbJ00DVA82|wQbpikZDMlFp0ReOZC`uWC00DGR82|tQZde%r00CuQ82|tQZe$q%00D1m82|tQaBvv_00C`w82|tQZ+sa500Coy82|tQUx*n100C%@82|tQbd(tY00Ci|82|tQaG)6g0RVRb00Aki82|wRb^<7{8Grx*c(xe;00Cvb82|tQWW*T&00C~w82|wQe*ypjDb^VP0ResjDB2l-00DX682|tQW#}0I00wVxbbe`Ts2Bho82~^T0HzrL&=~;k82|tQI`kO;0Rn;oUpj6V01g^}00DFq8UO$RZXg-}00Ctt8UO$RZY&xA00D0@8UO$Ra5x$O00C`28UO$RZ$ugZ00Co48UO(R6$AhQDOMT)0Ra>QC|VkT00DVm8UO$RbZ8m?00D4r8UO+Sa|Cq+00Aj_8UO+Tas+e)D1aJ(00Cr%8UO$SZEkcL0FW900RR^S00AkW8UO(S76d4y8h`)+Y^oXn00D2Z8UO$RZ@3x&0RVpl00Ak)8UO(Segr7U8h`)+XU-Y`00C~+8UO$RY1|qB00DC18UO$Rbm$rY0RVvn00AlV8UO(SfCMP`8h`)+XZ{)h00C|W8vpy00Ajh8vp_U7z7#wC|nzW00CWM8vq0VH3TyRHv~BZ00Aj-8vq0WGz2mPHUu~XD0~}$1prF~O$1K_Q3O*200AkG8vq3YN(4*iCS_E7KC|Yv00Ctr9RL6UdMq6P0RV#p00AjD9RL9Vf&?f$9e@A>U6i9smIVXaoQOaxxwO00D0{9smFVbUYpa00Ch_9smFVa!4Kk00CuA9smFVbW|Py00C)Q9smFVUtk^p00DGn9smFVb8H>}00C}t9smIVZv+4VDSjRR0Re6VD1sh<00C}@9smFVX^OWVGJJt00D9m9{>OWWf&g-00DF!9{>UXYXofs00Ai~9{>UYY6NTqC@>#@00C|`9{>OWX+R$U00C!49{>OWWlSFc0RV*r00Ajj9{>RXgajyDAAkS>a$+9<00DGr9{>OWb8sI300Cci9{>OWWqcn100Crz9{>OWX^0;H0RW2x00AkK9{>RXiUcT_AAkS>W}Y7a00Cj99{>OWWvm|n0RWQ(00Aku9{>RWl>`6*DZ(EB0RfZ*D8?Uv0RoZ)C}g}JfXp8N00Cvx9{>OWbl@KV00Cj<9{>OWW9%OQ00D0D9{>OWb@(3u00DCT9{>OhWp8kEeqm#2Vs~tGmKp$f8~_j<0E8U?wjBT{9sued03;s(QXc@09{{o+00bZa00BA*AOHaZmIPlqP#OR{Ab@CEOaNE_Q~*!_N&r#-P5@Q_00AjfAOHgZTmWDIUH||ADQ+MD0|8qAUjSVID0U!#00CuuAOHXXY=|HL00C)^AOHaXRssM4DViVv0RdG4D4rmI00C~KAOHXXZ>%5y00C*TAOHXXbhsb@00D5mAOHXXX~ZA^00DB!AOHXXW6&S~00DE>AOHXXW!xYD0RUJ600AlJAOHaYR{|*PAbT5+MLuApigYI$$9H0RdYAI&L9=00DAzApigYZ+syD00DA>ApigYa)==S0RWf;00AkKApijZmjo!7A%Fn@pacK`DW)L+0Rf)`D5@cV00BI(ApijYs0083DZU{90Rg83D8eCt00Ab*ApigYa?l|F00D2-ApigYa@-*R00DC1ApigYW#}OQ00Cd_ApigYW%MBc00DFQApigYasVO#00ChJA^-sZ+5`XrDH0+80RhA1s00AZ(A^-pZWh5d100C?&A^-pZVlW~A00Ch(A^-pZbUY#e00BBeA^-pZI!Gb_00C@HA^-pZZB!xv00D1WA^-paaC8hJ0AL~j00AIoA^-pZbZ{a700DD$A^-pZZhRsD00D1;A^-sZsssQ5DUKol0RXH700AkOA^-sas{|;VB7gw`sRSq{k|KbjA^-pZCaNL;00DBgA^-pZZ@eM^00DBsA^-pZa>yb800CvrA^-pZU(_N100Cv%A^-pZbKoKX00DC5A^-pZVeBFR0RYwn00AlZA^-sa)dVQ~B7gt^Yyu+y00D0bBLDyaZxAB@0RY?t00Ai+BLD#a-UI*vDJCNT0Ri0vC@Ld>0Rr0uC?+5yfG{Hf00AaABLDyaWke$Y00C@DBLDyaVo)Oh00CiEBLDyabX+3<00BB;BLDyaI%p#R00C@nBLDyaZFD0500D1$BLDydV{l@0h#~;;A^;X60DvO^1^~>B=(F7=_BY*$_U92Mj00cceAX}ax0JtFlh9dyJBLDyaa>OG500D2-BLDyablf8V00Cj*BLDyaa_A!f00Cw0BLDyaaP%Vp0sxu>oCE*?DF7q@0s)x>n*=BZB!B<`bPOZ_00C?kBme*bbsQuB00DC%Bme*bWhf*700D9?Bme*bUo<2D00Ct>Bme*bb3h~j00DAFBme*bVN4_d0RWx^00AjjBme;codhUcB!B<`bYdg`00C@jBme*bb#NpA00DD$Bme*bWqc$600DA>Bme*bUx*|C00Cu=Bme*bbCe_i00DBEBme*bVW1=c00D5OBme^dq6DM_rUU>1DY7I00|B7~qXeY{D7qwo00DBqBme*bZ_FeB00DB+Bme>cxCFWc00Al9Bme>dw*(^cZwMs-00DFkB>(^cVH70*00D9uB>(^cWgsO000DF+B>(^cX)GlG00CbzB>(^cbT}md00DD8B>(^cZbT&j0RXfF00AjbB>({dvjiwqC4c|{ZdxS(00C)YB>(^cXJ{n=00CugB>({cwgdnHDS9OU0RgoHD1Ie?00Cr#B>(^cZj2=W00VDgWlALgbR__iB>({ct^@!9a;7B!00D2RB>(^cbg(4=00CjPB>(^ca=aw~00CvfB>(^cbjT$D0sycCvIGDDDbytZ0s*fCu>>gEC4c|{Zr~*V00C+0B>(^cXYeHe00Cw8B>)Bhyad1m#00(s!UV+Yy0Cpw-xF!JVCIA2dI`Ad{0RiO%Ivyv000DF)CjbBeY%C`L00DI}CjbBeb2uje00Ct_CjbBgW@U1eAOMab07NGM2?ALFO8{2@Qvgo@NdQp*O#oE@C|_tGfJ!F-00CuKCjbBeb95&F00MM!P9Ok!CjbEeIsgCxbBZSb00C!?CjbBeVU#BT00C^8CjbBeW}qhk00Cd7CjbBeWvnLv00DKfCjbBeY`7-?00CjXCjbBecEl$D00CdhCjbBeWzZ)800CpxCjbBea@;2X00DL4CjbBeZ|Elg00DFECjbBeU-Tyc00CwCCjbBeb^s^<00D9aC;$KfWeg|)00DCnC;$KfWf&*`00LohfF}SRC;$Nf8vpRN00CjvC;$KfU)(4F00DI3C;$KfVdy9T00C|8C;$Kfa`Y$w00D3MC;$KgZe~6x001cf00BA%DF6Wh9{@TKDS!Y0a~3H800CznDF6TgVI(O400C?&DF6TgW-uuL0RWc)00Cz_DF6TgazH5n0RWf*00Cu8DF6Tga8M}#00DVcDF6ThVRS|*09+{m1puZ2paG%*r~#w_00Aj%DF6imr2(G-p#i4>qXAziVkrQ4DS!Y0Wqv6D00DK9DF6TgY?vtk00Cj1DF6cioB^HzngIX-DXJ*|0sy)Jya50KDYz*B0s*-Jy8$S^DS!h4n*p5xnE@z0vMGSXDF6WgssR82Dc&gn0RgE2DB>xA0|2f8umQ3G00AlRDF6civ;npOxB&nGDgG${0|B!EwE?#QCfD9@C0RXH400Aj1DgXfis{tr5Du4h1JvJ%;0|34OzyZPm00AjPDgXlj!~wNWDN-r`0|CPU#R10wC|W9j0|LDPzX8DkC_PLnfM6;B0RS2T00Aj{DgXfh90C9VDTXQl0RbBVD2gh80RkBUC?N?00Ai?EC2!l%>mB=C@3s|00DU}EC2ujVK^)R00DA7EC2ujazrcu0szth)BykiDNrl`0s+wh(*Y<}EPwz3Zd@z?00CiUEC2ujWo#?}00C@rEC2ujZ+I*K00D1)EC2!k)&bZ700AkAEC2!k+5y}F00AkMEC2!l*#X-DD4Z;S00Cv9EC2ujZLBN+00C*TEC2ujbhs=40s_?m*8wPBkSu_{EC2ujWyCB100DH;EC2ujVc0AH0s!6t-~j*uDda2w0s-9t-vKDH+Kl00AksEdT-m=>h8jD7-Cz00CvfEdT%kY|JeH00CmsEdT-l?g8)t00Al9EdT-m?E&urDC8}G00Cv{EdT%kZS*Yw00LoY*ewA1EdT%qVPa%vX>)W+EC7To0NyMBLM;G%Eda1B001rk00CbLE&u=lb0{tV0RZv=00Aj9E&u@l^Z@_?DLyU$0Ri&?C_*lP00DDIE&u=lWl$~v00C@PE&u=lVq7i&00CiQE&u=lbZ9OB00CcaE&u=lW^^t900D1$E&u@n@c}4bI4*#IE&u=ld4?_k00Ci=E&u=la+odv00DBIE&u@l_5lC^DXK020Ri;^D6TGm00C~aE&u=lVZ1H?00CvfE&u=lY{)JE00D2#E&u=lZ`3XT0RZ>`00AlBE&u@l`T+m|De5i&0Ri~|DDEzR00Cw6E&u=lZTv0(00C(NF8}}mbO~c0RRL700AlJF8~1n0|F@QFMt36a`G<#00CwCF8}}mX8+Sj00Cl_FaQAn3<3ZFDWWg{0RamFD5fxg00CvJFaQ7nZL}}|00LoYoG<{oFaQAn4gvrHDatSa0RasHD9$i|00CvxFaQ7nb=)uj00C^`FaQ7nVdyXb019DZWM*h-ZgX^Yq%Hv3E&wbq0E{mH;x7OgFaSs}0C+F}z%T&rFaQ7nU-U2l00DCzF#rJo5CQ-JDJn4l0RayJC@wL800Ct*F#rGoa6B;p00DVIF#rSr5&{$g76KRo00AjZF#rSs5dsqe6#^FmC|EIo00DGfF#rGoWo$7300(w&W?^Y`XQU|r?kfNsEC4Pp03500ChVG5`Ppau_lI0strhDggiiDI_ug0s$uhDFG-dGJpU9c`z~n00Ch-G5`PpazHWw00DAFG5`VqECDV700AjdG5`VrD*-J5C|ELp00C}ZG5`PpVQ4Y{00CugG5`PpY;-aJ00D1$G5`PpZ-6oY0st@pG64VqDU31z0su4tHUR(uDVQ<<0s%7tH32A|GJpU9Wu!6y00C{TG5`PpX|yr`00DHmG5`VsF99(DC|{B?fWR^U00CvjG5`Ppbks5c00CjzG5`VqH~~5V00AlHG5`VrHvu^TDC{zT00DIJG5`PpZu~L;00C(NGXMYqZwNC000D3gGXMYqUlcO{00CzjGXMYqZXh!N00C(xGXMYqbSyIf00Ch#GXMYqZ#Xjm00C@1GXMerJOMrd00AjVGXMesI{`fbC{Qzi00DAVGXMYqWneP^00C!aGXMYqWo$D500DGzGXMYqZg?{Q0sue(LID5)DTFfs0s%h(K>;X=Gk^dAXOJ@h00C~AGXMYqX`nLz00DBQGXMYqbgVM~0suq-Mgaf;DY!EL0s%t-MFA+jGk^dAWyCW800C^yGXMYqV$?GL0su$>N&x@?Dc~~z0s%(>NdYM4Gk^dAW$ZHm00C|GGXMYrVQJbk0Q@rm00&`WWM*k|bWAb;hB5%)G5|y~0Ddz7vNHezGynhrUko$=0sw3QZUF!RDKInu0s(6QZ2>4YG=KmDa&vSZG5{(x06a7R0sz(k)BpehDO5B70|49r-~iqL00AjrGynqu+W_AH-2fH2?qsVeB;k00D6FH2?qwY;R&^VJH00DCDMmH`0Ri&>C`vYf00C=IHUIztV^}r-00CiMHUIztVq`V|0Rr&=C|^J}fNC}X00CuiHUIztV|+FM00CiwHUI$t8UX+SDULP(0Rb5SD3UgS00DWJHUIzuY;=e=0H8Ji00D5OHUI(u3;_-S00AksHUI(v3jqxQD7-d+00CseHUIzva&2xlHUO|T0L(T30s!a$>Hq)%Dd08$0s-d$=>RC^Hh=&DZtOMy00Cw8HUIztbo@2|00DFYHvj+uVF)(>1ON~L5&;we76AYODHJyV1OX2L5djkc6#*z7H-G>EXe2iP00Cn%Hvj+uVK_Gc00Ct_Hvj+uUqm+m00DAJHvj?vbOCk&00AjhHvj?wa{+Y$C|oyy00DGjHvj+uZfrLI00D1uHvj+wY;ST7HvmvK0C+b50RZd(00AkCHvji{T_H-G>EYnC?v00Cp3Hvj+uVWc+z00CmEHvj+uU$8d-00D5eHvj?v?f~!r00Ak&Hvj?w?EvopD9AT}00CvrHvj+uZrC>f00DL0Hvj0RjC0DDF3a00C?CHvj+uWBfM&00ChFH~;_vVhA_@00CbPH~;_vXcRaA00DCvH~;_xZ*q0KHvr@}03bL31OWB``T+O<`~Uy}DKt0$1OfE``2hC-`v53DIDh~FbVN7+00DARH~;_vWmq@>00DDeH~;|v0s#O4a%wmL00D1qH~;_vbaXfX00CioH~;_va)3Ah00Cu&H~;|vOaTA^DUvt<0RT<`00AkSH~;|wO#vvNIDh~FbEY@|00CvLH~;_vY_vE400CmUH~;_vVZb;500DHyH~;_vU(7fF00CywH~;_vZ`e2h0Rl?_C|{O1fZjL&00DXAH~;_vVemKr00DCLH~;_va{M>|0RT_|00AioIRF6xPXQ0RU7100AjTIRF6xQvoPUIe-8GWl}i+00C`UIRF3wX<#`300DGnIRF6yQ2{7lLOFnJIRF3wWpX(H00DG00D2VIRF3waI`r900CdRIRF3wXTUiC00C~sIRF3wY0NnQ00DH;IRF3wVc0nU00D2_IRF3wY~(or0{~b7S^-=E00AlRIRFCzR{>c8TLCEeIe-8GbN)F100DIhIsgCxZxA{F00CtdIsgCxZX7xQ00CtpIsgCxXDB)V00D0L*00C^SI{*Oy9svLWDY`oV0RbHWD84&@00CvhI{*LycFa2f00DB+I{*OyAOQdYDc(B(0RbNYDB?SS00Cv_I{*Lydhj~{00L!c*gF9BI{*LzaC5Xf0Q@@u00CtNJOBa!1OWyC00Ai$JOBa#0|5mAC>%V100C|yJOBUzX)HVd00Cz*JOBa!Z~<}w00AjJJOBa#Zvk-uC`3Gf00C=CJOBUzV^ll<00L!UI6MGaJOBXz9033UDQY|b0RbBUC~iD}00CumJOBUzdVD+p00C)&JOBUzbBH_u00Cc)JOBUzc$7Q<00Ci|JOBXzA^`vaDW*IC0RbTaD5^Yw00DHcJOBUzX}CN900CycJOBUzU&K5B00D2xJOBUzbkIBi00CdtJOBUzYur2l00C~|JOBUzY3Muv00DCDJOBXzBmn>cDf&DB0RbZcDE>Tv00CtLJpcd!dJH`P00L-f^gI9(Jpcg!CIJ8eDIz@p0RbfeC?-9C00CtzJpcd!bTmBx00Ch-Jpcd!V?aFs00C}BJpcd!bxb_~0RUfT%qH00DHaJpcd!WxPEA01aVpV`XM=X>ww1b984$Gyn=U0RA-q(l!8oHvlF$0D?OJ5Ig{2JOH3P02n<0c0B;XJpcd!I>oUpnqF0RBCI00DUfJ^%m#VGuq500D9qJ^%&)JODrdL;yYjLI6ep00Ai?J^%&*I{-fbLjXMhK>$SnC@?;N00C$=J^%m#bVxn`00Ci6J^%m#a8y1300CcGJ^%m$a&#O%0AM}<0RSNY00DAvJ^%m#Z*)EY00DG*J^%m#VSqjW00DA_J^%m#WsE)m00DH8J^%m#X_!6$00Cc~J^%m#d89r700CjDJ^%m#a70U00D2tJ^%m#bj&^g00CjrJ^%m#a@alq00Cv*J^%m#bmTq&00C+0J^%m#U+_Kv00Cw8J^%m#Z2Ud|00CkGKL7v$VF*6}00LojygmR9KL7v$Ulcz800DF!KL7v$b0j|i00C|)KL7v$Z!kXq0RSTa00DA5KL7v$Wk5dw00DGHKL7v$bWA@000CiAKL7v$ZCF1500DAdKL7v$Z)86J00CxdKL7v$UvNJF00DG%KL7v$YKL7;)Z~$}wb^vk!cmMzaDVje31p#jWa{zS!aR7G!D5gJv00CvJKL7v$ZM;7K00C*jKL7v$bjUvd0Re0PU(P=O00CvxKL7v$blg7x00Cj*KL7y$Z2$lPW$r%!00C|CKL7v$Y4|??0RV0Q00DFaKmY&%We7k300DCjKmY&%W)wgG0RVge00Ai=KmY*&djKdTK!5-NJt{x|0RVmg00AjDKmY*%fB*miDMCO10ReviC`Lel0RVyk00AjfKmY*&fdD92K!5=QeE=vtJv=~wOh5o$KmY*%ga7~mDRw{r0Re*mD0)DE00BLKKmY*%h5!HoDULt@0RV^q00AkOKmY*&hX5#?K!5=Pg#ai$l0bl>KmY&)Av`@kGC%-kKmdq90IEO$00DBgKmY&%Z^%FZ00DH)KmY&%VbnkX00DB^KmY&%W#B*n00L%k8bAQ%KmY*%dH?_cDfU1B0RedcDEdHv00C?OK>z>&VF*D000CnTK>z>&ZxlfQ00C?oK>z>&Um!sM00DC*K>z>*WOQ$7=sy7dKLG4N04zZO00BBOK>z^(i2yo8L4W`OWlBK+00C`MK>z>&X;?u300DGfK>z^&iU0rsa%w>U00CicK>z>&WpqIR0RW2t00C%#K>z>&bc8_w00C}_K>z>&Z;(L%0RW5u0sxKxkN^MyDWE|B0s)Nxj{qp9L4W`OWvoE}00Mb*oIwD#K>z>&VZ1>A0RWN!00Ak?K>z^(kpL*rL4W`OJ=Q@00RWT$00AlFK>z^&mH+?&Degf40Rfc&DDpvo0RWf)00AigLI42)mjEaPLVy7SlK?0@J?KGz_(1>)LI42(ng9R+DI!7u0Rfo+C?-OH00BKLLI42(oB#j;DLO&`0RWx=00AjPLI42)od76ELVy7Rn*b<1K0<&_LI3~+Av`@k-a!BoLI5;E09HZ(00DAhLI3~(Z*)Qc00DG*LI3~(VSqva00DA_LI3~(WsE`q00D54LI3~+d2M8GdO-k|K>)@<0GL7m00BClLI42*p8#JvWI+J1LVy4PWwt^900DHuLI3~)Wnq**0LVfB0RSWb00Cy$LI3~(Z`?uv00Cd(LI3~(W#~cx00D6BLI3~(dGta600DIRLI3~(UjRb@0RS!n00Lxk215W0LjV8)We`IE00DFwLjV8)av(zh00CttLjV8)b1Xvu0RSlg00DV8LjV8)VLU?s00DABLjV8)a!5k}0RSoh00C}PLjV8)VOT=|00CuQLjV8)Y-B?K00D1mLjV8)Z*W5Z0RSri00C@#LjV8)VSqyb00Co$LjV8)X^cYv00C!`LjV8)Z>00C^CLjV8)Z=^#200C~QLjV8)Z?HoE00DBgLjVB)EC2uja>7FZ00CvjLjV8)Zp=df00C*zLjV8)Vc0_e00DH~LjV8)ZsbD%00L-lyh8x$LjVB)E&u=lW%@$^00C|OLjV8)X#_+700DFgL;wK+EdXB-L;wH*WfnvL00DF!L;wH*VI)KV0RS%m00DF`L;wH*ZZt#y00C(_L;wH*Z$Lx<00D4DL;wH*Ura;*00C!GL;wH*ZdgPB00C)UL;wH*bYw&T00CiYL;wH*Z*W8a00C@vL;wK*FaQ7na)Lwv00Cu&L;wH*XN*Ju00Cu^L;wH*beKc{00C~EL;wK*G5`PpWvWB~00C^SL;wH*Vzfj600C*bL;wH*bihOa00DBwL;wH*Wz0kX00DN=L;wH*ZrDTs00D2_L;wH*W8_2t00Cd>L;wH*a_~d|00D3IL;wK+F#uouL;wH*c>+ZM00CtRMF0T+GynhrcNRqe00CthMF0Q+X&^-a00DL;MF0T-GXP&KMF0Q+Wimwo00Cq=MF0T+H2?qsaz;e}00Cu6MF0Q+Vo*f@00C`QMF0Q-Z*@RL09-`?0RT1t00C!gMF0Q+Zg52a00C)sMF0Q+a(qPq00DG@MF0T+Hvj+uWsXGv00C^0MF0Q+Vwgn$0RT7v00CvBMF0Q+ZKy>600LoYo<#tzMF0T+IRF3wWxhoK00DKvMF0Q+Y{*3b00CjnMF0Q`VPa!sW@&3~b98o2LjZO|0PsTqDntN$L;$2j01!n0VnqOmMF6x#0MtbQ00CdxMF0Q-ZgVn200>3^0RSZc00C?mMgRZ-VH`#P00C|yMgRZ-Zzx6p00C((MgRc-NB{r00C?aM*si;ZxlxW00D0rM*si;VjxEV0RV{s00Aj1M*slf9!MgT%c08~i;00CcGNdN!=WoStN00CoeNdN!=a&$=m00DJ+NdN!=Z-7Yv0RSif00DB0NdN!=Z;(j<00DHCNdN!=VVp?-00DBMNdN!=WvEF200DHaNdN!=X|zcI0sw{rgaQBoDZohp0RWT&00Ak?NdN%>lL9EvNq_DC_TnWfYwO>0RWH!00AlNNdN%>j{+$0Nq_(WJoZTd0RWN$00AikN&o=?kpd_PN`L?XJq}6$1OUnc&H~H=&;kGfDI7`w1Odqc%>v5;&jKhWN`L?XT`Wof00cceAzR)_0RBk;7D@m*N&o->azIJ|00D1ON&o->bXZCN00CiMN&o->a%4&X00CucN&o->aBxZh1OSKvi~@=RjsgGyDSS!*1ObNvivo!PjRGi!N`L?XWsFJy00C^8N&o->VxUR@0RSum00AkiN&o=?D+4I7N`L?XWwuHH00D5mN&o-?VR@!X0K`fF0RWZ)00Ak~N&o=?l>#W(N`L?Xa^6Y+00CjW$a1-0RXQ800DCNN&o->Z~RIC00DFYO8@`?VF*hA00D9iO8@`?WfV&Q00DFwO8@`?X&_4g00CbnO8@`?bSz5%0szti)B*qjDL6|20s+wi(*h_yOMn0Yb3{u300C}JO8@`?X;e!900CiIO8@`@b96FG0ANc100C}hO8@}?wgLbFDRxT$0RgoFD0)kP00C}*O8@`?X^2Yz00C!?O8@`?Wt2+*0RXrH00AkWO8@}@w*n}nOMn0YWU5O500C~YO8@`_Y;R&^@=5@3O8}Zn0Juv41pt@=ngX5zpaPr%00Ak`O8^A{mjamrodTZ%n*u1@OMn0YW#UT!00DFIO8@`?Vfae`0RW}~00AikOaK7@r~&{1DGp2k0Rg81C=yJ700DFuOaK4@ZXiqm00C(xOaK4@Xe>+s0Rp80C|?LnfHF(~00Ct0RSKa00AkWO#lG_9|I_)O@IIaa;i-L00CvPO#lD^XShuO00CvbO#lD_Y;>AU0K`oI00C~wO#lG^4g&xIDcVf{0RRvK00AlFO#lG_4+ALZO@IIabM8$500Cw8O#lD^Z2V0C00CkGP5=M_VF*qD00DFkP5=M_UldLN00CwiP5=M_Zy-(p0RjyJC|}-9fF@1=00DU{P5=M_VK`0z00DA7P5=M_azsu50RR#M00AjbP5=P`5d$bxPJjRbZdy(N00CiQP5=M_WoS+S00C@nP5=M_Z*)!o00D1$P5=P_6axSODTYn}0RR>Q00AkGP5=P`6$2=gPJjRbWtvU^00C{HP5=M_X{b&B00DHaP5=P{69Xt;icWyEP5=M_Wx7rP00DHyP5=M_Va!ed0RR{S00Al3P5=P`7Xv8VPJjRbbmC3`00D05P5=M_Y4A<}00D3IP5=M_aQsdH00CbDPXGV`X9!OK00C|ePXGV`X%tTY00DFwPXGV`VIWTc00D0%PXGV`Y%EUz0{|KW90MK$00AjDPXGe}83P*w9RnypPk;acb4E`900DJUPXGV`Z&*(N00CuQPXGV`Ze&jY00CucPXGV`XK+sd00D1yPXGV`ZG2Av00D1;PXGY`A_D*cDUMG70RbTcD3VWr00DBCPXGV`WuQ+000CmAPXGV`ZLCiK00DKfPXGY`Bm)2eDZWnt0RbZeD8f&G00C#nPXGV`ZqQEv00C*%PXGV`a@BtF00CtjPyhe{Z6r_t00LoY3{U_nPyhh{DgyukDLPO90RbrkC_Yet00Cu0Pyhe{bxcqI00C@LPyhe{VOUTA019bgVq|7$ZgX^Y)J*_NP5^*T0MbqXGEV@APXM@20O(HuFi-$qPyhe{Ut~}K00VAxb4pDBa!mk^Pyhk|vI4XM00AkYPyhk}u>!LKD5y|?00C~UPyhe{X}C}T00C#dPyhe{WyDYb1OUDQzyiVo!~y^TDbP>=1OdGQzXHJm!vZMUP=EjdXy8x)00Cp}Pyhe{Vf0V{00CwCPyhe{UjR`600D9aQ2+!0)&klB*aF-F00AiyQ2+!1)dJZ9*8&9M00CqoQ2+n|ZZJ^*00M7m3{e0!Q2+!0-U8wR-~!|V00AjRQ2+!1-2&kP-vZ+TC{R&=00CrHQ2+n|Ze&pa00DJsQ2+n|Z*Wln00CllQ2+n|Uwlyj00DA>Q2+n|Wr$G#00DQ7Q2+n|Z;eD*Da26#0s-j)>jEgsQGfsedC*Y+00CjzQ2+n|a^O(_00DC5Q2+t}?gH=v00AlTQ2+t~?E>!tDELu;00D0PQ2+n|VF*$H00CtVQUCw}Y!p%e00D0rQUCw}Zy-_t0s!&?^a20@DJ)U|0s!^`_yPa{DL7I90s-{`_W~$BQh)#fWkgZ{00C`IQUCw}X;e}G00DGbQUC%1@dEP#C|@#CfM8Mp00CuYQUCw}baYYx00CioQUC$~`U3m{00Ak6QUC%0`2za_D2!5o00DH8QUCw}Zk$p800C*DQUCw}Z>UlL00D5WQUCw}U$jyH00C#ZQUCw}ZopCi00C*nQUCw}bj(r!00CjrQUCw}Z`e`*00C^?QUC$~{sI6400AlLQUC%0{R002DDYB%00DCLQUCw}WdKtE00CzPQvd(~WeigQ00DFoQvd(~ZWvPl0ssO71Oos8DI`+>0s#R70|O{3Q-A;gXE0L$00C|~Qvd(~X+To|00DAFQvd(~bWBqK0ssaB2m=5CDOghg0s#dB2LmWxQ-A;gWn@zT00C@nQvd(~Vsujg0ssmF3m1OYt*K?6SnLjx!hRDb{ha~MBZC|?3pfGku100DF|Q~&@0Wkgf}01R(*V`Xq@VrFb}VP|$q0Ln@LzDod_OaRbK0F+Pw%1{72Q2?4z0KQQG?o$9tQ~&@0I#5&q0Rlw>Upl%;0D@G200Cu)Q~&@0Y?M?000Cl}Q~&`0VgLXEbEZ@P00C#JQ~&@0VX#yH00C^aQ~&@0X1r7Y00CdZQ~&@0bjVZy00C^yQ~&@0b<|V<00CjzQ~&@0X5dr+00Cv@Q~&}1WB_IW00AlTQ~&}2V*q6UDEL%>00DCTQ~&@0We8OO00DFkRR911bQDzp00ChdRR911Z6H+u00D9)RR911Z!A>+00Cw)RR911UpQ3&00C@1RR911ZA4W700D1GRR972XaH&e00AjhRR973X8>scC|p&500BH=RR911JZx0}00DAxRR911Z+KMz00DG00D58RR913WOQ%rQ~*#_0Gw3-00BCpRR942YXCa1Re%5ia<)|f00CvbRR911bi`Ev00DH$RR911VbE0o00C{*RR911a@D4^0DZ*9&0RgB0D8^QR00BMBRsaD2s{jB2DcV*50RXK400AlFRsaD3tNtADpvqZR{#J3a#&XY00D1mR{#J3bZ}Py00CikR{#J3a(q_+00Cu!R{#J3aEMm`00wAnb8d8R7FGZ_RsdR70F+h$yjB2?R{#J3I+Rxc0RXoE00DEfR{#J3Ww=)W00DHqR{#J3b;MTy00C~wR{#J3Y0y^y0sy%Hy8r+IDcn~80s*)Hx&SERSAYNkbm&(A00Cw4R{#J3bNE*P00CzHR{#J3W&~IO00D0bSO5S4Ul3RT00CtdSO5S4Z5&tt00C(tSO5V4y#N3KDK1z50Rg-KC^A@p00BKXSO5V4zW@LMDMnZT0RX`O00AjbSO5V5zyK&zSbzZl!vFvQDPmXv0Rh4QC}voI0Rz4OC_Ft%Sb$ns0Bl$Q0RY7S00Ak4SO5V5!~iIWSbzWlJ&sra0RYDU00AkSSO5V4$p8QWDW+He0RhMWD5_Y10RqMVC_SK9fUsBq00bdCJw8BK0CZRYmRJC|SO5S4a>Q5w00D2-SO5S4blg|~00Cj*SO5S4a_Cq900Cw0SO5S4aP(LJ00V7wZ`M};C|CgcSO5S4IsjP!0RhSYIu2QY00DFqSpWb5WgJ-m00DC%SpWb5W++(z00Cw$SpWb5Z!}o|0RpxFI$y3=fI3+K00Ct{SpWb5ZA@7J00UufX`oa909F7}SpWe5F9HAob7olp00C!eSpWb5VQ^Uh00C@vSpWb5W_(!y00CcuSpWb5bck6100C@{SpWb5b(C2E00Ci|SpWb5W}sOB00CvDSpWh6F#&aV00BHAS^xk6JSK00CdFS^xk6Y_wVc00C{fS^xk6VZd4d0RTn=00DE%S^xk6XV6*z00CjvS^xk6Y}{G^00Cy=S^xk6U+7u@00DIFS^xk6Z1h?H00DLSS^xk6VE|hI00CwOTL1t7Wei&Y0su$@N&^4^DHvM-0s%(@NdqVzTYvxoawJ;-00Ct#TL1t7bTnH400DG5TL1t7VL)2|00C`ATL1t7a!gwQ00D1OTL1t7W>{MQ00CcKTL1t7Ze&{k00D1mTL1t7b8uS#0su?{P6Ge|DSTT10s%_{O#>)`TYvxoJcwHW00BIbTL1t7a+q5H00D2FTL1t7bfjAV00CjDTL1t7a=i90Rc|~I@Vi&00DB`TL1t7W#n4`00DIBTL1t7bnsgM00Ck4TL1t7ZTwpR00D9WTmS$8ZwOof00CwWTmS$8Uld#b00C|qTmS$8Zy;O%00DC*TmT6GQ3G28R|8W6T?1bOSp!uAVFLgGDKcCD2?0<8S_4)CQUhEAUISPIR0CiGC`Md>00DVSTmS$8Wn^3c0RUqI00Aj*TmS(9Vgo32Tz~@rYXfZqZvy}UDS})80|0RYa|3k)00AkGTmSygD8^iX00BMBTmSmDgIml0|0{qg#(8J00AisT>t|Cf&+vDh65-RU4R1ud;@+1fCDH!23>#}T>t?9mjeI+DK=dI0Rff+C^}t$00DPET>t<9Wk_8B00C)ET>t<9c2r#e00CcGT>t<9XJB0b00C}hT>t<9X>45p00DAxT>t<9ba-6=00DD;T>t<9I)q&S00BCRT>t<9WRP6|00DHCT>t<9bDUiO00lfDJw70+TmaZy0Qg)0CS3rcT>t<9a;RMZ00D2lT>t<9bi`c%00CjjT>t<9a?o7>00CvzT>t<9aNJ!00RV^t00DC7T>t<9Z|q$F00DIJT>t<9VfbAD00DCTT>t<9WdvRT00DFgUH||AX%Joj00CbXUH||AbR1p)00DC%UH||AZYW*=00D0|0RWW)00AjTUjP9ClmjSCUw{AsXi{GQ00DGbUjP6BXJB6d00C}hUjP6BWo%yn010bvV`*Y#b7X94Tma%-05o0zVqO4@UI5Ns02*HaLSF!KUjP6BI(T0I0Rfr=I-XyE00DWVUjP6BWvpKS0svbDT?GIEDY#z%0s&eDTm>k;Uw{AsY{Xvx00C{zUjP9BUj+aGDcWBE0RdhGDBfRy00C&^UjP6BbnIUM00Ck0UjP6CZ*bIK0Qg@300DIVUjP6BUkG3T00ANnU;qFCA{1Z%00D9uU;qFCZy;a*00DF+U;qFCVJu((00D9`U;qFCWjJ5}00D45U;qFCZ$w}K00BBmU;qIDUvg00C@XU;qFCVPs$c00DApU;qFCWpH2s00DG%U;qFCX?$P+01swvaCTv1WNB}6ba`rPY`6sgQWpRuC;+-K0A@Y_Ha`H)LI4g%0DwjShDiWeSpddb04!VpvR?p#U;qFCI*4EZ0|ILRV*q6UIw-JJfcR8^00DB$U;qFCW!zu@00DI3U;qFCbm(9J00Cj{U;qFCZS-IO00DCPU;qFCZvbHc0RTb*00AisVE_REK>{ccVSoSubQWO%00D9yVE_ODWh7w$00DCB00Cu6VgLXEb5LRc00CiEVgLXEWn5wa00C@bVgLXEWoTjm00DAtVgLXEZggS*0RTt>00DG>VgLXEVT57;00D4{VgLXEZIEIB00D27VgLXEW1M0D00Cd3VgLXEbEskf00DQdVgLXEZ?s|n00CsWVgLXEZopyy00C*nVgLXHW^i?P=wSc~VgPz#0L)?l00CdpVgLXEW#nQ200C_3VgLXEV(?-B00Ck4VgLaENdf=?a{^-k00C|WV*mgFZwzAq00C(dV*mgFbQog*00D3wV*mgFWh7$&0RTz@00DC_V*mgFb2MWB00Ch-V*mgFY(QfG0RT$^00C}HV*mgFZ%|_Z00C)MV*mgFbX;Qq00CoSV*mgFZfIiw00DJwV*mgFW^`i!00CcmV*mgFWq@M<00Cu&V*mgFa*SgD0RT(_00C~8V*mgFZ=7QQ00C*DV*mgFbf{wh00CpJV*mgFZnR?n00DKnV*mgFX24?r00CddV*mgFa?E1@00CvvV*mgFV%TE<00C{@V*mgFW#nT30RT+`00D0BV*mgFZ}ejT00C+GV*mgFbO2-k00CnLWB>pGZVY4q00DIpWB>pGW*B4u00CbfWB>pGVpGbTDK900Ch(WB>pGbUb7L00d)ZZF5Fr0Fq+>>SF*xWB>pGUr1yC00CrLWB>pGWng3g00DGnWB>pGa%^M(00D1uWB>pHV{j^C0C;2o00M4!{9*upWB>sGP67Y{d6HxR00C^4WB>pGZk%KQ00D2JWB>pGU#MgN00DBYWB>pGWwc}f00CsWWB>pGVZdYn00CvjWB>sGPXYh|Zqj4`00D2-WB>pGY20K000DI3WB>pGVd!K400DIFWB>pGZuDdT00CwCWB>pGZ2)Be00CtNWdHyHYz$=p00D3kWdHyHZ5U+$0RT_}00CtrWdHyHa42N}00DU}WdHyHbTnlE00Cb*WdHyHY(QlI00Ch}WdHyHZcJqW00D1OWdHyHX;@_d00DGfWdHyHaAaiw0RT|~00CuiWdHyHaCBt=00DV=WdHyHbbw_500CcyWdHyHbc|&H00Ci=WdHyHZu>00L%dq-6loWdHyHU)W^;00C^`WdHyHZ0KbG00Cj{WdHyHZS-XT00?GbV`XS*Z*vA=05)L&s$l?#WB|-$03KxkYGnZWWdH#HR0042DeN5W`F7XWPlIw)VRSAd{afWBq`00CvhW&i*IZQN!60sxZ)CIJ8eDd=VZ0s@i*B>^a8?q-0@9{>OWW%OnM00DFYX8-^JVF+gc00CnTX8-^JZWLz#00DIxX8;BO`~zwM5CSX%P6cxU00Ai`X8;BP`vYkK4+1L#O$BlSC^Tn)00Ct>X8-^Ja7xf&W&nz20ODoHnD4b`200C&CX8-^JW4LDk00CjXX8-^JWyEIy00M1agl7QCX8-^Ja?oc000MMp0yh8(EC2ukZ(*ti0N`f;00nPsa%o}OX8`JF0C+b5Hcjd)z?F8=x@dP?3IuC$O34j0rcNk~@00Ct#XaE2KX*6g600MM&RtEq&XaE8O69nl5Upgp2XaF=9fIJC+00Cu6XaE2LZe$W@092trvnWI4+X&l#RNY9LjXMhK>$SnD9&hr00C&!XaE2KbOdPt00ChNX#fBLa1dz#1^{dUZUHU>G6OIJGy?zuDI9441_EmVZ2>IoR{DFM#`>jE1EC|YTN00DVmX#fBLVR&f(00DA-X#fBLa)fCB2>`kSECJF1?gG36E&X#fcTz5_4;)&cSYzymS?*a7qcAO!#cDduSa2>`+aGy&QH_5#EMHUZoL_yQsY00AigY5)lV!2>e^*#Y$e!vi$|+X43iAq6NDYJdO%Wg2P#00C_>Y5)KMX*g;C00DG9Y5)lWy#p@+)dBGWzXLG=*8%ea9|b61`e}efY5)KMWlCxQ00DGnY5)KMVQgvu2>`|eI04=P`U1!UIsxDT`~oBe00Aj@Y5)lV#RE41-2wRm#{)S5-vRpqBLygoYJdO%bdqWS00C~QY5)KMX|QSl00D2dY5)KMaJ*^&00CdZY5)KMXUJ**00C~!Y5)KMY1C=}00DH`Y5)KMVc=>200D32Y5)KMZ0u?P2>{9iJOSbX{sPPcJ^|zb00Slk00AlZY5)lV$pbq9;Q{>u%L6?D;{pEyB?Tx9Yk&X&auRC*00CtxYXATNXE19300Ct-YXATNbUbSS00C}7YXAuV&I3RJ<^ci&&;vpN=m7)+C_Ch0|O@oC}L}X00C!cYXATNZh&h500C)+YXATNa*S&L00DH8YXAuV(gQ>R>H!7=)B{EV>;VV^Dg^)mDV}Qp2?5aqLjmal1q0IqMFHyp2LmYuD6(sS00CvVYXATNY|v`}00CmwYXAuV)&ocZ?g0t|*aJ!d@Bs`1ECm1oDdKAY2?5muM*-~t2?N&yNdfNx3j-?!DE4cB00CwEYXATNZ4_((00LoY+-m?DYybcUVPa%vX>)XnX#n790CH*o@@fD`YXF#Q03d7t0|2rEv;!Ii00AjTYyblTu>-RM83kV`b1G~AP;7u49smFZY;tsSaOwj9oM-?rX#iGi0PGzA00M4!vIGFO82|tQWq@n|1^}!Assi=^`T+O<`~Uy}DUfUc1_P@CsRH!?`2hC-`v7GqUl2n8o@{_5O#lD^bfjzm00DBoYybcOWyEX%00U%nbBb&LSOx&fYybrS+yhJj@&OJ5Fa-bsDc)=V1pwXyP66}*5Cbv=00AlRYybrT-2+Vl^8pV7F$F06Y=8g(a{_Gu00CtZZ2$lPY#40-00CkiZ2$lPVI*w;00DF=Z2$lPUodR|00Cw;Z2$lPZ#-=P1_IjyO9Al#4FfL)DF7&6>TG~QZ2$lPc}Q&l00CiMZ2$lPa%61)00DApZ2$!T-~&(r_5l(DGz9gZGZp)ZisCF00Ci|Z2$lPWuR>U00C^KZ2$lPZ>((q00D2ZZ2$!Ty1_I#&Q33Y>69Y8`EdXCA^lbnJZh!y*Wejcr00DF&ZU6uQVJL0@1pwv)RssA07y~*500Aj9ZU6=W!00C!qZU6uQZhUS400C)&ZU6uQbck*M00Ci+ZU6uQZ}}1OgxfLInT;DW+}!1_AE_T>%3E9|J)JFaRjBZh!y*a=2~)00CvnZU6uQXV7i{00CvzZU6uRbZp#i0Gdqz00C~|ZU6-U@&jN21_B}jLQB?CtVHvlMxZ-4*+WsGkC00C^CZvX%RVx(^X1pxR1W&sQWC<96b00AkmZvX}X_XA}C3j!wtNd-6nD7;qT<{s9^TJ_YClS^)q890TeDTmb?C9s@iD00Ai`Z~zbi?E^mr>jPH-{Q(&RJq70jSpok68w2SBTLA$A9RoWBC`fRC00DDOZ~y=Sb#!n500D1$Z~y=SWq@!100C}>Z~y=SWsGnD00C!`Z~y=SZb0JJ**{5t?paR2}TWnggt0sxr00DKvaR37VCj=w`=mG!%Db8^K0|6!kBLU|EDAsX+00Cv(aR2}TdgyTg00LrTcpU(&CIA2ibZ=#7X?2ou0LXCwR8|1=JOJ)-0Q7MH2>@#Z1Oc)Fump<(Z3G4Zv;wjO00Ai&asUbeY6JrTu>!9IiUVu}1p%`Hu>?5+C@gY-00C|?asU7UX-ske00C!GasU7WZ)IWF1^`%c09rf%2Lg!zZvb-ubpUYycK{dwIw(XzfTlly00CueasU7UZG>_F00C)=asU7UbdYiY1p}V|jR21T765DjUpgq3asaSGfTlr!00L!UoN@pzUjP6Cba}LL0GvSp0{~(GF9Jpb00DEzasU7UXV7v000CjvasU7VZ){{g0Nio_00Cy=asU7UU+i)K00DIJasU7UZ1{2j00DLWasU7UVFYsk00L%n3UdI~AOHXYVP(E@01$Hk2LplvW&&seY65TqYyxfqUpgpm7XS_#fV>!h00DF)a{vGVZa{MY00Cu2a{vGVZcK9k00D1Oa{vGVa9DEy00C`Ya{vGVZ)9@-00Coaa{vbemINFGBm^P^9t0o+I|5%iC~$KCJRpFI9Do1;Xm)b|0|Mm)nFN~zIw&3|fCeOh00DHEa{vGVY^ZYp00DKba{vGVbF^~+00CvXa{vGXW@U1eAOMab0Kjtq2?ALFO8{2@Qvgo@NdQp*O#oE@C|_tGfW~tG00Cvxa{vGWb7k;z0KOam00MM!l5+s|a{vGWb8r$U0R9{R1OV;;q5|*$qyhi|DHL=71Oe>;p#tv!qXH-%bbtT>Wh8U}00C|?bN~PXWpxU40626200d!jZ*>5406ug8yf*+KH~<0w2n19G00AjlbN~VY2Lw|EC}4De00DGnbN~PWV{mi;00CikbN~PWczkpK0ssmGRs{e7DTs6c0s#pGRRt)HbbtT>a+Guc00m}YbY*WaDF8+(09+{mf^-0$bN~kc1_V+CrU9Stw1q4wAr2(G-p#i4>qXAz!D5P`%mN9_JbbtT>Wzcj000DLGbN~PWZ1i*h1po{L4g^>Q5Cjqg00AigbpQnc3j_@WR|O9Q5d=V00Ct}b^rhYXGnGc00C}Jb^rhYVN`Yi00wVtVr5}yoOJ-qbpQf(04#O@_%#4pb^sLsV*{1|tpJAv*Z`^lkOF7`H3CcnfB@(OY5+F^P6NRJS^}U1KLSVqjR61wDSCDQ6#-%cl>n>&h6L9DsR54yX8<$;O9OuZ=LBg0HUdopzyMhSp9DSvM*xfgD5iFR3jk{at^u$ClmM#$zW{9mZv(OcegKOB00Al7b^r?iaRamgwgH#`uK>dUa|3k)xB-Fyj{yJyDf)H*3juHgvjMdMmjJE+!T@pubOW~mfdGyHC=z#o3j=BctpTqAlK`p!z5r|kZUeCaeE^C9JSaV^b^!EtfEafG5&&fbk^rdyRRp~N+5nOQX9H;iR|HuEtN~jDT?Bjp`~-Ufi2(osDOh&^5&>ibkpQRwR0O;L*#MCOW&>ygRs>iCs{vXBTm*Xn`viIdhyf^mcYpu^J%o1v8vu6$x&fL1u>fBL#Q@v@lmZ3?c>{X`VFY6Yya8ndX9NHR0tJKs-~j#v1O*BOeFEM9kpTz=00AkqcK{m!b_2NqnE=0BDK2;b69Pm8U;@b09JT_3jlosz5&1ioB*=`#{ho=fdj$;h5(ZR00AkCcmN9kg9F3?#sQuHwE)Qgg#(8J$N`7|l>q<&DXMq?3ju-y!vVzsodC1|$N+=`h6Bd|hX9lTD8hJv3j%xty#c=gn*g!^#sGc;fCIq+g#eNPC_SWjfXH|N6aX0nfB_o>f&mx>$^y&;t^>{j$OO;?%mNYx&IGUn&;k?%76r-#(gXkjDFk@{6ag3ne*qc=Il&jJ$#6$Qxz(F7n+bZ;W{W00ee(aCF)#04f*&3?cwvA^-pZAeeao00DHWc>n+bbFg^;00C~cc>n+bZ@hT`0RnymUnp8#0LU7E00C#nc>n+bZq#`I00C**c>n+ba^QIY00DI7c>n+cb9d}{03;g#00BDkc>n+bI{bM600CqIdH?_dX>`yR00?>j00&}Yc5`lUbdq@h!g&B*I07&NG6Fg%a9V)4S%3fma*}!g00Cv9dH?_cbf|g&00DHadH?_cVYGSx00C{fdH?_ca=>~300D2tdH?_cX3Tm300CdpdH?_cY}k4L00C{@dH?_dWnpwd0OWcA0Rf=^bF^0g00Cw6dH?_cbo_b%00DIZdjJ3dZU}n-00VDnVUR%p4toHaJOBp(m;&SgngX5zpaSLqoB{v=DI$9S2LYD?;{cfgodTZ%Bme>c@&Kj+00AjtdjJ3eVrXPG04z)Z0s`>>r2;5lXnTNedjJ3dWq5l400Co$djJ3dVT^kK1OSr*6$Baq<^li#DVTcz1Obu*6a*Oo7|d8m5;00L}ul6wHQdjJ3daJ+i}2>^2h3<0_VxCD&@bp#FpyaKue00Ak?djJXnas&$jxdOKYj01E84FS6Xxdb`_DByd500Cs?djJ3fa&2x{djQ6J004Xd3IGxU6ashw76KRodI2^AIs-TZJOcm$DHMDF1^|2kegQrMLIXepL<0Z;DKLBh1_65keE~fKK?6SnLjx#2e1HG}b3}Xq00CiEd;kgp5dsqecL5aw7XoBZC|@dkfLwe400DGjd;kCeWq^DD0RU4100C}{d;kCeZ;*Td00C*1d;kCebewzu00Cj5d;kCea;SU&00DKbd;kCeXS93(00C*bd;kCeX25&^00C~sd;kCeZ_IoE00Cptd;kCeAlQ5W00DX4d;kCea^!pf00Cj@d;kCea`1cr00VAfbk0Tq_Iv<#U;qFDZeeC$0Hz-R00U`nW&C^qlu-Z*eEDfS_4)CQUhEAUISPIR0CiGC^~|DfSzA~00DW3eE$y00aR5YHR>7aR7300RC|RUUC2$a{x$m06293V0HkAdI0Kr02F%w7FGZTd;o@g02F-yK79aYeE_a~01SQrixmL26#()T05TQ;ZWaKo769%R04f&%W)}dV7XacH02&woRu}+?7y!l?0QwjJB^dxw832750IC@P*cku~8UQ;Q0A?Bhks1KH8UXhi05lr_UmF0H8vx8300s<06ic8Y#;!YAOOZ70QVpOCm{eF~0BIrsvmyYuA^-;?01G1kRU-gdBLJx*0Ieec1|$FqBmi6_0AM5luOtAoBmf5`01G7mTqOWtB>=M}0JkLo2POauCIDb20AwZrvnBwyCIAB`00$=kOeX+PCjgfx0GlTO;U@s)Cjk5>05K>4i6{V#C;;s!0P!dQL@5ABDFB=)0H7%V)hPf0DgZ4i09z^mhbjPyDgfCk0NpA88Y=)ED*#(70ADKrzAFI2D**c|0RJlhRxAKoEC8@90JJOs2rU2%EdXOJ0B0=#zAXU4EdUrU030p=b1ndPE&z)z0JkmxX0BS*F#xVH0J1Rv(=h=5F#s(x09!HujWPhdG626a0QoWi{W1VbGXPFA0GcxZo-+XLGXU{306sJTLNox6Gysz{0N*qK<1_#;H2^d<097>rgf#%VH2}Re0QWTj`!xVaHULaE0GKuaoHhXRHURcE07EwbM>hbJHvpJ70OU6S=r;g0H~={~08uyqfj9t!H~_#n0K_-|`#1pqH~>pI08cppk2wI7IRMT%0Ma=CB02yjIskP#0C_q9$T|SbIsh&^05UrOiaP*~I{>~r0Kq!||2qH!JOEKV098Byi97&}JOHyi0Jl5<>O27LJOCp-04F^FO+5fnJpi6P0HQqrgKKLEEs0J}c`6hHtNKmbla0DeFKu0Q~>Kmgo80N_9X7eN3UK>$!e08~K$f)Bp0JK2>??C|bK>!&-03AXAUP1t3LI8+D0E|Ka#Xze?MgW9H0Ek8ay+#1QMgZ$Z0PjWsBS!!xM*vYr098i-h(`d6M*y}*0J=v2>_-6aM*tc~03JvHS4aR`NC2Kl0HR0$-ADl8NB|j003AsHT1fz2NdTZp0HjF(>`4IdNdP)Z06t0plu7`YN&wSJ0M|+Y5la9SO8`$x08>irP0Ax=9XioskPXNzP05MPiHBbPLPymxq0QOJ-`cME}Q2=340K-uL$58+(QUESe0A^AEmr?-9QUD2401Zi*9RRGad0M%6hAXWe*RseNY0C`pb#Z~~xRsa=O02x;RYgYhoR{*zCR9OI6SpcM20H|32`dI+}SpYOz061Czb6Nm*S^%nA0Iga8*IEGES^yAR025mPK3f1nTL5%h0C!seqFVr_TL9f#0N`5y3tRvXTmVa408U&0d0YT}TmZ6M0JU5I;9LOYTmTqd02^HZMqL0(T>yPu0DxTpt6c!ET>#--0OVZ&4_*KhUI0v908m~4lU@LqUI5Zw0M=dr4qpHgUjR>E08?K8m0tjvUjX4>0Oel*FJJ&OU;v3=0F7V($Y21>U;qYT019CML}36(VE}<)0EJ-yyC07_#3lVbpvV*uD=0Ni5$A7lU{WB^%Y09|ANgJb}QWB|it0LNqi?PLJ)WB?{*04ZevRAm5IWdM3*0Hb99*ku4PW&kv10F-6`m}UU$W&rPI07GX0M`r+hX8@^Z0Musy0B8U@XaGKF0G4O~nrHydXaF5)03m4rYiR(wX#fps09N18e|YYyh`x00eCSRBZsGZ2UIF`b^twh06}*Ekaqx-cL2n90LOO#|91cbcmP3o07ZBJlXw7^cmUUU0NZ!~9C-jBc>q><09ttffO!Cfc>vLQ0M&T_H+ld&dH|1l0F!zE+j;=sdH_9p06}{IcY6S*djQva0NQ&11AG7nd;mUt0785KcYFYQd;qC@0IYlf*L(omd;k`G02+M&KYaj0eE@`g0Em46u6+QqeE{rz0PuYPD1HDeegJWP0Cj!g#c`Y0B?l=nuP$Kg#g!u0NaHC9)Q-}aphyam@0F{UU&xioihyV0OX1Q4~qa3ivUuK09K0tfr|izivY%p0LqI1^@{-civT-}06&ZXYK#DGi~x{~0L6>|9gP4XjR1j-0ELYJ*o^?(jQ}u?05pyOX^sGwjsTjD0O^hZ?T!FJj{rrF0FjRXm5%`Cj{xeA05p&QIFJB`kN}I20NaoN-;e+_kpMW60EUqOije@-kpS6|04kCIE|LI$k^qB}0L_vB(UJfmlK>@?0Ckf9d6NLdlK{w*02!139h3lWlmK#+0KJp|!IS_Jl>io%0B4l|Yn1@Cl>oVw011`=4VD01mH=Uv0IZe(u$BM;mjDHq09Ka(T9*KjmjJ+*0QQ#v`j-GMm;f@E0BM*2ZI}R}m;k1j0Nj`W;FtgxnE)G^0A-l~X_)|>nE;`g0Kb_4_L%_snE*VR06>}mYnlLWngFtz0JfR{;hF&DngA%904$pTSDOG^n*get0Ir(=@tXkjn*chT06v@mX`BFUoB*1f0G*rw$eaMooB;ov00Nx=Eu8={od9N?0BM~7l$`*WodC+60L`5M_?-a!od7eQ05+ZgVV(eGo&ceq0HmG(&z=C&o&X4+01KZ0HlF}Gp8#&30CArHoSy)op8(UJ0M?%X0iXZ{pa3_Z06L%mWuO3Qpa7hp0HB}%*`NU3pa3AD03@LRU!eeFp#Ynq0H2`%+@S#Ap#UPH04AaUaH0Toq5#UG0M4QS7NY09~U1n4U0NSGf6r=zcqySN*09B*_jidmPqyWmK0M4WU1El~5r2sdj06V1sVWj|Nr2w0y0H37*#H9epr2zh=00O1}KBfRdrT~7X0D`6fx~2fWrU2xo0O+OwCZ_-@rvOl=092;{bf*BSrvR>}0PLp#@TUMPr~ogh09vR3UZ?<#r~r_t0MDoZ)2ILwsQ?$L08yy`RjB}qsQ`|t0K=&O$Eg7KsQ~(^05+-sI;sG1ssMGW0Jf?Cx~c&DssI4106?n%M5_RQs{n(m0LZHV%&PzrtN<3Q08*>~R;&PxtN@X$0Me`g)~o;+tpFUY09&m9U#$R{tpJ^^0O73w<*fiJt^h8s0D7(fey#w|t^m`n03@#fD6ar|uK<3p0MM@h)UN;`umB~n0C%ted$0h_umI7p03@*hD6s&0u>gOu0L-xf(6Im_vH&Ks0C=(he6j$~vH;Vv04B2lDzgA!vjC8@0Kl^V!?OVHvjFn504cNpEwlh)v;bzb0F<-NjlckrzyQy{0Moz#4Z#2r!2n&s0AaxZp}_#8!2spK0O-L08o~e`!T?0V07$|BfWiQT!T`0x0O-O1Ji`D$!vJ-|0C~dzt-}DY!vOHZ0QAEEG{gWn!~lH60D!~*zr+B;!~g-s00qSWOT_?B#Q>1S0F=c5?!^G|#Q;pk08qvNqs9QI#sK=p0RF}RTE_rh#{jLz0I|ma7svn`$N+c90DH&)!^i-~$N&(@02IjpUC97p$pEa$0Il%K${n07%OKfXe`c%K*X40L9Ay2h0Eq%m7Br07}dNgvXpb065J6am@gA%>cN~0KClr_sszN%>Xmb05{G6bj|>H&H%d30KU!u70&<}&j4Z10ACyl>(*Qlw0E^QAkJA9I(*VoU0NB{r*x1)`si~={si~={si~={si~={si~={si|1#=;*1asi~={si~={si~={si~={Sm@~J=&7iwsi~={si~={si~={si~=0=&7iwsi~={si~={si~={si~=0si>)`si~={si~={si~={si~={si~=`si~={si~={si>)`si~={si~={si~={si~={si}B)si>)`si~={si>)`si~={si~={si~={si~={si~=`si~={si>)`si>)`si>)`si>)`si>)`si>)`si>)`si>)`si>)`si~={si~={si~={si~={si~={si~={si~={si~={si~={si>)`si>)`si~={si~={si~={Na*OPsi~={si~={si~={si~=0czCI)si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~=`si~=`si~=`si~=`si~=`si~=`si~=`si~=`si~=`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~=`si{a<=&7lxsi~={sYvMP=&7lxsaUbOu&}VOu&}VOu&}VOu&}VOFc_(+si~={NU5o*si~={si~={sHv%`si~={si~={si~-`si~={si~={si~<*si~={si>)`si~={si~={si~=`si~={si~={si~={si~={si~={si~={czCI(si~={si~=`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~=`si~=`si~=`si~=`si~=`si~=`si~=`si~=`si~=`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si{clsi~={si~={NU5l)si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={sd#v)si~={si~={si~={si~<*si~={si~={si~={si~={si>)`si~=`si~=`si~=`si~=`si~=`si~=`si~=`si~=`si~=`si~=`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={NU5o*si~={si~-`si~={si~={si~-`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={sd#v)sHv%`si~={sHv%`si~={si~={si~={si~={si~-`si~={si~={si~<*si~=`si~=`si~={si~={si~=`si=5(si>)`si~={si>)`si~={si~={si~={si~={si~={si~={si~={si~={si>)_si~={si{bKsi~={si>)`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si{b*si~={sVEQ*05m!}Zf|a70AVvTG-EVjG-EU}W@KVFIb=6wVq-I9H#1^2F*jv4W;hN2G&(wQb#HWKUu0o)WpiI)Ze(9{X>Db50AV&|H8wdgH85deW@9#GV_`I7Fk>}jW?^D8HD+WoHDL|_G&(wQb#HWKUukY;X>MtBX=QU?VQyq!Zeeb70AXcfV>MzqW;kXyH)J+sW;0_rFg7zYIW#vpW;8Z1IXDggG&(wAY;13LUuMn80AVvSI5amiH#Re7W-(!6IWak7WiVneF=RG2VPrF6W;PB0G&(wAY;13LUu|`4bZK8~X>Mg-b98cPZfA1Mn80AV;aV`MipV=!Z7H#uW6F)=wdF=94kVlXu|I5#&pIAaa~G&(wAY;13LUv+M2V{c?-UvqSFX>Mn80AXS{WHe@DH)1h0H8U|cGdE;5WHK@}Gd5#2W-~ZAF=Gw@G&(wAY;13LUt(!)VRCt2X>N37XJvA80AXb~WMXA8F=aC|F=8_?IW#diIXPoxI5B2qGG=9EG%*eUG&(wAY;13LUvFb{VQgP%Zggd5WpZ->VKZbgI5c8oWHx0uW;QuxVq-EnVlgy0IW#q9GBac}Wexx|Iyzx&Y;Sj8Xk~a|WMyM%ZDDL*X>N37XJvA80AVySWi(_rV>CB6G%{v5W;J3qFfleUV`DWrG-5F}Ibsd~G&(wIZe(R{bYF9IVqbJ&Vr*q|0AVy^V`648G&f;1WidH4WjACpVP!I6GBh$}F=b_AWnvBhG&(wIZe(R{bYEd|a$$L2Wo%__Wo~qH0AV;{W->8lWHC20HZeIjWHC80VKFo}Gch+~H)UZtHDV3`G&(wIZe(R{bYXO9Z*Bl#G&DIdH!@{2Fk&<_WH2;hH#9V6GBPzXGGRD4FgP(d4gfSdI&x)fVR&U^UuJA?VRT<`a%E#_b7^mG0AVsPGBY$dIc739Gh#3{IWsq8WHUEoGBsi{V`efiH#lJc5;{6&Z*py6bYEs{VP|syBVjTzFfw6bI51*kH8(dnGh{h7F*q=0Gd5*0W;QftHene6G&(wNZ*FA(VKXx{V>DqjV>B{mWMVftWH)7EV>4wpGh#I{H)S?vI2iymIy!V=Vr*pqVPRonIb|_qWid8pGdM9fHfA_BWH(_sGGbvfGdE#4WElW7Iyzx;a$$J@VP-LAH!(9~Ib|>~FlIGmGiEY4Fkxh3WHB-{WM(vGH5mXjIy!T7a%pa70AXS@HDhLGWiU82WMngBGB9L0GB{#oWjHluH)1emGBFtdG&(wIZggd5WpV&vF*P@2VmD-FH8U_UGBY(dH8n9cWHUB4V>x0rH!@{782~goI%aHdVRUJ3XJ2q{X>N1?VKX>4W;bItGB9B>H8y5sW@ck$V>dKoF=aO~I5A-|VHp54Iyz!+Z){~@ZUA98G-WblHZ*24IA%9EVqr67VKrkpFg0OfHDNMjVKO%v05m!}WMOn=0AV#|V>dH0GchqaFg0UhGB;&7GGsP4W;A9tH8C+}H)a_CG&(wTX>DZyVK6siV>UT7VmV?nW@9!pHa9UaW??WmVm3K4GGjC{Vio{3Uvz10WdLM0F)?E_HfA_wHZ^29WiT{3VP<79HZ^2rF*su~HZ&6i0AF-@aAg2)VQpn|aA9L*bZ>2JE@*UZY$IV}VPi98I5c8nW-(?mV>vK4F*jyoVKFc_Ff}!1G&p2}0svohd2nR_ZeeX@b8ul}WprvlvW??ZiWM(okWM&@#G&(wFZ*py6bYEd}UvFb{VQc_lWM*SBHa9jiH#Ib5VPaxrW;r)xGh;Y7Gc#c_WjJDC9{@BuI%aQjZDDj@VRK(-Wq4s^Wn*b=VQc_lG-PBmW@TeEHZ)>4WMMEeWMyJzVq-93WHdK2HDfY4Edl^vW^7?+a{z8(ZDn(CVPj=2JE@*UZY$IV~H)S(8Gh<|BF=9AmHZf#kVKg-|IWl50VlZZ7Vm3Kp01`SnV{dMAbYEd|a$$L2X>?_BVRUbD03%^#VqrOEWiw$hIWuE8Vm34}VKHW6Ghs3?IW}ZBV=*&f01`SnV{dMAbYFB~Vr*q!X>?_BVRUbD03%^EVq;@uH#IY6H8eCZG-WU_IX5&lH#IRdF*i46V`5@q01`SnWMyVyb!>EBW^ZzBVRUq5asVS?GGaJ4Vl`wkH8*B8G&eUhHaIggGB_|ZF=jM1Gi5h6VE__3I%#fmWpZ?7WM6c7aAjX_W&k5$Wo9vEFk)h3WMnfoI5uT6HaKQ9VmL8mIb>lsFfn3fVE__3I&W}vX>V>}Yycx+W-~NlIc8!rGcYw}G%-0hI5aUZG&V3fWj11BVmD!9VE__3I&*Jza${v*X>Md?cmN||W@0!sGG<{iGGRDkGi6~pWHK-?WHvN4VmV|rV>2)~VE__3I&*Jza${v*aA9<4UvPAC03%^zHe+TqG&W*1I50IdHeqEkW;ZcrHDWk6G&C|ZHaKKO0{~xXbY*g3bZ>G1ZeeX@b8ul}Wprp6}GBPzWVmB}|W;11DG-NShGcYqYV>mKpVPrF8HaTNsVE__3I%#uXVsCG3WnpdrBVjmYH#s;mFg7(YV`DjCI5RacI5J~qIbmXCG&f{8I5lAa5;{6*b6;aV?mHa9nAF=JyjHZ){3FlA<8I5}ZvGBq(YVKQL=5;{6*b6;d(bY%b|VKZYjWMN@6H8wM4Ght?CGGaAlHZ(RcVPQEpWHLBpW-R~}Uvz10WdJfbHDh6BFflSWI5}Z9FgG|gF)%VVW;r-AH(@g~WMKdjIyz}{UuJA?VRUJ3XJ2q{X>N1?BVjRNVPRn~WimE2V`OABW;8Q3F*r3hF=jGmHZfsiGd5uW5;{6*b6;t0bY*8{asVS?H8C?{WMed8F*z_dF=jAgWj8QoIWl5mHe+HjVKHGdVE__3I%#uXYh`%=BVjjUIAvxzFgIj5HZnP6F*7+~GcaU0H#A~1G&N!|IW;i=6kl(0Ut@1>c4cyOX<}?;05CN&W?^PzWj8T7FgImpGhsM2IWT2rH)UfoG&MD3IAH)1Iyz}{Uv6(?WdI{#G-Wg~GB##5Gh$&iHZVChGh}5jIW=QsIbvmHFgGwXGXNA{c4=jI0Ae*_Fg9diV>n|mWiVuAIb|?5G%+zbF*ju~Fk&__IAH)1Iyz}{Uv716Vr6mwBVjf)V`VpGWHvcBG-NVjF*i6eGc`6fVq-QpV>B>0H#1=X5;{6*b6<0Ga%pa703%^#VKFo|GBG$XH(_RFIWl25G%#d1GGjL}GdW{qWiU5k01`SnX>(t6VPb4$03%^!F)?E}V>n?rGB`G5HaRmfWi&80H8?gmIbmTpWMpDt01`SnX>(t6X>DZyBVjlsDW;i!7VK+E9WHmNoWjQ+lG#6n25+6D`VRT<`VRUFHV{dMAbRceTWMw8SAaitNIy!T7a%pa7Uv_C_cPRiPVPj=uWnnouH#BBuHZn0ZFg0Z{V>4zmI5aaeVqrBlWIX^h9bo_x8ag^*bYE~`bZ97UZ)9aAEFg1qWI8%`b98cPZf9S1X=QgQ03%^GGc`3aIWuBnH8EskF*#x}W-&D|Ib$|tVPiBlVlp#705lk301_ZNI$?BQaA9<4C}VGKb95kXZ)9aAEFg1qWI8%`b98cPZf9S1X=QgQ03%^#W-?bYE~`bZ97JZ*FsRAZ~ADWhN{jV{dMAbRcwZZEQL^aA9<4CMf_TVPR%8H8Nu}V>C87Hf1s}Wo2PvWHB)|HaTQsHa1~7Wkmoq9$^3yCOSHAaAk5~bZ>GzJScN?WI8%xVRLC?UvG1Ca%Ev{JVR(w|mF)=eZG-WblF=0mlG$dgF5+pi0aA9(DWhirWWI8%?baH8KXJ2+{Wp^wfb97`nI&*Y#X>MmMmdT4VKX&1Ff=nu05l(A01_rTI&fifb7d%VbYwa@bvSc$a%pa7Uv_C_cPt=tbYwa@b98cPZf9S1X=QgQ03%^#Ib~%uGcYh@WM*PyH!@;3GBYH!?IeHZ(CbIbmctG&4D4Ff=tcGc`9eFgRj3PXII_VE_^(Iy!J+a&u)Ub97`nI&*Y#X>MmNmH#s;mWHB}}IW#$9VPi95H8nJ0Gcz<%05l_E01_fPI&fifb7d%VbYwa@X>)XPWnpb5EFg1qWI8%`b98cPZf9S1X=QgQ03%^zH#asnIW#jiGB7tbGGj6_Vm320F=S&lHaIe4V=`n@05l+B01_uUI&fifb7d%VbYwa@bvSc$a%pa7Uv_C_cPt=tbYwa@cXM=dX>Mm)XPWnpb5EFg1qWI8%?baH8KXC@{o03%^IFgH16H!)&lI5syjGB+?WV_`WlI5Ie6Ha9RiGcYw-05lw701^^9I&fifb7fy4UEb97`nI&*Y#X>Mm4UEb97`nI(Kt)a%pa7Uv_C_cPRiPVPrHiHDP8nIWaRdF)}bVH8?qAVK!l7V>35nGh#70WnTa^5p-{DYyfUyZDn(CVPj=2JIy!D|WMw8SAZBlJZDDj@W^7?+b148LVK^}{FkxX~F)%eZWH&Z5Gc+2JIy!J+a&u*0a%FRMY;-0pAZBlJZDDj@W^7?+b148LVKZT7Fk@jkIWaRiWn^MxGcY(bHDNVlWH)3oV=yr@H)Q}rCu;y9AUZm4aAk5~bZ>GzJScN?WI8%;b98cLVQnTXAarkSY+q(?a&2LBbY*fTDF7p3H840aHD)w8G%z_eH#askFgIp1G-5F}IW%HoW;ZisX8=PUYXBi3Iy!G~WpZJ3Z*n|5D06gVIy!H2baG{3Z6+)rbZ>2JUuJJ|ZDDkDWpXAaDF7p3W-u~hHDzI9Wie$qG-72qG&3?aHDfnpW-u~kIAmmDX#hhXVE_O+I&^PsY+q(?a&2LBbY*e?V{Bn_b98TQY+o^7F?4TjY+qkyZ*py6baZ8ME@*UZY>5CJIyz)wbY%b|VK_NvGdValI5lQ7H#1~0WjA7EH92NwG&C?WF)}bWG>HHmIy!V|ZDjx>VKF#lHDxz9GGt;jW;QW4Gc`6eGh<|7GdVD0GGaF}Fo^&iIy!G=W^-k903%^$I5jyoFflV`H8L_{IW%E7IAk(oVP-ZtWjQcmF=jPv03QNhbZKp6C@BCkV>xAIF=I7jIW%E5HZn71Ib&gCHDqEoH8MCkWHDxM06%O1ASPdQX>DaFV{dMAbRcwZZEQL^WMOn=CM+OhZ*FsRAarkSY&tr0X>DaDDF9+HI5cE4I50OkV`euoWMVL6FkxdjG&VIkGB{*oGI0PuBy0d56JK;`ZDlB9Z*FsRAarkSY&tq*VRU6CDF8JyIW%K9Wi~cBFlIG5Wi~Q5W;rrqHZe3}Fg9XkH8^tsKM`yI9}{16X>DaFV{dMAbRcwZZEQL^bZKp6CMf_nGh}8pF)%bSWo2bBIAS?CG-NY4G&V9~VKZiAWMMRQ06!6I03S79bZKp6C}VGKb95kdZ*6QkI%HvVWhN{jV{dMAbRcwZZEQL^bZKp6CM+OhZ*FsRAarkSY~p~XDF9((Vqq~gGiEt9WjQu8H)J(4HeqCBH8C|gVqs)CIbnAIKQoB{9SAx)X>(s}Z)0I>C@COgZ*FsR03%^$Fl06{F*!LnG&VFfWnwTfHD)qqVPr66W;8fAVq#-?06zwa039ScI&W}ga$$6Dav?n^V{dMAbRcA5bY)+3X>DaDEFfcVZgX@XWMOn=Uvz10WhN;ABVjpVWiVwhGcsmoWjQc8GB{&2H)1p}Vq`cmH8o^qVKaLGKO%_$9V9wBZ*XODVRUbDJSbytZgX@XWMOn=Uvz10WhN{jV{dMAbRcA5bY)+3X>DaDDF7p3G-ft8I50D2WMeQgW@0rpG&y2nGBGn@IWjjhVKy^jeE>fqi2xlTIy!G~WpZJ3Z*n|5D06gVIy!H2baG{3Z6+)rV{dMAbRcA5bY)+3X>DaDDF7p3HDNG0Fk@mlWM*M7WHwmLV{dMAbRcA5bY)+3X>DaDEFfcVZgX@XWMOn=Uvz10WhN;ABVjl=HDh9BIWRI|WnpAtV`4BlH8V0ZFkxh6Ib=9uIbnkUKO%_$9V9wBZ*XODVRUbDJ}6^vZgX@XWMOn=Uvz10WhN{jV{dMAbRcA5bY)+3X>DaDDF7p3F=At7VlXu@GB{>4GhsL~Ib=35W@ckIHaKNrVmCNpg#bSyi2xlWIy!G~WpZJ3Z*o38C}VGKb95kNVRU6*bZKp6CM+OhZ*FsRAY@^5WnXk@ZDl4Y03%^DHZf*mF*z_aW;8c9WiVkeW;bDDVPP|4WMnZkVPa;706!w101{txX>DZyUte@-ZDlTKbZu;(02ewsd1Ya803%^!F=S&kGBRQ@F*Rd0Ib>rwFgP_dFk&%dHfClwIWl6O02ewsZEtRLXaFN&Ff}qbV>dD~WH4bkF*h_ZVL3HsHf1wmF)=YVHZe41p8yv+I%Hva03%^IWn(vCH!?FgVmM`FWHU1~F=8||Fkv@hG&5ymFflQo02cx}I%HvVWhf~CBVjdTVq!NrVPZ8hH8VJ6V>e+pG%zwUV`emFV`gG8GC7R^IiCO*2|7AtVRU6ESu7w;EFeTF03%^GFfuh_H#avkIAUfuWn?mBVmB}}V`DfqGC4P8H#B6A067Pr02dlMI&W}ga$$6Dav?n^V{dMAbRcA5bY&(iAY*TCb95kNVRU6CDF7p3HDxhkHZw3ZFk?1kG%zz_IAt(lH!(M3H#cNCH8443kpMXup8yvcIy!G~WpZJ3Z*n{+V{dMAbRcA5bY&(iAY*TCb95kNVRU6CDF7p3I503VI5{{uIbk$pVP-XAIAdgHF=I7iGBq+{H#ah5lK?pwp8yveIy!G~WpZJ3Z*n|5D06gVIy!H2baG{3Z6+)rV{dMAbRcA5bY&(f03%^xGBjpnWMW}9F*G@0GB##0WMXAyW@RulHZd|bGch)m067|;02dlMI&W}ga$$6Day&gKV{dMAbRcA5bY&(iAY*TCb95kNVRU6CDF7p3Fkxh5IWS{5Vr5}5W@KYEW@a@oV`5@uVl`zkHaTWvmjF2!p8yvcIy!G~WpZJ3Z*o07C}VGKb95kNVRU6CEFfcVZgX@XWMOn=CMf_TVP-crF*7tWIXGrAIAJq3W-%}{H8C}2VK!o6Fflk{Fqr^37@q(a8ag^}aAk5~bZ>G#C}VGKb95kNVRU6CEFfcVZgX@XWMOn=CMf_TVKF#1F=l2qWHmT7FlIP0G&o~rFfcM>H#K51VPZKoGMfN77@q(a8ag^}aAk5~bZ>G#Jt$*uZgX@XWMOn=CM+OhZ*FsRAY@^5WhN;ABVjmZH#A{lHaB52H#lK6GG#J2G&eY8HD)(9IAt_3H8Pz5IT&F806IEkVRU5xb98cbV{~+HZERmLUom81bY(7RbZu<502ewsXm53L03%^BIA$|4VKq27G&W>2Gc#s6WjHoAVmC51VmD$pVP!P702ewsZE0?GbY%b|VK6deWi)1GFf=h_W??xsGc{#mG-PHrFl0D3W;bSHG`0X2Iy!S@V{dL`03%^IVP!C3VmLH8VK+80H8e9aFgIgiI5uH2WiezhW@Kiz02ewsZeeb3b7f<1Ze#!>VKZepV>U20H85jiWHK>kF=aG2F*7n^H#avmG&eCgHMRg30y;W$X>DaFDF7p3G&V3~Ha0RgVKOjcIXN5H#TBsHDzTsGGQ_>qyRa#02d89I&^7mWhh82AWbYFQ!F4(Qz-x=VPj!sV>4u9Ha9plH!wD1H8*2pH!(6{Vl*%_F)}k{Hl_eM3$_3k8ag^}aAk5~bZ>GYJt$*uZgX@XbZKp6CM+OhZ*FsRAarSMWhN;ABVji-H#Rn5FgG`4F)%ebHZV6eIAdX9G+{YoVrFDAHDag$IT*G87aBS`Z*XODVRUbDJSbytZgX@XbZKp6CM+OhZ*FsRAarSMWhN;ABVjT!Fl03}GB`CeGGt>lIc709G&W{3IWaXkG&3+_WjLw;IT*G87aTe|Z*XODVRUbDJUl3KbYwa@Z*z2VWnpb5EFfcVZgX@XbZKp6CMf_TVPRxAF=9C}IW#h4Wiw(kW-??oG&VIhV>n?pI5uTvH>?0T8nyrz8ag^}aAk5~bZ>GzJt$*uZgX@XbZKp6CM+OhZ*FsRAarSMWhN;ABVjZ(Ib<|BFg7U4|Ib>xvGG;MjHZU<^HZZOLIT*G87aBS`Z*XODVRUbDJv}I6Z*FsRAarSMWhN{jV{dMAbRcwTZDl4Y03%^xI5=c6H8y5AWnnZhH8n9aWiT)|Ffw8@V>mcuWin>4067@802dlMI&W}ga$$6Day}?yZ*FsRAarSMWhN{jV{dMAbRcwTZDl4Y03%^IH8wP5HDok2Gd49cWn(lrVl^;fV`XGzWier5HZ)_h067@802dlMI&W}ga$$6Day~sMV{dMAbRcwTZDl4bAY*TCb95kdX>DaDDF7p3Wi>T1V>UBmVP-NmHDNb6WHn(oGh;V7H)UltGdN~7v;a96VE_O+I&^7mWdL(@a&=>LbZ>2JUol@XbZKp6E@*UZY{~#1Iy!A>Zgq5Ja{wb@GG;VmWH2%{IWsUYWiv52WMyV!Fk>}kW@KeGIWlBq$^ah%Iy!V|ZDn6?W@d9`bSNnRBVjZ-VP-O8Vlgu|W->7|G&D12F*Ri|FgP|fH)b_vFlD#^LCOFh20A))X>Da+Z)Rq5WppS=EFeuO03%^JWjQu8G&neBF*YdK_SWj9~wG3Z*XODVRUbDJUu9MX>Da+Z)Rq5WppecbZKp6UvFk+b7gcX03%^EVK6v2He@+rWHvQ9HZx%~WjHZ1H8(b5VK8GhIWjoH06`ea03RAUI&W}ga$$6Day>mLbZKp6UvFk+b7gcaAarSMWnXV*W^-k9DF7p3WH~f4Gi7BkHaBE2VKiefVqr5mWMyJ9Ha9t8FgIp4!~j7U$^ai4Iy!G~WpZJ3Z*o2;bZKp6UvFk+b7gcaAarSMWnXV*W^-k9DF7p3VKp*0Fkv-gF)?9gGGRG0G&E!~V=^!~F)=nYGc+d82V`ersVK+HuGh;JkIWuHoWMXAAVlp=|Im-Y!g8>%~Iyzx;a$$KWV{dMAbRc1Ja$$KUDF7p3Gh$>kHZd_{IW}WuIX7fCWi~lEF=97iG&3X$Jg8>%_Iyzx;a$$KWVRCX|c_t<)03%^zH8nC}HZx;0GC4IlIAk_AF=aM2GcjT?V`XMJH8*0<067PP0T&)RI$?5hVRmKqF=S>oIWsk8HDoo@067eU0T&56I&W}ga$$6Day=+va&lpLCMGEWBVjjXHDxq4H#awBFgQ6hF=1k2GB7qdVKq59F=a7kGcnZwIR}FQ7ack}Z*XODVRUbDJUl3KbYwa@Z*z2VWnpb5EFfcVZgX@XVRCX|c_t|UBVlGSW?^MDVq!F5WHe-9H#9LhIc6|nH#adiFk>|^HD%WTIU9ok7aTe|Z*XODVRUbDAw4K#Z*FsRAYpQHVRdK2H(@Y2G&W&5WHn_lIWuHAFf(E`Ic7FtG}!<-8iN5B96CC0aAk5~bZ>G!Jt$*uZgX@XVRCX|c_u6%V{dMAbRc1Ja$$KUDF7p3Fg9amGBss0W;ifoIXGlEIAt(2F=b{sI5IOiH#TE1+W&WIy!G~WpZJ3Z*o07C}VGKb95kKa&lpLCM+OhZ*FsRAaitNIyz}?X>@5}Y-xIBa$js|b96jZJ|-yuBVl4VH)S+4HDfhlG%+zWFl9C{V`MUAH!w3~W;r%yVr1O_IW2<$7bQA6Z*XODVRUbDJv}I6Z*FsRAYpQHVRGg03%^CGBY?iVL4@FIW#mhW@R-pVr4NfV>Dr7Vq|4wIWRcm067kW0T&=TI%RTUb7d%FZ*FsRUukq@a$$6Dax5TYZ*FsRUukq@a$$6Dawz~KVK*`}GdMUnHZWv2GGjSmF*Y(WGdE-~GC4CdHa2ErGUWg{9)kfF1UfoqY+-bCWo{@bASM7KVPP_1GBG(dI5#jgHZnP4WMwfmVPR%rWjQrDIAJnnW9I-l0_Ol31ttJwGcY$|WnnQlWj8i7Fk>}0H!(G2HaB5nIAJ$8H)J&F067DL0T%)~I&g1rUt(cnYbYrIBVlGaIb=67WimNqWo9@uW;Zi7WH~WpHZnJ2G&f-}WMk_9IfDTg2s%1&a&>NHC}MAKY$+fn03%^#H8eP5W-(-AGB#mkWi~K3Gcz?bIAJg_VKX^mF*h~s067Nj02v7;05)c0IWah4F*Pw^WMMQgV>dA~WHvZ8HDP8mFfuV?GVcI62ZI3@9XdK?ZE$R1V`V5~Z*FsRUukq@a$$6Dax5T0a%XcOCMF;*E-onmBVjZ#F)(5|HZwRjVly)^IX7W4H8o~4HaRq5V=ysfG-2@oIU9ok7Y#Z(Wo>Y5VPj=qVqs%zC_!>(b08)rATBO0DF7p3WHB>1Gi5O{Fl9GpIAl0xWi>QqFgIjjVlg%}Vq`XC^8h&ug8>&QIyz}?b7gXLC}VGKb97&6bY*g3bZ>GjAVq9tZB%)1WhN#pAa-GFb!A^>Y++|}DF7p3F*jp3WivElG&3`0VK_N3H!(OiWMX15H#j(BIb<_8^#D01g8>&YIyz}?b7gXLC}VGKb97&6bY*g3bZ>GjAaiMYWnXkGAVq9tZB%)1WhN#pAa-GFb!A^>Y++|}DF7p3H8o*5Wj19uG%{s1H8y2oFgG&QIyz}?b7gXLC}VGKb97&6bY*g3bZ>GjAW3v(ax5T8bY*fZAa-GFb!A^>Y++|}DF7p3HZWl@WHUKpW@I=wGBIOiW->EnF*P-2H8n6aWHmHo`2aa5g8>&cIyz}?b7gXLC}VGKb97&6bY*g3bZ>GjAaitNIyz}?X>@5}Y-xIBa$js|b96jKY-Md!d2nSuEaHHsDF7p3F=An5V`MdCH8(k7W@0rkI5;>qH8(OgH#A~6IX5^l`v5sJg8>&AIy!K5b7)^;VPk73MQmklRC#b^CMGN(c42IFWnX4&VP|tG03%^yH!(OkH8VG2Gc_?~W;0GjAVq9tZB%)1WhN#pAa-GFb!A^>Y++|}DF7p3GdE#4VKO)~Wj13mV`61xW;ZoAVlrhlIW#yqWo0&F{{T5Bg8>&hI%98cb97&6bY*g3bZ>G1BVlA_WHUH3F*sy1GdVC}H#TN4H#1>4GiGEmW-?)6GBJYz7dkp=bY*g3bZ>G1BVjf&VKF!~H!)*jH)AzoFg7wUG-NVmGB#s5HZx{8Gc$t$7XmsuVr6G(ZYU`LBVjmYWjHZ6Ib>vJF=JvhG-hOGFk(1lFgGwTW;HcqGG+q-IRgP12q0r`ZgX@1H)CdIF*PzaVK!tjW;QW3H)SwoVPY~fF=8|~H8){l1pzq*g8>%^Iyz%wWoKz_C@COgZ*FsR03%^FHe@klVqq{aHe_RCV>Mx9IXO5oVl_BnIAStnWMeT00XYVP0T&25I%8#SWGE>hV{dMAbO0k^H85p1VlXo@I50IgHZW#0IWsV2FfutZGh{hoI5c7~2?03%;Iyz-;WGE>BBVlA=W;rl8VlZQ4Gi5kpV`4F7WjSSIIb~xvFg9c|GBXPSIST<92q0r`ZgX@1H#az9HDWk0H)duxGcq}5H)LfoFfubYWH&QrGC5;14FNd@g8>%`Iyz==a$jX(V`wNwb#7xOCMh5$03%^BF*P({Gh{M1VliQ6G%;poVPP~mIAb_uHZV6ZVmLSt0XYZ{0T~M>0AV*|He_TpW;Ql5VL3BmIX7f6Wj8f2VKp~oW;bPKV-W#434;L_5IQ<$Z*pH{VPj}0Ms;puCMGE$V{dMAbRZ@GBVjW$HDfSjIbvaBF=JseVlXpdIW{q5Vr4XBVPa!5I5rajISvy684)G`IW#n3F)=eRW;0}DGGaGjVKFmfGdN;oHZU+UIW=N66#+R9g8>%^Iyz%vaA9L_?2s%1tZE$pXC@COgZ*FsR03%^FWHmB3WnngAW@KbxWHB%@HDx(4Wi&H3Gh;Y1GGk*I0XYVP0T&25I&EQiUvp`CWhf~iV{dMAbO0k^Wi~ZoH#T8pWHw|sH8y5rH)3HpW-&5hHDO_7IXE+88v!{6g8>%^Iy!P?b7gXNWhirLdSzd9DF7p3F=AmbH#1>mV>L2kGh}8pVPrBnV`gMGWi@1BVKHPi9RWE8g8>&IIy!P?b7^{ID069gWnXkGAVq9tZB%)1WhN#pAa-GFb!A^>Y++|}DF7p3VliQ3VKOr_H)dvIWjAFtI5S}~V`eijGiEV1GBr779|1WZg8>%;Iy!S`a%paBUvzI@W@&UNDF7p3H!(P4GB7hSWnpAAGB{yjH8MFdGB-3aW;SFnIW%EmAptpq0T&25I&*1yWhf~iV{dMAbO0k^W;iiqH)1wnF)}qbVPrQpHeob3WH~Z7HaImkVK-wrBLO)Eg8>%^Iy!W6b#7x}bY&=WX?kT}bSVHMVK!wmVPiQtHZo&3Fg9U0IAbv|FfnFkI5S~1FgP@3GbI5z27>_?0y;Wjb6;U{a$$KWDF7p3IX7ZAH!?RlHe)$9GGR6|HDx$tHDfg}WjA9mGh#DgCjmJp0T~D&V{dMAbO1OoFgIjkIWuBpWnwroV>n|sH#s&nW@a}sFf}%2Hex9OIR=9P7XmsuVRK(%Z*Od6VQwfX03%^zF*!InVKQShWHm5mI5askW;r)wGBagmGBRZ`HDxv{0XZuH83-U_Z*FsR05mu_?0y;Wjb6;d(bY&QpHe@p~Winzf0XZ)L83-U_Z*FsR0A^z|W;ixuVK_EpHZWvmWMMNoWi~lvGBjagV_{=sVKD(Y27>_?0y;Wjb6;d(bY)+3X>DaFDF7p3H8^84H83+aHe+I9VPZ37Vl*=_H#IRbF*0IdIbtz5GXXg>0T~D&V{dMAbO2#EW@0utIbt(5W;8TmG-hEpV=!iBV`FA!GB9LfWH~hfIR=9P7XmsuVRK(*Y;R$7X>Mm%;IyzxdNF0XaVb83-U_Z*FsR068=>GdDP9W;Ho6GG#eqH#0I~G-PFEF*0N{VrDXAWkCTs27>_?0y;Wjb6<2}Vr*q7DF7p3IW;*rHDoq6Wn*MCVPa-BV>LK3GGk(7Fk~__IW;&kLjgHM0T~D&V{dMAbO2>EH8nFdVl_82WHB&fH)S$qF=I70GBhzYGd3_dW;sOxIR=9P7XmsuVRK(}X>DaFDF7p3Gh}6CV`4HgHZfr}GB{&3IW#piW@9;JFk)giV>xDGM*%rU0T~D&V{dMAbO1LuFgRvqVPRu4H8wF~I5Re7FgG|kWMVL6W??pDVl+tsIR=9P7YI5!X>(s;a&lpLC@COgZ*FsR03%^BW-((s_?2s%1xb6;d(bY&_?2s%1xb6;d(bY)+3X>DaFDIjBSZgX@1BVlDYG&E*4GhsP4Ff?XjG%{u}I5lB8F*Y$aVK*{kVq{YRIR=9P7YI5!X>(s@Y;R$7X>Mm&2Iyz}{UubV_Z)at0Wp8zJC~j|LWnXl8aAheVV{dMAbO0k^H#uQ3W@R@wV=yyfGc#pjGGaMoIAkzkI5jzAIWuK8R{=Q>g8>&4Iyz}{UubV_Z)at0Wp8zJC~j|LWnXl8aAhnYZf|5|DkdoaBVlDUWjQ!DW;teLVlp!@IWT59VK8DdH!(J0HZx^7Vq#eVIT3>a7aux0X>(s_Z*6a9Wo~6}b#o|gZ)9a(ba`-PEFfcVZgX@XZf|5|Dkdo)V{dMAbO0k^WH2x`F)(8=WidErFfuhUHe_WvGGaC|Gh|~lWH4qmTLC#8g8>%^Iyz}{UukZ1WoKn_C@COgZ*FsR03%^HIAmfpF*z_fH#aadG-EU~HZ(RjG+{D1H8?mmHDokh0XYVP0T&25I%#uXZgp*9WpXGfAY*TCb94YBVPP;cG%++ZV>LK1Vl!koVKg@~H)AkkW@2V#Vq-EfG+zNZ27>_?2s%1xb6<0Ga%pa7C@COgZ*FsR03%^#WoBe#Ffm~=V`VdDHezFBH(_OCW?^DvGd441Fg9Xg0XYVP0T&25I%#uXbYWs_Whf~iV{dMAbO0k^WH)7GI5{+BH8f#lGhtz6W;SFuHaRn6GB#p3I5%WDV*xn^g8>%^Iyz}{Uvz10Whf~iV{dMAbO0k^GGsDlV>mE1F*0N@IALZtVL3B2VK!tiGGjMlW;HN2WdS(`g8>%^Iyz}{Uv^<^b!8|iAY*TCb94YBVPj)8Gc#c~W??a9VKrkmIA&vIHfA(tWnnd9V>B^2V`l+527>_?2s%1+d2nSYDIjBSZgX@1BVjW&GGaDiIXN;jH8L?aW-vD}Vl`zsH#s*pHa0UgH!*1eIR=9P7YI5!VRR^SX?kT}bSVHMVP#=tWi(|lV_{}tGiEh6Vl+4~Fl9F~Vqsx8G&5o`WorRB25SKs4j^N1ZgX@1IAJw8H8*84GGSpdWH4qlW;taxW@TY!IbvpJW??loZ2>t9g8>%;Iyz!uV{0fW03%^EV>LKrWnndCI5#;pWi(_?0y;Woa&K;QC@BCVVL4+rI5;#oF)}$}GGR9`Gh;C|G-WqqVr4O5IX5$8Gjjnsa{(C$AY*TCb94YTVqr63W-&NpHZwIeHe_KoW;tXsVPi95HDWh6W;Qf+0XYVP0T&25I%j2cD069gWnXkD03%^BFg7+cWiT)>H8f>mG%zwTW@TeFF*Gz{HaTKAH#stQ0XYVD0T~V;V{dMAbO1CoWMVZiIb>sHHexqoH#cQ9HZx;5GBRN`IWsn4Vr6*&IShjV7YI5!XJvF>VRI;RX?kT}bSVHMVKrkiW;8Z3G&DIlV`5=BWie$mHaB80WnwaAIWROfWqScR273V+4j^N1ZgX@1Wi&TqVKHN4G-Ea~WjQovWn?ojVP#=AGGk#lWHL55eE~TPg8>%^Iy!G~WpZJ3Z*p5*D069gWnXkD03%^IH8WyiWH2&0H)CNmWMgGzH8*29H)LTlW@R%mIAu3~0XYVL0T~V;V{dMAbO2>JW;ZfnF=9A3H)b+nV>UK3GB;r{H8Ny1HDO^nV>W>SISgR{06IEha&lpL0Ap-nb8~cWZERmLUol~Fa$$KcXmo9CmH{I=I&5ifWdI{#VlpvfVPiEpH#sUTtGB-FhH!w3WF)?O0V`eopGc=X~BM3S=Z*XODVRUbDAYyNCY$z!pV{dMAbO0k^V`E}rGG;S0VK6sjIASz4Gh#SqGG;bnVP-O9H#1{qh5GzJScN?WI8%;b98cLVQnTXAY*TCb95kcZ*_8GWnXY_b7^#GZ*C?j03%^EFk&=fGBaaiWHK{hGB7n^GGj6_IXE~qGcYzbVPav70YxR20V6OvI&W}ga$$6Day&gKV{dMAbRctYb#h~6UvO`8X>@6CZYC@sV{dMAbRctYb#h~6UvO`8X>@6CZYC)JBVl4mT4H#9RaF=b;kIAu3uHD)tqWiewnF=37YMJ|>BBQQETZ*XODVRUbDJv}I6Z*FsRAaieZa${v*aBp*IbZKvHCM+OhZ*FsRAaieZa${v*aBp*IbZKvHCMf_TVKO#0F=1q4I5IM0FfutYV>L4}IAl3wFfe5_VmVG#C}VGKb95kcZ*_8GWnXY_b7^#GZ*C?mAY*TCb95kcZ*_8GWnXY_b7^#GZ*C?j03%^GFf}k?Vq{@8Gi5krGdD3~W-~H4F*iA7W;ZZlF=jWC0YxsB0V6OvI&W}ga$$6Day~sMV{dMAbRctYb#h~6UvO`8X>@6CZYC@sV{dMAbRctYb#h~6UvO`8X>@6CZYC)JBVjQ#GdMP7Wo2PDGh#O}WMwxwGGaJkH#IV4Wi@0pWM-5BMJ{0g06IEzZ*_8GWnXY_b7^#GZ*Bl{baHiLbaZcRY+o^7F>`Nqa${v*UvO`8X>@6CZZ2qaZEP(97dkq2VQh6}Utw}*03%^zF*7kXI5jY4Fg7G!C}VGKb95kfVQh6}CMf_TVKXy1H#0F|I5IIaVl`zjIXN?8H8nIhFg7=4WMwgCH<G!D0X3Nb!8?dDF7p3IW;(BVK-r6Wiw`GIWRCeG-We1IAvmEWnp17VPQ37n*lioEdmz{Iy!G~WpZJ3Z*n~-c42IFWnW=(XDI+9VK6v3H85mlW@cnDVKp^2I59OeWHmTsGB-6bH)A(b08)rATBO0DF7p3WMpD6Hf1?CGdMOkV>L2jF=b&lH)UpFWiewmVPr8dp8+`wEdmz~Iy!b?Y;|QQV{dMAbRc$NY;|QODF7p3HZoyjWi@0oH)A$qW-vKsWMefrIb~*HHDxeiFgY+ap#eDzEdm!CIy!b?Y;|QQV{dMAbRc$NY;|QOEFgAaY;|Q{W^7?+b148LVKy~oHf1UElr2#nyEdm!7Iy!b?Y;|QQc42IFWhN#pAa-GFb!A^>Y++|}DF7p3HD)$uHDNe2Vlrf7GiEh7G%{v4W@I&HVq-96G-fq9rvW(>Edm!EIy!G~WpZJ3Z*n|5D06gVIy!H2baG{3Z6+)rV{dMAbRc$NY;|QODF7p3Wid7|VPZHkFf?H_Wn?usWMN}6VPrOAHDP69Vm3H4sR20~Edm!GIy!G~WpZJ3Z*n0$C}VGKb95kfVQh6}CM+OhZ*FsRAa-GFb!9wMJ|-yuBVjliWHd50Vl^}}WH4emWH4npFgP|gWUT=?7cBx889F*|aAk5~bZ>GzD0X3Nb!A^+a%U_cV{dMAbRc$NY;|QODF7p3HezCBFgZCiGGb&lFf=x1VL3EmWMpDFF)=wbFf=(auK_t1Edm!GIy!G~WpZJ3Z*n{+V{dMAbRc$NY;|QOEFfcVZgX@Xc42IFWjs_qCMf_TVK-)EV>D(sH)c6yV>4xDVmLWAV`DRAFgZ3kG&3?dVzB`^9W4SE89F*|aAk5~bZ>GzJt$*uZgX@Xc42IFWhN{jc42IFWnW=(XDI+9VK-zjGBq|eV>U22V>UK3VP<1EW;0|mF)%VVGdVXjFtY(U7cBx889F*|aAk5~bZ>GzJt%fzY;|Q{VRC0IAY*TCb95kfVQh6}CMf_TVKQbjH)b|DWHV(nH#cK2V=`qjVqq~hW;Qu7IXE#jWwil07cBx8A38d3aAk5~bZ>GzJt$*uZgX@Xc42IFWhN{jV{dMAbRc$NY;|QkR6Zst03%^zHeqHlHD)zAWHmE4WH~itF=1w9I5;mLV{dMAbRc$NY;|QOEFgAaY;|Q{VRC0F03%^AVmUBnG-fz8Wn*DxGGjO~Wi(=8IASz1VPQ36WivFn0XY{f0v8`TI&W}ga$$6Day>mLV{dMAbRc$NY;|QOEFfcVZgX@Xc42IFWjs_qCMf_TVKQc6G&D9bFfcGQH)Jq1GGs7gV_`C5F=jJnHZU+aHM;>h9W4SE89F*|aAk5~bZ>G#C}VGKb95kfVQh6}CM+O!VQh6}Utw}*DF7p3V`VsFFfe5^G&N&3Ib~%zGi5boGGb&hWM(!wG&3|Xy#YBFEdm!AIy!G~WpZJ3Z*o2;c42IFWnW=(XDlFNZ*FsRAa-GFb!8?g03%^$GB7Y^GGb*kGB-12WH320GdDCdW;9|sF*s&8Hf1)y0XY{f0v8`TI&W}ga$$6Day}?yZ*FsRAa-GFb!8?jAY*TCb95kfVQh6}JXAg=DF7p3VmUQrFgIa0W;8fuG&EviWoBYwV`64CW;QT4GB`6g!2vlPEdm!AIy!G~WpZJ3Z*o38C}VGKb95kfVQh6}CM+O!VQh6}Utw}*DF7p3I50FZH)1s~H8n6dGG;O`WHVtlIXE?BF=973VP-Nh!vQ%LEdm!AIy!G~WpZJ3Z*o38D0X3Nb!A^+a%U_cV{dMAbRc$NY;|QODF7p3H!?S6GGSw6GBIUjW-v5iF*GzeF*sx~H#9deHez8m#Q`}NEdm!GIy!G~WpZJ3Z*o38C}VGKb95kfVQh6}CM+OhZ*FsRAa-GFb!9wMJ|-yuBVjOQVq|4uI5IJ0IXE>mHe_WqVm3H7W;8W0H83_dGdITpIUOwm7YI5!W^7?+b0{ewV{dMAbO0k^F<~+>GdVCgVK*{4H#9jhVK6skHZ(UmHa9pqH)dmE$pJYAEdmz}Iyz=-VP|tFc42IFWnX4&VP|tG03%^EGchqZGB_|bIAk|9VrF4sGGj0?V>2^3HDoY3GdMNN0XYjT0v7^0I$?8PVRCX|c_=9WBVjdVGG;Y1GdN*mWi>W8Wn(vDV>dN5I5;(8H#sw7Ffq*mIn4nY2q0r`ZgX@1WH&G|H)doxWo2VGG&eOiG&wdoHZVCgHeoq3WHw>X0XYUO0v7^0I$?8PVsCG3Wnpe8DF7p3VlXy0Fg9XlHa0kBG&we5He@n1WHvZCF=8_`Vl*~1(E&Np0T~D&V{dMAbO1A9I59RiF=R72VmCE2HZx*jH)AqlGiGEqVmCH4G-1;LIR-5P7XmsuVRK((VRU6EDF7p3W@IokW-~cAWi&EnIX7cCV>4wiG&N&1Vlg>lHZVD5)d4xx0T~D&V{dMAbO1CkGBh`3F)}!2GG=CEVl^{3Hf3crF=8@dI5c84GGx~QIR-5P7XmsuVRK((VRU6*bZKp6C@BCVVKg~oW->Q2W??X9H!)&2GdVLjWM(&HWM*b#V>n_lW7z>Y*#Q{{AY*TCb94Y?GC4P6WHDl4F)%qcFl8|^HDxtnFk?40WnncjW@a?o0XYUO0v7^0I$?8PW^8X^bZKs9UvO_}ZgeOq03%^yIW;*nH)dfnGc{r{HZx-}GdN^9GBq?ZH83+ZFf}>d0Xf|P83-U_Z*FsR0A?~_Gh{F|VlriBF=l2pH!?XfWHV$mV>UK0VmLNrHs1j`1}y>?0y;Wjb6;t0bY*8{awsVPBVjQ&FlIJ3V`F7xIWcBqGB`LkV=^*iW;bLsHD)+wH#6Y@IpF~r2q0r`ZgX@1VPi01V`eZiHe_aEIWRLbG&y5sG&wUeF)=kWW;Hcr;{iDaEdmz;IyzxMmIDF7p3Ibk<3H#ajmHDzKoH92K6Wn?mAF)=qdGcsghV`Va7ZuCAY*TCb94YWVl`tkVlXmeGd49cI5%ZEVl_51WMXA8F=IC|H!@@E0XYUO0v7^0I$?8PbZKp6C@BCVVKg%_G%z(cF)}zZHa226G%z_eG&MA1V_`QmGhs3}WbFYt?Ex7GAY*TCb94YVGBr3iG&DFhVq!5lVPs`6G%;jlVmLT9IbvpJHe@yL0XYUO0v8B6I%#uXVRCX|c_=9$V{dMAbO0k^F*Yz_G-PBmGht?AG-NnqFfw8>VKiemVq-KoW-&Kr@c}soEdmz^Iyz}{Utw}`VR>I~W?yt+Vr*q|C@COgZ*FsR03%^GHa9jmH#TKrW;rxCIWaggHDfk4I5aadGBq+|VPY`z0XYUO0v8B6I%#uXVsCG3Wnpe8DIjBSZgX@1BVjf;F*ajlGG=07WivHpGBG(hFk~}iH8wFeWMMTqHDUDuIR-5P7YI5!X>(s>VRU6EDIjBSZgX@1BVjZ*WnyDFH)AwnH8D9kIb%36WnwTjGh{S1Ght&nF*f%BIR-5P7YI5!X>(s>VRU6*bZKp6C@COgZ*FsR03%^BWjJPHHeoY2W;QiuW@b4#VKy@{VPs`9G+|;kWMVY=0XYUO0v8B6I%#uXW^8X^bZKs9UvO_}ZgeOqAY*TCb94YBVPQ35Ghtz4H8(e7HZWo`G-fj~H8n71IAS+pWMnouX8Qp-1}y>?5jr|)b6;q0ZEt5~Ze?$Eb0}_aWMyA;d2nSZAY*TCb94YBVKz2qGcjahFlJ>mVPP?0HZ^8uW-()BGh$*mVr4O9V*LR*4=n;06FNF+b6;q0ZEt5~Ze?$Eb0}_aWMyA;d2nScAZ~ADWhy2q03%^FFgZ6lGBq_eIb<|tGG;Y6F*z_dWMeitGGS$AWiT@T0XY#Z0v8`TI%#uXXm4$AXJu|>Z*_AhZf|5|UvznJWh@|LZ*FsRAZ~ADWhy2qAY*TCb94YBVKgvgG-Y8jW@a#CGdVLdG&N>pGcjalV>V$hW->QsVgUj<9W4SE2s%1xb6;t0bY*8{awsVvV{dMAbO0k^WHn+jI5ae4F*q<`FlJ&hWMwcmWn?sCWMX16H92840|Ge)Edmz^Iyz}{Uv716Vr6nDDIjBSZgX@1BVlATFkxgiG-NqpIA$<1H8y26H85d0GBP$~Vr678GBE`LIR-5P7YI5!X>(t5baH8KXDBHkV{dMAbO0k^IXGlAH#cH8Wo0onF=RJpV>UQrG&yBqH)Az2VKXr_2Ld?;Edmz^Iyz}{Uvyz&Y-K1ZAY*TCb94YBVKgx|Ib~!rI5cK6VK!tlF=aS2IA$?1H)LZnW;0}FFbM)V1}y>?2s%1xb6<36ZDlAaAY*TCb94YBVL4$jVKQYfVKFr^I5A^3Ha9n9F*IQ^I59G1Gc-6iI12(f1}y>?2s%1xb6<90Y;|QQDIjBSZgX@1BVjdUF=RP7IAJ$5VPZ97Hf1(rVP!ctFg7?jF)%nYW-|=}IR-5P7YI5!ba`-PC@COgZ*FsR03%^GIb~!pWHdEpGGt{nIWjqBWnnWjH#K8qHaIypFlAy70yzdP0v7~2I%j2cC@CN&03%^$HZV6~I5RXiWi>f5IASw3W@BbzF)?L0W;bLsGdVaB0yzQ^0vQD+05D=SWnnisF=99~VKZYfHZ){rGBhzVIb<+pH#0LdF%tqg11$m<3OYJxWppShAY*TCb95jk03%^DVK8N5Ib~rvHZU|~HaKEoIbk_rG&VUhI5s$DIAk~#0yzj30vQV?0A({`VmUQsH(_QpHZn3~Wn?inGcq`0I5Ib3HZV9jWETQC2`vH_3OYJ(aAk5~bZ>GXV{dMAbRc$NY;|Q{ba`-PCMYQ&V{dMAbRZ@GBVlD>VK-(oI5lH8H8WykH)b(0W-vE3IAl0sWiv80Vm289IS4HR7X>;xZ*XODVRUbDAY*TCb95kfVQh6}UvznJWhN#lDIg{$03%^#W;tSFH#jq8H)A+rVKg^2I5RjmG%{j0V`gJBF*i6H0yzUM0v7~2I&W}ga$$6Dav*kLY;|Q{ba`-PCMYQ&CIBO0WMO77G-5R|W@TYAVq{}8WMMNoW@2VGGh;F|Fk&-e9RfK5Edmz>Iy!G~WpZJ3Z*m}ZVQh6}UvznJWhN#lDIg{$03%^!HDoklF=IF}IAk|4Ff?LgG-EU}GBG)2WM()tWMnxX0yzUM0v7~2I&W}ga$$6Daw;e(ASM7KVK6l`V=-o8H#s(8G-Wk5Fl01gW@0ioFfln|VliQ5W+4JO0wDq!1ttJCG+|^pG+{9?I5uTvWMpMAVL3ErF*0T_GB7kbIAk&-0yzUM0v8H8I&W}ga$$6Daw;e(AY*TCb95jk03%^BHDxt6GB`G5F*jy0F<~@hH8wY8VPs@tGd43eIA%B{0yzjJ0vQV?05>%e`BV>vNmH8(kBG&p2pHeoR}W-~ZAWhVkT2`vH_0y;WxaAk5~bZ>GkJ}4;wBVji=IXE*hGdE>6IX5^oIAdZsGGRG2Vlp;0VlXpgG-N3PIVl1e2q0r`ZgX@1GBaUfF=I73VrDdDV>Du8F*#y3W??gCV`eisIWadeD*`zNVE_O+I(A`fb!7l!Y+-YAbZ>2JUol@Xc42IFWiDuRZERrx06IEpZgXXFbY*e?b98cbV{~+HZERmLUomNJb7gXLWpXZPbZu-n0wFp&WMyVyb!>EBW^7?+a{wb@W-&G~W-wtkV>dZ8IW#q8I5lE2F)(FiI5lHpH#lWEI07LdIy!k_ZERm=Z*py6baZ8MC}VGKb95kdZ*6QkI&N=dWhN{jW^ZzBVRT<+Y++|}DF7p3FfcedV`OACF*js6W;Ql7F=b>iFk?7mWMVa9F=H_?Fakp#I07LlIy!k_ZERm=Z*py6baZ8MC}VGKb95kdZ*6QkI&fifb7fz0Wpj0GbS5kyW^ZzBVRT<+Y++|}DF7p3GG$^lFk>`1I5TE9Wn(fnVKgx}Vr6D!W?^GxGBaXkG6F*2JUol@Xd0}mAUteZ#a&2LBbY*fbXmo9CKms8;I$~vKX>I@`VPZ2jVKro8F*PzUF*r6fVKFmiVm2~3W-~J}F*!D5FhBw!Iyz-;WB?;!Ff}weG%#W`GGt?BI5RUjF*Z3jWn(g8I5s&jH8U|}Kms8;I&fihXaFN&GBsvnGBaj1H#ucwVmM)DV=y=|IAbs|Gh;PjV>M(qKms8MIy!f0WMyA)VRUFHDIjBSZgX@1BVjmYIWaLXV`MZkWjHf5W;r!wIbks}V>LNBFgar}V=z1dLk2(sAtgFGZ*XODVRUbDJUl3KbYwa@Z*z2VWnpb5EFfcVZgX@Xb8mHWV`X1*WoKz`ZYC)JBVjpYWjJADGBjZ}FgIahWH326Vq!EgH#s#jFlIA1Gc-N|LnC1T06IEzZ*_8GWnXe-XK8P40CRM5bz^jNZ*6Q}F<&urZ*_8GWnW)%WoKz`ZZ2qaZEOZqPfbi;K~qyjQdB5qcyMwl0B3SV>WXmo9CBWGbUVrFAEVP!NoG&g23H8VFjWH~Z2G&x~mWMgG8F*#*aPfbi;Lr+ddNk?BuML|SGQUGUiZ*_2AUt@1>W@%@2a$$67Z*DGVbZu-SXJIfoGB7k|Wnwg8GiGKrH8V6eGBaZ`Vq`EiGGt?AV=z=tO-x@!PC-IUMPEiwQcXcrR7Fx#0B3S|zZ*FF3XLWL6bZKvHE@*UZY$Io3F)}eZF*0N~HDok4GBjjmHeq5mI5jk7G%;j2VK_B1R8LJzUqwzqLQF+pRZdbxOhrLcMMPglML|?mQbkh$XL4_Ka9>|zZ*FF3XLWL6bZKvHE@*UZY$Io3F)=YPW@a~JF*rG4H#ajlVmUD|Ib<<1FlIG2IAS(pR8LJzUqwzqLQF+pS4mDpPghf4Lr+amK~w-|a&L8TUteQyZf0p`b#h^JX>V>WXmo9CBWGbbG&nXlWMVcqV>viwFl9MpG-hIAH!wCiFgZ0bW@2VkPfbi;MOZ^cP*h1zPE!D9a&L8TUteQyZf0p`b#h^JX>V>WXmo9CBWGbbGcY+fWn*MGIAdWnVq;-5IWuN9Fkv@1Vq{@9G&5pUPfbi;MOaWzQdC7mUqehmQ&RwEa&L8TUteQyZf0p`b#h^JX>V>WXmo9CBWGbVWH(`DVrDrpG&3V>WXmo9CBWGb_G%#T_H8f*nWiU2mWi(|sHe_ZqWHw|pHZWl`H8eC-Pfbi;MOaWzQdC7mUrj|#LPb(vMpaHjR7p=x0B3SkVKy^kVpLB}OkYJV>WXmo9CBWGbaG&441HfA$7IAb?6W-~N2HeoYjHfAwpGGjGmI5A^XPfbi;NJT+JMN(f+PE1(|zZ*FF3XLWL6bZKvHE@*UZY$Io3I5IIgVrFDFWj8f7I5#yhHZwRiVm2@`GGa0~VPa!4R8LJzUr9|+OhrvaPE|zZ*FF3XLWL6bZKvHE@*UZY$Io3GB;&qHaR#mHDNJiWM*bLWMW}vGcYkVVl-kfIAJj{R8LJzUr$g}Nl#8eOkY%4P(=V|a&L8TUteQyZf0p`b#h^JX>V>WXmo9CBWGbbV=`kfGiEq8H)UcrWH&ZpHD)$7VlXykWnwWgI5uTePfbi;Q%ylkOkYM!PeD{)R9R3(0B3SR9R3(0B3SLHqVKy^1Fk?4nGGbvcIAb<2WieqmF-&PV>WXmo9CVE_OtD*$P3WMz0RXmo9CTLK;kIyz)!b7OL8aCB*JZYU`rV{dMAbO0k^H8nUgWjSOvHfA_sVKZhnWo9%qGGj1dFf?Q}GB`43RRTZ;TLK;kIy!T2b#h~6C@COgZ*FsR03%^IF*Z12G&wXeGcYwaH8f*pG-6>mW@9-vWoBeBH8C_-0zd{^0v;neI&W}ga$$6Day&dJb97`nI&X7ya%Ev{CM+OhZ*FsRAaG%Fb7fy;a&m8SCMf_TVL322IW{;qI5;;qVlrVcGB`6eG-ft5Gh$^oGBsmnHdz8dAz=UjIy!J+a&u*0WpZ+FasXp&VRLhIZ*6Q}F<&uoVRCb2UteW%a&K}jXmo9Cf&w8IIy!G~WpZJ3Z*n~-V{dMAbRckHbZB2=Z*6dIZe?zCCMf_TVPP{eVKilBW;8Q2VK_56V>dH5Ib}6tIbk<5G-72mGF$>f6@mgG5;{6>aAk5~bZ>G!C~#qPXkTM*ZE$aHWo~pPCMf_TVKQMkW;Z!7V>4zoG&wOjVq#@tHa0OgWHL8oW;kSGW?lkA5P||B2s%1%aAk5~bZ>G!D069gWnXkD03%^IVKHMjF)}!0WjSJGWi?|oWidA}GdE#4GB;*rFf}k>0z(FZ0wEGQI&W}ga$$6Day=+>bYwa@b98cPZf9S1X=QgQ03%^GW;SFtH#9e4H8x=~G&nFeFgP|fG-ft9GB`0dWM(pA0z(jj0wEJRI&W}ga$$6Day=+>bYwa@cXM=dX>Mmx7HFfuSQF)?Il0z(FZ0wEGQI&fihXkTM*ZE$aHWo~pRb97`nI&*Y#X>MmW8Gc_?bGcz$VWHoXELk5BZAp$x&esE!QXkTM*ZE$aHWo~pRDF7p3IWRIaVq-HjG-6_AFfcJ@Vl^~2HZe3gF=RC|Wn?ljbOJ+y0wD-GI%#fXWq2qlAY*TCb94YBVPP_3H8e0XG%{i`GcYkSGcz(VF*!D2I5#pjH)dotICcU<27&@12s%1%aAk5~bZ>GXb7^{IUvwxbAY*TCb94YBVK6s0He@+BHZV3YH83z^Wny76G&wP3Vq<1zVK6jhICug>27&@1E;>4IaAk5~bZ>GYJt$*uZgX@XaA9<4Ut@1=aBps9ZgeIrAY*TCb95kZVRUF;V{dJ6Z*FC7bS5bPBVjgWVr4gEGBPn@H!@{rW;QTlIW;#hV>x9wH(_C6IbnJNLo9*mGh}3Z0z)i<0wD-GI%{QlC@COgZ*FsR03%^CGBRX0Ib=9FWHx4GW-vE3WjQoBVPP_1IWb{nGdDGU0z(FZ0wD-GI&W}ga$$6Dav)=GZgX@Xb97`nI&*Y#X>MmGC@COgZ*FsR03%^xHfAt2WH&ftWid23FgP-0I5lBoH)b|8IAvxrVm4ub0z(Ft1QB0jZ*6dIZe?zC0AF8YZ*6dIZe?zCE@*UZY()bX4mvt-aAk5~bZ>G!C}VGKb95kdVPb4$CMf_TVPiC6WM(yCWMw%uVPiF6W??ipGGS#gGBG(~IASG!D0E?BY-J`UDF7p3HDfhqWH4nhF=S#mGB{ykGBz}2V`F1EHe_aGWHvE5g#tMTMFSTCIy!V=Vr*q7DF7p3I5IP4Fk~|`I5lK4WH@9vGcqt?H!@~7IAb<9H(@h1hXOf80~ZcDI&@)TY-K28Z*FsRAar43Y-J`X03%^IV=y*3G%;l`HDxm~HZU?|G&W{3Hez8oG-NR}Vlp#{0yzvt0~ZN8I&@)TY-K2PVPb4$CMGEWBVl4RH(@t6VPY~gGGS(6F*9Z{VK+2oHDxklV`ODyG&G9>IR`}p7cM$FbYWs_WhirWWI8%&ZfSIBVQgu7WpZC^X>)WuX>D+9Iy!V=Vr*q!X>MtBUvOb*ay}^lBVjjYWMeflV=!T1F=AvkH(_NqH#0b9FfuteI5%QrGG>heIV?p37ack}Z*XODVRUbDJUl3KbYwa@Z*z2VWnpb5EFfcVZgX@XbYWs_WhN;ABVjXSIALXGWoBbJH!v|YH!@^0VKXr_VKg&jWny7AWHOHeIU7X-7aTe|Z*XODVRUbDAw4K#Z*FsRAar43Y-J`aAY*TCb95kdVPb4$CMf_TVPa%uVl`wrWI1MIGBaZ^GcjW~IAt|7G-Ea~IW}csHjx538bt#a96CC0aAk5~bZ>G!Jt$*uZgX@XbYWs_WhN{jV{dMAbRcwLVr*q5DF7p3W;kVHVP#}EF)%e{HDqNnFgZ9mIWjjkG-fhnH8V6}lL9#!MFSTCIyz%)WnpqCDF7p3VK*@_W;iutH8?n7F=8+2;1GGs9|H8W&oG-YLGl>#|M0~ZQ9I%RTUb7d%LbY*g3bZ>Gg03%^BVL324I5apnHe+LCWH2*fVPQFCFlIS8Ffm~`GdX6L0yzjp0~ZiFI%RTUb7d%FZ*FsRUukq@a$$6Dawz~KVKii6W@0p9Wic@}WH~ZnWMnxvGi5bqGB;*8I51&3WSIgv4n+eOAUZl_a$$32C}VGKb97&6bY*g3bZ>GjAY*TCb97&6bY*g3bZ>Gg03%^FIc79uWI1ItGGaF~V>x3nWn(lmF*7t`Wo9>JF)=fn0y!Q<0~ZoHI%RTUb7d%VbYwa@b98cPZf9S1X=QgQ03%^zHZV3cWM(sFHfAz2VlXl?I5;#jIWS>4IW{w6F=At#0yz*x0~ZrII%RTUb7d%VbYwa@cXM=dX>MmZtH!x&kH)S$pH!x#2IANgzIR>Eu83`r;F*IQ{Ib~&JH!?6{G-NO_I5aS2GC442I5J{lI5%Q7qXIbxMFSTdIyz--aBN{?WhhH!c~p6DWhN#pAXZ^)b!9N2VV{dMAbYE$7WpZJ3Z*nXkOJ#Xfd2nSWCM+OUVQh6}L2_qvASNatE-o%903%^AWHK{1IAS$qF*7tXGGb;pWiv80V>387V>UG~F*rG=0y!&10~aMaI%#fmWpZ>VOJ#Xfd2nSWCM+OUVQh6}RC#b^CMGN(c42IFWnX4&VP|tG03%^#WHe(rIW%EqV>L1`Ibt?BWHmHoF*#;4Fg9W{F=At>0y!f^0~Z-OI%#fmWpZ>VNpxj$EFejAWpXSac42IFWnX4&VP|tG03%^DGcjdiHe_WmG-Nq7V>4zqHezNrG-WnsI5cE5VPrO|0y!5&0~aMaI%#fmWpZ?1Z*pH@b8~5DZYWD-c~p6DWhN#pAXZ^)b!Aj}aAhVYEFgAaY;|Q{W^7?+b148LVPP>gFk&|`Wn?yDV>V`EHZwS4F*#y2WI16tWo9)tIjsUYBSixjIyz%-ZgX^BX>?_BVRUbD03%^GIA&#GIAdWsVlgl=IA%FEH#KHtGc-10Ic799F*0RE0~b0vX>?_BVRUbD03%^IH)Sw2HDY08G&411H8V3ZWMecrHe)q0I5#shVKih#0~Z21I$~vKX>KSf03%^DGc;x}H834FflV^GdW^qF=JykIXJxnIS9Q18Ve=>VKp#gVlp{0WHB%@Ibt(s`Zft38Whf~iV{dMAbO0k^H8WymF=9D0VPQEiHZVA4WHUE7Gcq$|W;io7VKQbj#R547MFSTGIyz}{UukY^X>MgGVsCG3DF7p3IAu3EH(@q7GiGKoVqs%sF*Ia1Wj8c7F=b<9GB-Fd#{xM7MFSTSIy!G~WpZJ3Z*p5*D06gVIy!T7a%pa7Uv_C_cPRiPVK!tqGdMOdG&yEAGcaQ~H8n9cIX7W4F*q2)_WimK8GBY$WV>dQ7Wn#?&IT6hQ85tmBZ*FsR05xMYF*7n{IXN>nVliYkVlZSmW-?=AWMMZnF*jypH_rk&7exaX7&M~Ub97`nI&*Y#X>MmK~2Fk~=hGh#7eH#lZAH90miW->H3VKrnqHZV2a0yz-f0vQ+}V{dMAbO1AAHa9q7V>U2kFfcbcFf%YXVmUTuHDxt1WMMQiH#FY@ITl3&7ZW-WrF*If{He@$7W#Ixj5#a(E86abCZgX@1GB-InGdMG3G&nRcGB{;sHD)w6HfA_vF=R6|W-~E0;{rJsMFSTIIyz--aCCVnDIjBSZgX@1BVjc)G-fn8HD)$uGG$_8IXN?8Wieu8Ff%tfG&DCbH8JG^IR-@o7YI5!b7^{IC@COgZ*FsR03%^!H)Aw0Ff}+eG-G2pF*jmnHf1+BF=k;mW@0g7He@#E0yzdn0~Z21I$?8PVRCX|c_=9WBVjf-Gh$?8VPiQtFf(E|WMMEcV>LKAGiEkqH)drxWiaUiIq3o!2q0r`ZgX@1W-?@CVKq2pV>B{iH#jn4Fk>?|VKOr|H)J_9I5{;p>jF6jMFSTCIyzxY-M3?C@BCVVK8H4HZ(CZW;8HkGB7YXGdVUiH83(bG%+`1H#j+CX6*tw?E)DHAY*TCb94Y=V=`tjGB#l_G&wjqFgG(WI5RLdH8wUfWM(;KH!@=H0yzdn0~Z21I$?8PWMOn=C@BCVVKHJgW;ZZ0HDxn6H)UcmFlI3}WHe$kVK+82WMVZiG4TR9@d6nLAY*TCb94YTH#IqCVm3H6GBi0gIW{ynGB;*9IXE(9Ib%3uWic}I0yzdn0~Z21I$?8PWMOn=Uvz10Whf~CBVjgSGcz_ZH)c0vHe@+9Wo9-vHe+QlV`4BlIAk(8H!$@AIrRb=2q0r`ZgX@1GG=5oGiGCAFf%q|Gcz?XGBIT{VPr5lIAdlsWH>l8_X0TvMFSTCIyzxN2VDF7p3V>4nkWjQuEV>Dr5Wo2SxGh;J0WHm7~V>4nkG-Neq`2sol0vQM(V{dMAbO2#yGcYn`Gi79CI5cEtG-ER{H#Rk9W@0flVP#}6W-|K%IR-@o7XmsuVRK(;Zggd5WpXGf03%^FVmLN3I59RdFk)ddG-YOCVrDmGGh;MjWo9`xH#K7Y0y+Hx83-U_Z*FsR0692gGC4M7IAJz3H8D9bVqs!AH)S|DHe)z5W->N3IR64U21NrG0y;Wjb6<0Ga%pa7C@BCVVPQCBGdVIaVrFJFHaTQvWivBoWjJLsG-hUEHZwLcWB~&?0RtNdAY*TCb94Y*@21NrG0y;Wjb6<2}Vr*q7DF7p3W;tVGG&f~qWo0>IF*9UkWHB=^IAS(5IWRJ2IAJwo1p_$+0~rV)V{dMAbO1OsW@9*FI5%NqV=-nqW;ix8I5cE4H#ImpGiEhpGh+t>IR-@o7XmsuVRK(}X>DaFDF7p3IXEz8HZd_YIWsUgWidH3GB`3~IA%3sW?^MyVKO*02?IF^0~rV)V{dMAbO13qWiw%6HZ^8sFgao}W-~TqIXE^lH)Aw2GBz_fVlfK?IR-@o7YI5!X>(s;a&lpLC@COgZ*FsR03%^FHe@k4HeoS0WH@CqG-769IWT5nHZ?amWjA6oI5#p4133mo0~ZK7I%#uXVRCX|d0%g4Uvyz&Y-MvODIjBSZgX@1BVjc%Wj16qW;QlAWi&Q4VKg~mV>CH3IAb_vWHT{lWn&KmIR-@o7YI5!X>(sDaFDIjBSZgX@1BVjW*WH>TqW@R~KHfCcuIbt<2G%#f~VPa%tWjQf2H)It9IR-@o7YI5!X>(s@Y;R$7X>Mm4V`VZnGcsZ|V=y%}HaRpgW@0xs7Xvv4MFSTRIyz}{UubV_Z)at0Wp8zJC~j|LWnXl8aAheVV{dMAbO0k^Vr4O7V>B`~Gc#mkF)%n{GB7qWWMwioHa0XjF=k<583Q>FMFSTTIyz}{UubV_Z)at0Wp8zJC~j|LWnXl8aAhnYZf|5|DkdoaBVlGSVKQbkIAvsFVl!c8VL3B4Gh;J3GBr6hI5RLfG&UOpIT1wz7aux0X>(s_Z*6a9Wo~6}b#o|gZ)9a(ba`-PEFfcVZgX@XZf|5|Dkdo)V{dMAbO0k^IAJhhIAkV)CVqrHhI5RaiFf?H!133mo0~ZK7I%#uXbYWs_Whf~iV{dMAbO0k^GGkvi2133^a0~r_~V{dMAbO2*vWM(-rH8W;oWMefjF*#vmWHU81GBz+YG-fk4Ib|;cITl3&7ZW-MmMmUT5VPiKjI5;piIWuK4GBsm1HeqFCH3K;iH3JzKAY*TCb94YSGht?7Wi)0tHZW#4F*Rd0IbtwkIALKhVK-%FFgGzb134B&0~ZrII%j2cD06gVIy!fAbaH8KXJ2+{Wp^n6BVjf(H)duzVmM`DGB`LeVKFc`G-fa{VmD$iH!?M1F)}#=IT1Mn85tmBZ*FsR0Ayq^W-wzlF=I9}WHUH5W;i%8FfuY@VPZKrI5#vjV><&m7exaX5;{6(WprO*b0~9kWI8%?baH8KXJ2+{Wp^n6BVlG@IW{n3Ibt$pVK^{0HfA|7H)Jw0WHU54H#ImlF*7{_IS@Sq85kgAZ*FsR0AVsQVmUEoWin-CG&o{1G-75pI5c86HZo=~F=IA3G(Q757DWRW6FNF)WprO*b0~9kWI8%`b98cPZf9S1X=QgQ03%^DGGb<9WHC7~V`4dBIAt(4W-~Z3FgZ72GBac_Vm3BG133{v0~r}0V{dMAbO10gIXPovW;JAHGG;L~V_`8jGcY-0F*rFlV`4RBHZem3ITv9706IE!VPb4$0Ap-nb8~cWZERmLUomuHVr*qDXmo9CPXi%3I%H*LVRdYDUuJA!XLA4}VKg-~F<~?|HZnLlG-G8rIWsn9HfAzoGht#mFlJ>kWlsYkAv!v0b8l{6W^ZzBVRUq5awubOZgX@XbZ>2JIy!D|WMw8SAZBlJZDDj@W^7?+b148LVPs`8HaBHsV_`TlWiw)8VPi97F*7+bVPauoIWb~oIY$FSA5Q}zDLOi8b8l{6W^ZzBVRUq5awubOZgX@XbZ>2JIy!J+a&u*0a%FRMY;-0pAZBlJZDDj@W^7?+b148LVKp%~I5lBmIAvxtH#1>5F*7!0I5{?EVP;`sWHmElWk~}=Cr<+*AUZm4aAk5~bZ>GzJScN?WI8%;b98cLVQnTXAZl}OZeM0^a&2LBbY*fTDF7p3GGaJ5Vq-EhFk>}1Ib$(qVPrBjW@cnKWM(-wVmCBpO9Mk5PXi$#Iy!G~WpZJ3Z*n|5D06gVIy!H2baG{3Z6+)rYIARHUuJJ|ZDDkDWpXAaDF7p3HDzUHWi(|qV_`NlFk&$>W@2J6Ic8)vGBIUgVly)}O#?$8VE_O+I%;!oZeM0^a&2LBbY*e?V{Bn_b98TQY+o^7F=}&fZeL$!Z*py6baZ8ME@*UZY?=cV0y;WtWqBwm03%^zIX5_EW@IyBG&p5rFkv-gF*If{I5sgjWi(`BWim5R12>uj6(c%2Yh`&Tb97`nI&*Y#X>MmV>OCMf_TVKp%^Ic703GGj3{HaIt7GG;JlI5A=}H!xu~GB;#pGExIKA({gfC^|Z8WqBxbbYwa@b98cPZf9S1X=QgTAY*TCb95kcZ*_8GWnXe-XK8P4CMf_TVK6r_IAvloHfA(rIb$(lG-EJkVmUH6WoBY9WHx3vF;oLLCYl2kAUZm0WqBxbbYwa@b98cPZf7PYEFg1lb#h~6UvgzV>OCMf_TVK+E9VliT3WnpGEGd5&nV`DU7H#lZEGcsakF)}k{FjfOM9-0FcB|185WqBxbbYwa@b98cPZf7PYEFfcVZgX@Xb8mHWV`X1*WoKz`ZYC)JBVl4VHfCluIWT52GBRW}H)1$uG&VCZIWRFYIXGlEWMNnXHzS$@6&^Y|Yh`&TV{dMAbRc7BVR9-gAaieZa${v*a%E>}Z*C?gDF7p3IXE$9HDzToW@2PGGBRW|H)JqkGc-42HDqQrHD)m}S_3y6ngbOhIy!4*c_?FVZgX@XV`yP=Dl8ylZ*FsRAaieZa${v*a%E>}Z*C?j03%^!HD)q4Vly`}H!@{2G+{VnH!x*5G&o^oH#speH!(0=12-X>0~I7XI%{QlD06gVIy!fAbaH8KXJ2+{Wp^wfb8mHWV`X1*WoKz`ZYCxv03%^GH)CdHWH&K4V>mQ7H#1>kGiGHrWn(d7H#svlW??s812-a?0~IMcI%{QlD06gVIy!fAbaH8KXJ2+{Wp^wfV{dMAbRctYb#h~6UvgzV>ODF7p3Vqr34Vm3KsVmM=AWjAADV>U22IXPi4Wo0)uF*sy1U;{TNngbOZIy!G~WpZJ3Z*n|5D06gVIy!H2baG{3Z6+)rV{dMAbRcVGc_t|UBVjiGYJt$*uZgX@XYh`&REFg1qWI8%?baH8KXJ2+{Wp^n6BVjT$WnnU5VmUWCIbmWqW@TeGH#uf9WMO49VP<1vW-?|2HyoM+6&^Y|Z*XODVRUbDAw4K_bYwa@b98cPZf9S1X=QgTAY*TCb95kUWqBqk03%^BHZ@{0Ff}(~FflYVGc_<`F=H}0F=l3BFgZ0gF)}h}12-I+0~HuLI&W}ga$$6Day%$wZ*FsRAZulLCM+OhZ*FsRAZulLCMf_TVK-qmW;8isF=Aw9Gi5R}G-fw7IXE;pF<~@eW@I&FVrm077McSU9y&U2aAk5~bZ>GzC}VGKb95kUWqBqnAaitNIy!T7a%pa7Uv_C_cPRiPVKp^3IA&usHa0OZWHx3tWi~i8W@2V$WM(sFHZfr|G;9Mm9GU|a9y&U2aAk5~bZ>GzD06gVIy!T7a%pa7Uv_C_cPt=dZ*FsRAZulLCMf_TVKHK1V`MimGB`3aIW;h4IW;*nW@IurIAJm~He)$sVr~OB9GU|a7&GzJt$*uZgX@XYh`&REFfcVZgX@XYh`&RDF7p3Wiv1^Vr4NmH#ssjVlgseH#0RhIAt+8G-EL|G&Esla053MngbOcIy!G~WpZJ3Z*n|6C}VGKb95kUWqBqnAaitNIy!T7a%pa7Uv_C_cPRiPVL4+pIWaIZVmLE3W@0ulFl1t4He)z2IA%CwG-fzqIC29w9GU|a9y&U2aAk5~bZ>GzJt%W@WI8%?baH8KXJ2+{Wp^wfV{dMAbRcVGc_t|UBVjiU85Wic@_Vq#%6Wp)EM7McSU9y&U2aAk5~bZ>G!Jt$*uZgX@XYh`&REFg1qWI8%?baH8KXJ2+{Wp^n6BVjc(HDWS1H8wXnHZU_dHDP8kV>n@DHa0mhGC5>7WMp^)HyoM+6&^Y|Z*XODVRUbDJv}IMbYwa@b98cPZf9S1X=QgTAY*TCb95kUWqBqk03%^#WHeznF=SylWH4rCVmCEpI5an5VlrbgHaRpnVKHNR12-I+0~HuLI&W}ga$$6Day}?yZ*FsRAZulLCM+OhZ*FsRAZulLCMf_TVP!QjWMgJ9W;ixtWn?gBHfA+rWim8mGcq<~Fk)e3V|)WQ7McSU9y&U2aAk5~bZ>G#C}VGKb95kUWqBqnAaitNIy!T7a%pa7Uv_C_cPRiPVPrHoWHDqjHeoR_VL3E2G-6{jGdVdpH#jpmVlX&nHhu#)9GU|a9y&U2aAk5~bZ>G#D06gVIy!T7a%pa7Uv_C_cPt=dZ*FsRAZulLCMf_TVPQBmH#Ie5W;HQkGG%2pWHvE2VPP;cVK`)EIASznFn|L$9GU|a7&G#Jt$*uZgX@XYh`&REFfcVZgX@XYh`&RDF7p3Gh;F^Ff}t~Hf3RDIWT59G&VIeHDNh5GBP!0H8L_`f&(`engbOcIy!G~WpZJ3Z*o38C}VGKb95kUWqBqnAaitNIy!T7a%pa7Uv_C_cPRiPVKy;kF*!CfH#RphVPrL9H8?dkWnpGyH8(XgWjSItHG~5<9GU|a9y&U2aAk5~bZ>G#Jt%W@WI8%?baH8KXJ2+{Wp^wfV{dMAbRcVGc_t|UBVl1UIWRdkVmW3uVly^0H!w0dH8^H6WMeirGc-9kH(`bYHyoM+6*@X&Z*FsRUukq@a$$6DasVS?GdN*0Gh{U|F)%qZHZeIhVPi5dI5TB5GB`0dH8n9ZngbO&I%#xea$$6DasVS?G%#Z{GGb#hGBYzcGh|{lG&wgiVl_84GGaMlWHe-CngbOGIyz!yXK8LIDIjBSZgX@1BVl4OHaRglH8x^pG-hUHF=I9`G-WttHa1~nWMeWjH)VpZhHwKym6$m;yb8mHWV`V5QAY*TCb94YBVK_2jI5A{2VKiklWHm4{Vm3B0Wo0sAVKFc`F)(6fVU7bg2ATsE2s%1sVRT_ADIjBSZgX@1BVjZ-W->D{WMefrF*h`3GdVeCG&wOaFflPTWo0lpIA)LoHwKym6$m;yWo>YDc_=9$V{dMAbO0k^GGbw2G&p85He_LAG+{9?VK_4~I5#jhW;ruBHZ(Cek^?sengbOGIy!7+ZfA68C@COgZ*FsR03%^FW@ceCGBP%1VKz2qF=AygIWRFdI5jsiVK_HoFfcHb12+bm0~H85I&W}ga$$6Dav*bbWI8%?baH8KXJ2+{Wp^kkAY*TCb94YBVK8PjI50RcHe)b2IW%QqI5IF}H8V3|Ic7FxFlJ#nF_r^22ATsE2s%1*baE&uAY*TCb94YBVK8H1H#a$DI59RbI59RdH)c0DIW{#mI5ROgGGsJlW0(Us24MgIIy!4*c>rTMmW;HcrGG=CFFk>?@Vm4toH83}3Vlgr{H8eCdVr4R)12`5F1QruII$?BQaA9<4C}VGKb95kdZ*6QkI&fihXeKEDBVlD`HaKQCG%+zbG%+?|Fkv=iFkv<_W-w+qWH@9rWnrNMI1!-(7#SdAZ*FsR0A^xjGdW{pVKX^3Ib>lpVKHPlWiezjGB9E`VPa)CGou4I7ZU^)6FNF!bYE~`bZ97ZbYwa@cXM=dX>MmVK-$mG-G5iFgGw`Wim20WMyV#H!)>mH83$_G-G6^12`8G1QrN7I&W}ga$$6Dav*MRWMyA=X=QgjV{dMAbRceTWMw`mDIjBSZgX@1BVl7VWHvcBIb%06G&W>6W?^MzIAdWnIALLAW@BY#HaMvRI0h3076LjtZ*XODVRUbDAZ~ADWnXq_Wp_MoZ)9aYC@BCVVK6jgI503|Hf3WuGc+<}GG%2lVKX)~W-v7~F*h|gGphqQ69g6$Iy!G~WpZJ3Z*p5*C}VGKb95kdZ*6QkI&fihXeKEDBVjmWGcqwWWi&TtFf}$|GhsPmV`O4BHf3aFH)dfuH)gE^I1#M_7#SdAZ*FsR05UQ+HfAzoVPiQqV=y^2Vl-tmHZ(P3VKri9Vr4L9Ij;ja7ZU^)0y;Wjb0{eQBVl1UF*so{GG=2iGBGk`HDxq0Hexe4W@BbCFf(R2IXSTdII#m52q0r`ZgX@1GBIQ~G&nJ3VPa%vFlAw7WMVlnWMpM!W??xsFk@pevjaE=69g6lIyzxIWuK7G-YBrG-EbnVl+5pGBhwZHa0mpGiG5lIWxHfIJpBD2q0r`ZgX@1G&N*oGc+?cGB_|~Wo2SBFgGzWH!?RkW;ii6WjJLyy8}1|69g6lIyzx354F)(3fGB;*pzXLc169g6lIyzxvZuV=-f9HeqEkGG;V5WiT)>VlrXD131A07ziL^Z*FsR05@beVmV|qWMyV$HD+dGGiEU}IXE{lHD)zsGcq+|Gs6Qo1``Ap0y;Wjb6;j`Z(($4Zf9R`Z)t9HC@BCVVKy;jGiEYlH843fGGQ@eIXF3HI5J{2G-EYmGG%3CVZ{SD#RC`!AY*TCb94YSV`X7sGhs71IA&otHe)d}G-Ek1GG${iV>CB6IALMO12_f~1Qr51I$?8PX>N37XJv9IDF7p3Ib|_4F*##1W;r=!WMMZqHaBE3F*GnaHDWPgWH&i8$pbja0~iP(V{dMAbO1CnVr5}DGht>nFk&?~Wn*JGIAvyGW;HNmV`FAzIbzELI0h3076LjtVRK(|baH8KXDBHEBVjl-HZV0gH#ImmIWaY5W?^J9F=jG2IA%3DF=H|_V`R+(IL!kX2q0r`ZgX@1G&f^4HDP8mI5aUdW@KVBGB7taV>356Vly-_HDYFA&jUCH69g6lIyzxlxWo9^KI5{$5VP!BiV>4wrI5;+DWMyVIWMgI3131+K7ziL^Z*FsR05@e~W;ZotGC4OmVP!F8VKXvhVP2``H90Y1H#IdhF*0UkWin-CH`@a^1``Ap2s%1xb6;U{a$$L2Z)RU~VPb4$b0{ewV{dMAbO0k^VK6x|HZx%`HDzWqHZfsjGBYz}H!(0XFgRvoWi~l5-2*rV69g6rIyz}{Ut(`>Y-M3?C@COgZ*FsR03%^EGBRd2HZ^2sH)UloG-hEjGcq+aVPs=uVKO;kWjJKt12_f~1QrN7I%#uXWMOn=C@COgZ*FsR03%^BV>mWuVlZN4IAt<4F=I40HaIabI5{{tVKq53GcsY}12_f~1QrN7I%#uXWMOn=Uvz10Whf~iV{dMAbO0k^IWRD0H#ImpH#Rb5Ffn5}F=k>lVlX#hGGjPpIWjOZ;{!Mb69g6rIyz}{UuJA?VRUJ3XJ2q{X>N2VDIjBSZgX@1BVlAXV`O4BIAJz9Vq{}6Gh<|7H)J$sH#RmiWi>ZAG&kh~I0h30785!;X>(s_Z*6a9Wo~6}b#o|gZ)9a(ba`-PEFf-gWMwKQDF7p3HaKKuHa9miWimB6Wo9ulGGj0>VlZJjV>eA~WHm5iIA-YsI2{uN77;o+X>(s_Z*6a9Wo~6}b#o|gZ)9a(ba`-PDIjBSZgX@1BVjdUIWajgWMefnHDzODWn?pAV>o6vH!wD1HZx^pVPxwAI1dv976>{zX>(s_Z*6a9Wo~6}b#o{wAY*TCb94YBVK-zlVmC83Fkv!fVKg){I5IdnFl8}hWn?pCGdVOiVeJDr1``Ap2s%1xb6;t0bY*8{awsVvV{dMAbO0k^V>L55FkxdhG-fa{I5{*oWn^PFH8?ObVKp-~Fg0N{?*ljn69g6rIyz}{Uv716Vr6nDDIjBSZgX@1BVlG^V=^`~Vr4ckV>2^iGiEt5HZ(S3HDhLBFgG(fGiC7uI0h3076>{zX>(t5baH8KXDBHkV{dMAbO0k^VL3H1I50FgH!(IcWjHi6F)}$YGch{zba`-PC@COgZ*FsR03%^BFlIA2IWRLdV`VWjVPax1Fkvw%12_f~1QrB3I&x)ZC@CN&03%^FIA&yJG%#gmFk&$`GGsG0VrDWqGh;F}F=8?`F*7jz12_Wx0~iG+0Apb`H8Ev3W@R^KGdDM8WjQrCVlpr`H#lT4IAvxrH2(uQ0}})m3OYJ+Wo9TTAY*TCb95jk03%^JH#szAWHmQrIW;n5I5IgiWn?olH#lK2F=aJ0V_`A@1ULu*1Q`n^05dmXW->WsV=*;lW;kUrVP-cuH85m3GBq{zc42IFWnX1@VPkYCDIjBSZgX@1BVjRSWHw|qI5J{nVPs)tHexX_G&D3YVP#`CVm4(nI5P(XI0h3077IE$c42IFWnXV{C{!jUDIjBSZgX@1BVlAQV>2@{VP!NhGiG6AWjQc1F*Y|cHZd?YG%-14W@8BiI0+L37798#c4>2IbSOr3Zeu1UDIg{QBVlATH#0dfW-~Z5GBP$WWMVgBW-vBmWHLB1H90skG%yPUI0y>_7z-umCIWP|dI1Ud47!f7_V>386V`4BgF)=Y=WMpG7V=_50Wn*MyHfAz8IW{&n5d=67VE_O+I&N=dWdLJrVRLhIZ*6Q}F<&umZ)9aIXmo9CmIM|EIyz--aCCVnDIjBSZgX@1BVlGTGGj3@Gcq)0Gd5&lI5Ib6G%__dVmUB0WHx0qGBFecI0lvk76>{zZ*XODVRUbDAYyNCY$z!pV{dMAbO0k^V>CE2WiVneF*r9gG&x~nWMW}vH#9giFl8`iF=aG376dp3mIM|EIy!G~WpZJ3Z*p5*D069gWnXkD03%^#HDqIDF=aS3Ic8yFH#1~7IWaalH#s$BH8W)~HD)sy1ULp51Q-q=V{dMAbO2#7HDWh6WHL83WM(ljG&eXjG&nRfG%z$`Gh}6EG-4VAI1H8q76LjtaA9<4C@BCVVPj)sHaRvlW;rurV>dZDFlIA2GBz_fIW%N6WMN@tHXH;vmIM|OIy!J+bZ97ZbYwa@b98cPZf9S1X=QgQ03%^xVq-KjWH~c1H8x{6H92H6I5{vlHDWU|IWsk7V=`eL1UL|u1QruII&fihXee`ZWI8%`b98cPZf9S1X=QgQ03%^EW-~M}WivNpW@0lkV_`97WM*YzW->HoHDWk4GGa6!1UM0v1QrcCI&fihXeeWEZgX@XaA9<4CMf_TVKZVeGB9K_VKOyiGG;SlVP{zb7^{IC@COgZ*FsR03%^BGC5)~H8VM7W;i%7VmUW7HaKQ7Heq8mGc_|fF)}bF1ULqk1Qr51I(~3rbZ96k03%^!H8?e5H#1~nIX5yeGG#JiG&nRdVKy{3H#0CaHf1#^1UQxi77aQ&VQ_F|Ze%E9Z*FsRAaG%HXeKEDBVjT!G-WYnH#B2oH#avkGc`0YHZo*2WHvcvV=!SkFl8zPI182p76>{zVQ_F|Ze%EMVRUFFCMf_TVK6mhH8MFdIc8&HVKQSfWiT~3VKp*kG-hQsWiU5pI4lG>29^XC5;{6zaByXAWGHiVWI8%?baH8KXJ2+{Wp^n6BVlA@Gh{VmGBPqVGB9RgVlp;nWHn=9WMnyEHZd?|Ff=X%I1rWu785!;VQ_F|Ze%EPbYwa@cXM=dX>MmmG&y53VmUA|H)3UGGBYqYH8f^3H#avl1ULqk1QrrHI&W}ga$$6Daw|P3b97`nI&*Y#X>MmDtjI59W`I1!cv77aQ&VRLh7XKpBCZ*FsRAaG%HXeKEDBVjjVVmL8oI5{^rWHdB6Ib<+mG-WY2VPi5mHZ@~pV`Dl5I182p76>{zVRLh7XKpBPVRUFFCMf_TVP!KhF)(I1FlJ#eFfw9dGGsL{G&W&1H#ImhF<~_~W;_Hq29^XC5;{6zb8~5DZYXnfWI8%?baH8KXJ2+{Wp^n6BVlDQI5IRfH#IRfH#TNwWHT~0F*P(WWjSOyVKif9F*ZH~I1rWu785!;VRLh7XKpBSbYwa@cXM=dX>MmlEWHmB1VL3H6GG#M3Ff%YXKm<4umIM|JIy!G~WpZJ3Z*n~-V{dMAbRckHbZ90i03%^GHZWmgHaTQsIAJt0Vm2}|Vq#`CGBac~I5RmnWMMQy1UL(p1QrN7I&W}ga$$6Day=+;VRUFFCMf_TVKy@`H#IReGBGnaGh{a~H!@*0I51&3VmM_nWiw_pW<&%y29^XC5;{6>aAk5~bZ>G!D06gVIy!T7a%pa7Uv_C_cPRiPVP-XCVKFyiGB!CkVm4$sGi78pVKFf=VmDzhHD)z7IYtCH5S9cM6FNF?aAk5~bZ>G!D06gVIy!fAbaH8KXJ2+{Wp^n6BVjc#Wn?)wGBPt_VPRxrVrDWnW;A0mGchqUIW%K1G-5~uI1!cv78*J_Z*XODVRUbDD=1@cZgX@XaA9<4CM+OhZ*FsRAaG%HXeKEDBVjl-IW=TAIW=N4F*ao~Wn(ZjWim1~H)CaEWHMo4H)Bc!I2e`$79Tn~Z*XODVRUbDD=1@cZgX@XaA9<4CM+OxbYwa@b98cPZf9S1X=QgQ03%^xH#IV3Vq!HgFk@siW??pEW@R)nIW;miHaImhVPs)U1UMa*1Qs7UI&W}ga$$6Daw{lvbYwa@b98cPZf9S1X=QgTAY*TCb95kZVRUFFDF7p3GBY@4Ghs1gF*G+gGBsv2H90mnF*rFmGiGKqWo2P9P6Rj|mIM|cIy!G~WpZJ3Z*nUrV{dMAbRckHbZ90lAaitNIy!fAbaH8KXJ2+{Wp^n6BVlGXV`4C3F)%neHD)z4FgRr~VlXmcWn(rlH)CQoVK7hxI3AV+79cu0Z*XODVRUbDD=2exWI8%`b98cPZf9S1X=QgTAY*TCb95kZVRUFFDF7p3Wi(?mFk>+|He)m~IAvrsWjA9vV`DI5WiewiWHB~3QUo|2mIM|WIy!G~WpZJ3Z*n0$C}VGKb95kZVRUFFEFfcVZgX@XaA9<4CMf_TVK-wiIbkqiH!?S5HZoy2VK6l^He_ZpF*9OjHZVD6GE@XO7?uPUA38d3aAk5~bZ>GYJt$*uZgX@XaA9<4CM+OxbYwa@b98cPZf9S1X=QgQ03%^EVPRu7F)}z~W-~B3Heq38GB#o`VlZJjHe)g|G&W*Z1UMa*1Qs7UI&W}ga$$6Dav?n^b97`nI&*Y#X>MmGYJt$*uZgX@XaA9<4CM+OxbYwa@cXM=dX>MmD!DGc+(bH)UfqGcYtXS_C*AmIM|cIy!G~WpZJ3Z*n0$D06gVIy!fAbaH8KXJ2+{Wp^wfV{dMAbRckHbZ90i03%^GV>L20F*!73VP-dBH8(S5VP!WlW;9|sWivBnWi>cl1UMd+1Qr@PI&W}ga$$6Day>mLV{dMAbRckHbZ90lAY*TCb95kZVRUFFDF7p3HDod~V`exvGh$(5GdN>rH!(RkFlJ#hH!(0_IAdcnUIaK8mIM|bIy!G~WpZJ3Z*o07C}VGKb95kZVRUFFEFg1qWI8%?baH8KXJ2+{Wp^n6BVjl-W-wteF)=Y^GGaI|Vr61wGC5>4V`VTfI5lN7VK!g{I31P*79Tn~Z*XODVRUbDJv}IMbYwa@b98cPZf9S1X=QgTAY*TCb95kZVRUFFDF7p3V_{)6H)T07IWjjiWM(lpFkv(@W@0%oHfCiqVl`njVgxuHmIM|cIy!G~WpZJ3Z*o07C}VGKb95kZVRUFFEFg1qWI8%`b98cPZf9S1X=QgQ03%^IH#0XmV=y&1GGjM5GGk_DG&eLbHZVA4Ff%kWF*P`31UMd+1QsAVI&W}ga$$6Day>mLb97`nI(Kt)a%pa7Uv_C_cPt=dZ*FsRAaG%HXeKEDBVjTzG&wUjF=H?{IXE;lV>viEF=06}W??rpVK_NtGdN}hI3AV+7CJg(Z*FsRUukq@a$$6DasVS?VP#}9F=b<7G&3|~HZ(M3V>2-}Ff=k^H#9V1Heoe6mIM|$I%#xea$$6DasVS?WH&W3WH>l8I5ILZV=*^5VP-iqV>vWrIAJ$sWHV$kmIM|8Iyz!yXK8LIDF7p3G-Nb1VKFf_HDfShHDqHkVly!}F=S#nH8Nr~HeqIDY6LiH1Q-Y)V{dMAbO2;GH8){2H8EslHaRddW->NmIAk(mWHVzkW-&D}IW%kpI0lvk76>{zV`61zX>KSfAY*TCb94YBVPs=BGi6~kGi7BoH8e6XG%;f}I59XjHaRh7Ha0b7IBoHD+dGWMwsFWM*PzIALWoGh<<7VP<4uV>2{jW?^syI0lvk76LjtWo~3BDF7p3I5;$AWH2>hF=jMjWHMngWHe@FIWaRcWnwonVKX@~as)VX1Q-Y)V{dMAbO2;zFl1t6VK6XcGdE)~I5Rk6H8o^qH#254F=H}hV>WaII0lvk77aQ&aB^jEWo~3BV{dMAbRckHbZ90i03%^zW;13uWnyDEI5ILZHZ?ggFf=!1FlJ;qV_`NoIb||-1UL(p1QrN7I&gAjaAj^}C~#qPXeK5p03%^zFlAvhHZe0{IAdiqF)=ndIWjmjWHK^0H8Wv3Ha25;1ULqk1QrrHI&gAjaAj^}D06gVIy!T7a%pa7Uv_C_cPRiPVL3NrV_`TkG+{L{Vl*-}Wieu5W-~D`WHmN7GG=0BGMmGXb97`nI(Kt)a%pa7C@COgZ*FsR03%^zH#cE8WM*b#VK+EpWHT^1F=97lVlgr^I5RgeIX7Z}1ULqk1QrN7I&*Y#C@COgZ*FsR03%^IWH&HmH!wG2Vq`NoW@ckBGiGCAGh#MoI599bIc8yk1ULqk1QrN7I(KPgWnXi2awsVvV{dMAbO0k^Fkv_{G%zzXVlZW9FgRmkGG#P5H(_QnF*r3iVKp~2gakMSmIM|YIy!G~WpZJ3Z*n|5D06gVIy!H2baG{3Z6+)rV{dMAbRckHbZ90i03%^AW-&QqHaKQsH8WviH#IdhFlI7kVrDWpFgQ43WHva41UMR&1Qr51I%8~QVR9%b03%^BFgal`WH>T7GdVdhG-G5iI50RfI5;peGczzXWMedl1UQxi77jW(Y-M3)D069gWnXkDAY*TCb94YBVPj=5VK6r~V>vcvVlZMfHaIdkWMwsEG-fq9VPs`BWQqhh43-2I2s%1&VRB_|bSNnxV{dMAbO0k^FlA<9GB`IdH)Aw2Ha0XkF=JsiWi>Q8V=-hiF=012j089amIM|iIy!T8VsK$}XeeWEZgX^BX>?_BVRUbDEFfcVZgX^BX>?_BVRUbDDIjBSZgX@1BVlG^HD)(7IW%KoG-G5kVKp~2HZeJ5H)dvHFgP${WHXKgI3$(?78W`>b9G{HVRUFHb7^{IUvw-Wb7^{IUvw!TV{dMAbO0k^VK-$qGB`6gW@9)rW;tOuIAu9BGGjGnG%+wWVmM|nkOVjsmIM|EIy!W6b#7x}bY&=WX?kT}bSVHMVPP~eG%#g1WivEoFg7(bHe@w0IWsdgFf%t~F)=VPVv+NFVRU6=D069gWnXkDAY*TCb94YBVKQbkW;9|rHf1njFg9gmWHL84HaKKsF)}nUFl9J4Vw40p3}FBOIy!J+bZ7u$Y+-YAbZ>2JUol@XaA9<4E@*UZY~=(W5IQ<G!C~#qNb7fz0Wpj0GbS5S#03%^xG-EPjH#ab0IAk(0G-f$uH840eI5ILbGiGKnWH>aJ1VIkv1RnxAI&fifb7fz0Wpj0GbSNnRBVjZ-W;rr8GB`G5VP!XEWHn(nGC4SAHDNP0H8wRgIAWOuLFEJ=5IQ<=VRCb2Uvg!0b!>DfaA9(DWnXe-b9HQVCMGEWBVjN#IAS+8W-~cvVl`noH!(FhH8nFhW-??nFgZA4VKtisK@Q~v9|Af$esE!Ob7fz0Wpj0GbSNnRBVlAYWim2mFgZ9iG+|~mV>325HZWv1F=a4gFlI6}VlkZrLFEJ=Bsw~8aAk5~bZ>GzJScN?WI8%;b98cLVQnTXAY*TCb95kZVRCb2Uvg!0b!>DdDF7p3WHe=AVK`)CGh<^hG&Es3F*0E`Gh{htIW;pgF*P?bp9Dc7rGGsC`Wic{kHaMXKK?0!!Aq6G?VlX#3F*GtVIA%F!H#9RgHZnM4IXPrzG&MA4F*i44qXa<%rVK-(sW;r-EVmLH2F=J(BWHMqnr366;M+oV>2*ervyO;V(mGGZ__FgG!^1VIMn1RnxAI%RHTC@BCVVKXx}WHUK9Wiv84W-vH0IW=TAF*IgoFfwLjW@ckyHn#*pw*(;wAY*TCb94YPH8f;1GGb$4Gi6~lFl1vjFf%YSH!?OiHDNe4VKz0n1VIMn1RoMQI$?BQaA9<4D06gVIy!T7a%pa7Uv_C_cPRiPVK6y4H!@*kGch?eF*G-0Gd5;pVl*%_I5uNAHZx%}HM;~s5W55+7$9SBZgX@1F)}$eVP!BlVmD+lG&f^5VmLEqF=AmbH)dlrF*r76y#zrP2JIy!J+bZ90i03%^#VrDpHHZwRgGBz_}W;HQoF)=hXIW##kH85jgH#a%I1VItM1R)t9V{dMAbO1FsWMyJ9Vl`znF<~=iWH>otW-~HoHeon0IWl21V==)5K^Nr&9}_w{VRT<`VRUFHb97`nI(Kt)a%pa7Uv_C_cPRiPVKHPmG&MCbIXF2sVq`EdIW=N5Wn?yEVq!TmF*P?gG{Xcz5yJ!_86abCZgX@1Ic7OzHezHqIXN&jI50CdVlgpfIAmooGh#F|Vq!Hn#RNeY38rGGoUCK@rCUAsHZJZ*FsR05~)`IX5vhIAJ+vFflPRWivT4Gc#miIWsskG-EboG06l$7v%&W5;{6>aAk5~bZ>H7T_|&OWI8%?baH8KXJ2+{Wp^n6BVjl=GBsskWo9rjF=IDmVq!I8F=R1iG&VIjG-Ww3Vq?n$K@iIXAs8TIZ*FsR05N1aF)}bWF*!G5GBRc}IW}QqVqrC8G&VUoHDowpV$B3W7UcvV6FNF?aAk5~bZ>H7T_|&OWI8%`b98cPZf9S1X=QgQ03%^GH)b_8VP-ftI5K20HZWu{G%zwYVP-QqG-5J2H8f(+1VItc1R)t9V{dMAbO10iH8wRfWHL80Fk~?|I5;#kHZeFcG+|{kG&eIdHaF1(K^Nr&9|$@+W?^Y;Wn?HRAY*TCb94YBVL324H)3NoH8LGXVsCG3C@COgZ*FsR03%^$Ha2BpH#lK7WMnuvF*PzVV`VrtHDNP1GBPGXV{dMAbRcwZZEQL^bYWs_WhN*oAY*TCb94YBVL4GXbZ>2JIy!V=Vr*q5C@BCVVKrqjG-Wa}WHe+pIASt4V=*x|F)?8?Gch@2V>V)DIokw5DthFlIP6F*7)3IALO9IAJk1WHm8l;{-tnVE_O+I&fifb7fz0Wpj0GbO2*)VRLhIZ*6Q}F<&uoVRCb2Ute-%b9HQVE@*UZY*_^yIy!b~Wp`y{UvznJWdI{#F*P+XW;A6rH#IXdW@IokVm4zlWjSOxH#jggV=yyeSp^&+Iy!G~WpZJ3Z*n|5D06gVIy!H2baG{3Z6+)rV{dMAbRceTWMyA=X=QgNDF7p3F*h(VFga#0VmCK9I5=iCG-5JlV`O4DW@TkCVPZKj=L9|G!C}VGKb95kXZ)9a(c4=jICMh5$03%^$VKg;0V=yx_H(@qrWi(_lV_`KjGi5O_H#IO~VL4^@1U?d31so4LI&W}ga$$6Day=++Z)9a(c4=jICMGE$CIBO0Gh}2qF*!A5GdVXgWnyA7F)=V=I59FeI5T5rW-&81`2;=mKmIW;&mIb=6wHezHrIbt<5IW}fxIW}TtVPX3OJ|$TN949(DZ*XODVRUbDJv}I6Z*FsRAZ~ADWnXq_Wp^elAY*TCb95kXZ)9a(c4=jIJXAg=DF7p3F*z|fGB9K?GcYhSHDon5G-hQmIc7CwVlp)`VmUH5{RBQGSp^&*Iy!G~WpZJ3Z*o07C}VGKb95kXZ)9a(c4=jICM+OhZ*FsRAar43Y-J`X03%^HH8f&mVqrHpI5s(9W@R>FV`E}8Vl^>kFkv@0Wi&Pa1U?>F1sotcI&W}ga$$6Day>mLV{dMAbRceTWMyA=X=QgNEFfcVZgX@XVRCX|c_t|UBVjXQGdW>pWMW}tVKy={F<~@iGdMLjVlZYfGBY(eG&2DOJ|0;G94R_FZ*XODVRUbDJv}I6Z*FsRAZ~ADWnXq_Wp^elAY*TCb95kdZ*6QkI(A`fb!9wMJ|-yuBVlAYW@I@wI5IY7V`XJDGh<{iWnnR6V`esGGBRU0IW+?XJ||fP92`12Z*XODVRUbDJv}I6Z*FsRAZ~ADWnXq_Wp^elAY*TCb95k7CMf_TVKii7VKZf9H#0RhH!w6dHaTT9F*h}4VK-wqW;J6oGzA4d8d(J#GdenNaAk5~bZ>G!Jt$*uZgX@XZf|5|Uv_C_cP1<#V{dMAbRctdWI8%&ZfSIBVQgu7WpZC^X>)WuR6Zst03%^yWjHc6V>vfwGGa6}F=b^kI5%ZuW-~WtG&VIcH)di71wJuZ1so|lI&W}ga$$6Day>mLV{dMAbRceTWMyA=X=QgNEFfcVZgX@Xb97`nI(B7abZ>GzR6Zst03%^!G-5O{G&E*7Ff%h_H#lWAG%+w{H!v|}HDP5pWiv1d1wJQP1soVUI$?BQaA9<4D06gVIy!T7a%pa7Uv_C_cPSuaZ*FsR03%^FIb$_6GcsmkH#cH6FlA;kGB7zfWidBoG-f$9He@vm1wIy81soYVI$?BQaA9<4C}VGKb95kdZ*6QkI&fihXeKEjV{dMAbO0k^Vlp;0V>V_mGcYtZG&f>nWH>N4G+|^gI5B22VrDTn4Fx_ISp^&!Iyzx=UvOb`Xee`ZWI8%`b98cPZf9S1X=QgQAY*TCb94YBVKFr~V=-l6W@0yDWM(*KGcz+eI599bFflh|F=8?>V-E#B7g+@y7&H7T_|&OWI8%?baH8KXJ2+{Wp^ncV{dMAbO0k^GGt_BF)}zgG-fw2H8U_|I51>oG&Nx`Gi70AH#lZt5d}ULSp^&!Iy!G~WpZJ3Z*p5*C}VGKb95kdZ*6QkI&fihXeKEjV{dMAbO0k^G&Ev4G%`6bFfutbH#ajdHD)kkHa9XbWH&NmW;r%B69qmOSp^&!Iy!G~WpZJ3Z*p5*D06gVIy!fAbaH8KXJ2+{Wp^ncV{dMAbO0k^Gc_U54Fg0aiI5IFa83jHDSp^&jIyzxvW69R)rHSp^&jIyzxWoVq`UAWMXAFWo2V!9|b-JSp^&jIyzxK~0WoBeyH8W;pFfuYQH8(OiG9d*%23Z9h2s%1pb6;j`Z(($4Zf9R`Z)t9HC@COgZ*FsR03%^JGB!9eF=b|AH#1>mH!?XgWiw_mG&nRdV>L85H!)%(1wIB@1sn)EI$?8PX>N37XJv9IDIjBSZgX@1BVlARF*h|ZH8?V5V>UA|Gi5MhGBr11F*7n{V>C1{IbLBlGc#dfF=IG3IAmmHHDh97VK-$pG-YElEd@RXSp^&jIyz}{Utw}`VRY-M3?C@COgZ*FsR03%^xH)UloWHDwlIW}c6GB`71G+{9@WH2{kIW#aZI5{^n1wIB@1sn)EI%#uXWMOn=C@COgZ*FsR03%^EWMemDW;kIrH)LWrGiG5oIXPiDGdX5AVPj-9G&y871wIB@1sn)EI%#uXWMOn=Uvz10Whf~iV{dMAbO0k^HDNP2FlIM5Ght;iIWc27G%{f@Gi5Y2VK_KrIW%H0Hw8WhSp^&jIyz}{UuJA?VRUJ3XJ2q{X>N2VDIjBSZgX@1BVjZ%WnnXAWn?#EFlI3`GiG5oWH&W3VL3B0GGjM2IAu8nJ_cC@93VP6X>(s_Z*6a9Wo~6}b#o|gZ)9a(ba`-PEFgAiWp`y{UvznJWhy2qAY*TCb94YBVKQMdIWRIXHZ(LcF=jL{F=aR~WnnfrH)CaHH8VD3VLJsr9$5t(5jr|)b6;q0ZEt5~Ze?$Eb0}_aWMyA;d2nSZAY*TCb94YBVP<78VPa%8F=a4iF)%n{GcYz{WinwiWo0=vHZfykVLb&t4_O5q2s%1xb6;q0ZEt5~Ze?$Eb0{ewV{dMAbO0k^GC5;7GGsV2VliYkG-fa{Hf3ToGG;k7W@IxrWivE3KLtJpSp^&jIyz}{UukZ1WoKn_C@COgZ*FsR03%^yIb%38HDqLFFflh~GBq${I5cKqHDon6Gd5*7H8LpHD)z4H#0b5F<~$?WH)6wWH2>hW=jP=23Z9h2s%1+d2nSYDIjBSZgX@1BVjT$I5T5rF=03}F*G(dF*z|gVmUB2He+QrGGjS5GBHgBJ_cC@90)o(a%E;HDIjBSZgX@1BVlD@HDfn6G%`6eVK-%EVlpr=Fgal~I5c82G-NkpGht5!J_cC@90)o(c42IFWhf~iV{dMAbO0k^Vq!HhVL34}G&V9}GBr3eH#uTCHaKH6FgG-2I5RRdQ3XB*Sp^&jIy!b?Y;|Q{Wq4s@bSNnxV{dMAbO0k^GGsM1IAu3CIXPluG-Wb0VPs@sFgZ3fG&W^oGdMJ4Qw2T-Sp^&mIy!b?Y;|Q{Z*nM9CMGE$V{dMAbO0k^Gchz}HDoq6He_RDVKX#2GiGKvVPP_3FgP(bW;HWoRRul?Sp^&pIy!b~b7^!aMs;puCMGE$V{dMAbO0k^VKrtrG-769VmCKAV>dBjFgIc_G-F{fVlrf6I5sn8R|P%{69f@oc4=jI0AF8rX=QgVXmo9CUlG%zGZB42cGZEPrGZ*FsRAY*7@ayVafDl8y#X?kT}bSVHMVPax3GcY$~Ha0agIAkznG&5vmFgG+XG%#j3GcqzXV_XG57GMP)6*@X^aAk5~bZ>GZB42cHVRUFHV{dMAbRc7BVR9-gAaiMYWnXkD03%^!G%z+}I5cEAHZWvlHDY98IWaXhG-fw5IA%6CWHdKk1wa#F01Y}iY-x05a$#(90ADd*F>GmcWpZI`b1rCfZEQnmVQyz-Y;R`(aBp~dUt?%tZf9j|Z)YxObZu+`AOR!-EdeqCHvv5XLIX(yOa)K{Q~_E5UI1nRX#j9=VP|D-VQpn|aA9L*XL4_KaARy?b8~Zaa&=>Lb#7^IZghEYWn^V$WNC6{X>4U?b#7y1WoBt^Wo2%4ZDnqCZ6J1GY<6LCV{dL_WpH!='); diff --git a/v3.2.0/structtoml_1_1date.html b/v3.2.0/structtoml_1_1date.html new file mode 100644 index 00000000..fe338d61 --- /dev/null +++ b/v3.2.0/structtoml_1_1date.html @@ -0,0 +1,217 @@ + + + + toml::date struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date struct +

                                                                                                                              +

                                                                                                                              A local date.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + date() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Default constructor. Does not initialize the members.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Y, typename M, typename D>
                                                                                                                              + date(Y y, + M m, + D d) constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs a date from individual date component values.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              uint16_t year +
                                                                                                                              +
                                                                                                                              The year component.
                                                                                                                              +
                                                                                                                              uint8_t month +
                                                                                                                              +
                                                                                                                              The month component, from 1 - 12.
                                                                                                                              +
                                                                                                                              uint8_t day +
                                                                                                                              +
                                                                                                                              The day component, from 1 - 31.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const date& lhs, + const date& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(const date& lhs, + const date& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const date& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a date out to a stream as YYYY-MM-DD (per RFC 3339).
                                                                                                                              +
                                                                                                                              + auto operator<=(const date& lhs, + const date& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const date& lhs, + const date& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(const date& lhs, + const date& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(const date& lhs, + const date& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const date& rhs) +

                                                                                                                              +

                                                                                                                              Prints a date out to a stream as YYYY-MM-DD (per RFC 3339).

                                                                                                                              +
                                                                                                                              std::cout << toml::date{ 1987, 3, 16 } << "\n";
                                                                                                                              1987-03-16
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.2.0/structtoml_1_1date__time.html b/v3.2.0/structtoml_1_1date__time.html new file mode 100644 index 00000000..c7458e52 --- /dev/null +++ b/v3.2.0/structtoml_1_1date__time.html @@ -0,0 +1,339 @@ + + + + toml::date_time struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date_time struct +

                                                                                                                              +

                                                                                                                              A date-time.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + date_time() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Default constructor. Does not initialize the members.
                                                                                                                              +
                                                                                                                              + date_time(const toml::date& d, + const toml::time& t) constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs a local date-time.
                                                                                                                              +
                                                                                                                              + date_time(const toml::date& d) explicit constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs a local date-time.
                                                                                                                              +
                                                                                                                              + date_time(const toml::time& t) explicit constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs a local date-time.
                                                                                                                              +
                                                                                                                              + date_time(const toml::date& d, + const toml::time& t, + const toml::time_offset& off) constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs an offset date-time.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto is_local() const -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this date_time does not contain timezone offset information.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + toml::date date +
                                                                                                                              +
                                                                                                                              The date component.
                                                                                                                              +
                                                                                                                              + toml::time time +
                                                                                                                              +
                                                                                                                              The time component.
                                                                                                                              +
                                                                                                                              + optional<toml::time_offset> offset +
                                                                                                                              +
                                                                                                                              The timezone offset component.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const date_time& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a date_time out to a stream in RFC 3339 format.
                                                                                                                              +
                                                                                                                              + auto operator<=(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date_time::date_time(const toml::date& d, + const toml::time& t) constexpr noexcept +

                                                                                                                              +

                                                                                                                              Constructs a local date-time.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              dThe date component.
                                                                                                                              tThe time component.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date_time::date_time(const toml::date& d) explicit constexpr noexcept +

                                                                                                                              +

                                                                                                                              Constructs a local date-time.

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              dThe date component.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date_time::date_time(const toml::time& t) explicit constexpr noexcept +

                                                                                                                              +

                                                                                                                              Constructs a local date-time.

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              tThe time component.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date_time::date_time(const toml::date& d, + const toml::time& t, + const toml::time_offset& off) constexpr noexcept +

                                                                                                                              +

                                                                                                                              Constructs an offset date-time.

                                                                                                                              + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              dThe date component.
                                                                                                                              tThe time component.
                                                                                                                              offThe timezone offset.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const date_time& rhs) +

                                                                                                                              +

                                                                                                                              Prints a date_time out to a stream in RFC 3339 format.

                                                                                                                              +
                                                                                                                              std::cout << toml::date_time{ { 1987, 3, 16 }, { 10, 20, 34 } } << "\n";
                                                                                                                              +std::cout << toml::date_time{ { 1987, 3, 16 }, { 10, 20, 34 }, { -2, -30 } } << "\n";
                                                                                                                              +std::cout << toml::date_time{ { 1987, 3, 16 }, { 10, 20, 34 }, {} } << "\n";
                                                                                                                              1987-03-16T10:20:34
                                                                                                                              +1987-03-16T10:20:34-02:30
                                                                                                                              +1987-03-16T10:20:34Z
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Variable documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + optional<toml::time_offset> toml::date_time::offset +

                                                                                                                              +

                                                                                                                              The timezone offset component.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.2.0/structtoml_1_1inserter.html b/v3.2.0/structtoml_1_1inserter.html new file mode 100644 index 00000000..e1563307 --- /dev/null +++ b/v3.2.0/structtoml_1_1inserter.html @@ -0,0 +1,130 @@ + + + + toml::inserter struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + toml::inserter struct +

                                                                                                                              +

                                                                                                                              Helper class for suppressing move-construction in single-argument array constructors.

                                                                                                                              +
                                                                                                                              // desired result: [ [ 42 ] ]
                                                                                                                              +auto bad = toml::array{ toml::array{ 42 } }
                                                                                                                              +auto good = toml::array{ toml::inserter{ toml::array{ 42 } } }
                                                                                                                              +std::cout << "bad: " << bad << "\n";
                                                                                                                              +std::cout << "good:" << good << "\n";
                                                                                                                              bad:  [ 42 ]
                                                                                                                              +good: [ [ 42 ] ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.2.0/structtoml_1_1source__position.html b/v3.2.0/structtoml_1_1source__position.html new file mode 100644 index 00000000..1bda4b40 --- /dev/null +++ b/v3.2.0/structtoml_1_1source__position.html @@ -0,0 +1,255 @@ + + + + toml::source_position struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::source_position struct +

                                                                                                                              +

                                                                                                                              A source document line-and-column pair.

                                                                                                                              + +
                                                                                                                              auto table = toml::parse_file("config.toml"sv);
                                                                                                                              +std::cout << "The node 'description' was defined at "sv
                                                                                                                              +    << table.get("description")->source().begin()
                                                                                                                              +    << "\n";
                                                                                                                              The value 'description' was defined at line 7, column 15
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + operator bool() const explicit constexpr noexcept +
                                                                                                                              +
                                                                                                                              Returns true if both line and column numbers are non-zero.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + source_index line +
                                                                                                                              +
                                                                                                                              The line number.
                                                                                                                              +
                                                                                                                              + source_index column +
                                                                                                                              +
                                                                                                                              The column number.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const source_position& lhs, + const source_position& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(const source_position& lhs, + const source_position& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const source_position& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a source_position to a stream.
                                                                                                                              +
                                                                                                                              + auto operator<=(const source_position& lhs, + const source_position& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const source_position& lhs, + const source_position& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(const source_position& lhs, + const source_position& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(const source_position& lhs, + const source_position& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const source_position& rhs) +

                                                                                                                              +

                                                                                                                              Prints a source_position to a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe stream.
                                                                                                                              rhsThe source_position.
                                                                                                                              ReturnsThe input stream.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse("bar = 42"sv);
                                                                                                                              +
                                                                                                                              +std::cout << "The value for 'bar' was found on "sv
                                                                                                                              +    << tbl.get("bar")->source().begin()
                                                                                                                              +    << "\n";
                                                                                                                              The value for 'bar' was found on line 1, column 7
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Variable documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + source_index toml::source_position::line +

                                                                                                                              +

                                                                                                                              The line number.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + source_index toml::source_position::column +

                                                                                                                              +

                                                                                                                              The column number.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.2.0/structtoml_1_1source__region.html b/v3.2.0/structtoml_1_1source__region.html new file mode 100644 index 00000000..b8ae7740 --- /dev/null +++ b/v3.2.0/structtoml_1_1source__region.html @@ -0,0 +1,234 @@ + + + + toml::source_region struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::source_region struct +

                                                                                                                              +

                                                                                                                              A source document region.

                                                                                                                              + +
                                                                                                                              auto tbl = toml::parse_file("config.toml"sv);
                                                                                                                              +if (auto server = tbl.get("server"))
                                                                                                                              +{
                                                                                                                              +    std::cout << "begin: "sv << server->source().begin << "\n";
                                                                                                                              +    std::cout << "end: "sv << server->source().end << "\n";
                                                                                                                              +    std::cout << "path: "sv << *server->source().path << "\n";
                                                                                                                              +}
                                                                                                                              begin: line 3, column 1
                                                                                                                              +end: line 3, column 22
                                                                                                                              +path: config.toml
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto wide_path() const -> optional<std::wstring> +
                                                                                                                              +
                                                                                                                              The path to the corresponding source document as a wide-string.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + source_position begin +
                                                                                                                              +
                                                                                                                              The beginning of the region (inclusive).
                                                                                                                              +
                                                                                                                              + source_position end +
                                                                                                                              +
                                                                                                                              The end of the region (exclusive).
                                                                                                                              +
                                                                                                                              + source_path_ptr path +
                                                                                                                              +
                                                                                                                              The path to the corresponding source document.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const source_region& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a source_region to a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + optional<std::wstring> toml::source_region::wide_path() const +

                                                                                                                              +

                                                                                                                              The path to the corresponding source document as a wide-string.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const source_region& rhs) +

                                                                                                                              +

                                                                                                                              Prints a source_region to a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe stream.
                                                                                                                              rhsThe source_position.
                                                                                                                              ReturnsThe input stream.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse("bar = 42", "config.toml");
                                                                                                                              +
                                                                                                                              +std::cout << "The value for 'bar' was found on "sv
                                                                                                                              +    << tbl.get("bar")->source()
                                                                                                                              +    << "\n";
                                                                                                                              The value for 'bar' was found on line 1, column 7 of 'config.toml'
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Variable documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + source_path_ptr toml::source_region::path +

                                                                                                                              +

                                                                                                                              The path to the corresponding source document.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.2.0/structtoml_1_1time.html b/v3.2.0/structtoml_1_1time.html new file mode 100644 index 00000000..67836303 --- /dev/null +++ b/v3.2.0/structtoml_1_1time.html @@ -0,0 +1,223 @@ + + + + toml::time struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::time struct +

                                                                                                                              +

                                                                                                                              A local time-of-day.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + time() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Default constructor. Does not initialize the members.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename H, typename M, typename S = uint8_t, typename NS = uint32_t>
                                                                                                                              + time(H h, + M m, + S s = S{}, + NS ns = NS{}) constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs a time from individual time component values.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              uint8_t hour +
                                                                                                                              +
                                                                                                                              The hour component, from 0 - 23.
                                                                                                                              +
                                                                                                                              uint8_t minute +
                                                                                                                              +
                                                                                                                              The minute component, from 0 - 59.
                                                                                                                              +
                                                                                                                              uint8_t second +
                                                                                                                              +
                                                                                                                              The second component, from 0 - 59.
                                                                                                                              +
                                                                                                                              uint32_t nanosecond +
                                                                                                                              +
                                                                                                                              The fractional nanoseconds component, from 0 - 999999999.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const time& lhs, + const time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(const time& lhs, + const time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const time& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a time out to a stream as HH:MM:SS.FFFFFF (per RFC 3339).
                                                                                                                              +
                                                                                                                              + auto operator<=(const time& lhs, + const time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const time& lhs, + const time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(const time& lhs, + const time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(const time& lhs, + const time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const time& rhs) +

                                                                                                                              +

                                                                                                                              Prints a time out to a stream as HH:MM:SS.FFFFFF (per RFC 3339).

                                                                                                                              +
                                                                                                                              std::cout << toml::time{ 10, 20, 34 } << "\n";
                                                                                                                              +std::cout << toml::time{ 10, 20, 34, 500000000 } << "\n";
                                                                                                                              10:20:34
                                                                                                                              +10:20:34.5
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.2.0/structtoml_1_1time__offset.html b/v3.2.0/structtoml_1_1time__offset.html new file mode 100644 index 00000000..be20cb00 --- /dev/null +++ b/v3.2.0/structtoml_1_1time__offset.html @@ -0,0 +1,263 @@ + + + + toml::time_offset struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::time_offset struct +

                                                                                                                              +

                                                                                                                              A timezone offset.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + time_offset() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Default constructor. Does not initialize the members.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename H, typename M>
                                                                                                                              + time_offset(H h, + M m) constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs a timezone offset from individual hour and minute totals.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              int16_t minutes +
                                                                                                                              +
                                                                                                                              Offset from UTC+0, in minutes.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const time_offset& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a time_offset out to a stream as +-HH:MM or Z (per RFC 3339).
                                                                                                                              +
                                                                                                                              + auto operator<=(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename H, typename M> +
                                                                                                                              + toml::time_offset::time_offset(H h, + M m) constexpr noexcept +

                                                                                                                              +

                                                                                                                              Constructs a timezone offset from individual hour and minute totals.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              HAn integral type.
                                                                                                                              MAn integral type.
                                                                                                                              Parameters
                                                                                                                              hThe total hours.
                                                                                                                              mThe total minutes.
                                                                                                                              +
                                                                                                                              std::cout << toml::time_offset{ 2, 30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{ -2, 30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{ -2, -30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{ 0, 0 } << "\n";
                                                                                                                              +02:30
                                                                                                                              +-01:30
                                                                                                                              +-02:30
                                                                                                                              +Z
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const time_offset& rhs) +

                                                                                                                              +

                                                                                                                              Prints a time_offset out to a stream as +-HH:MM or Z (per RFC 3339).

                                                                                                                              +
                                                                                                                              std::cout << toml::time_offset{ 2, 30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{ 2, -30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{} << "\n";
                                                                                                                              +std::cout << toml::time_offset{ -2, 30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{ -2, -30 } << "\n";
                                                                                                                              +02:30
                                                                                                                              ++01:30
                                                                                                                              +Z
                                                                                                                              +-01:30
                                                                                                                              +-02:30
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.2.0/toml++.tagfile.xml b/v3.2.0/toml++.tagfile.xml new file mode 100644 index 00000000..bea7775a --- /dev/null +++ b/v3.2.0/toml++.tagfile.xml @@ -0,0 +1,9169 @@ + + + + toml::array + classtoml_1_1array.html + toml::node + + + array + classtoml_1_1array.html + a29fc707cf66a79f3c3d93dadbe3b2719 + () noexcept + + + + array + classtoml_1_1array.html + a3bd4611c96ce97d7e6991b7a4312370d + (const array &) + + + + array + classtoml_1_1array.html + ac552a63c329598d671e6531b0cef957b + (array &&other) noexcept + + + + array + classtoml_1_1array.html + acb17a58f1fbdb12aeaf8f7d1e8093e5c + (ElemType &&val, ElemTypes &&... vals) + + + array & + operator= + classtoml_1_1array.html + a37f428f585188ce70c82f1df6935f5d5 + (const array &) + + + array & + operator= + classtoml_1_1array.html + a7e5e45777e08941abb2069a5991e1f31 + (array &&rhs) noexcept + + + node_type + type + classtoml_1_1array.html + a352b6a99235216f070b5e97976663571 + () const noexcept final + + + bool + is_homogeneous + classtoml_1_1array.html + a79a1fe77c03b33ea2b9d8d0a859c93e6 + (node_type ntype) const noexcept final + + + bool + is_homogeneous + classtoml_1_1array.html + ae4e986f9fdb23090f9a0b3716a63e8bb + (node_type ntype, node *&first_nonmatch) noexcept final + + + bool + is_homogeneous + classtoml_1_1array.html + ad00610c0e18f02516de92b623dc4d0f5 + (node_type ntype, const node *&first_nonmatch) const noexcept final + + + bool + is_table + classtoml_1_1array.html + ad7ed894e54ad3aaef6d7693c26b887d9 + () const noexcept final + + + bool + is_array + classtoml_1_1array.html + a1f1e4d93f52778613d0a7bcf74a23427 + () const noexcept final + + + bool + is_array_of_tables + classtoml_1_1array.html + a87cd0dcbebcfd661a0ae387255c0605e + () const noexcept final + + + bool + is_value + classtoml_1_1array.html + acc533a7fa1ea5c68fce6f4fea5bc419c + () const noexcept final + + + bool + is_string + classtoml_1_1array.html + aeefdd01a2ce3f6bcd7aecfabd363d06b + () const noexcept final + + + bool + is_integer + classtoml_1_1array.html + a78db4190977034c4364674a2958855d4 + () const noexcept final + + + bool + is_floating_point + classtoml_1_1array.html + ab758b93eedbdc27112681f26440bee03 + () const noexcept final + + + bool + is_number + classtoml_1_1array.html + aa034144c580b3d8a4727c0cfbfebc214 + () const noexcept final + + + bool + is_boolean + classtoml_1_1array.html + abbecf0a51aa3e175bc5748ccf71063d8 + () const noexcept final + + + bool + is_date + classtoml_1_1array.html + a792dc3fd7105185415925d4f9ab3ca1d + () const noexcept final + + + bool + is_time + classtoml_1_1array.html + a2d2fc80512d08af7a934a6d02c7bf506 + () const noexcept final + + + bool + is_date_time + classtoml_1_1array.html + ae844f53a9604fb42f185a91616a72cbd + () const noexcept final + + + table * + as_table + classtoml_1_1array.html + a95985d66ecd4abf6c5822cbd0d239582 + () noexcept final + + + array * + as_array + classtoml_1_1array.html + a97b772796c962a635e8d5c50e7c03b3a + () noexcept final + + + toml::value< std::string > * + as_string + classtoml_1_1array.html + a5d4d3b502ef2e33107eb1d682b282c75 + () noexcept final + + + toml::value< int64_t > * + as_integer + classtoml_1_1array.html + a41d03d31a6ab168bc4b50046c4bbb50f + () noexcept final + + + toml::value< double > * + as_floating_point + classtoml_1_1array.html + a5e6ed524c4548fdd2131dcbb38b8c766 + () noexcept final + + + toml::value< bool > * + as_boolean + classtoml_1_1array.html + ac1989a2c4d50f8493f97c23ee22e15e6 + () noexcept final + + + toml::value< date > * + as_date + classtoml_1_1array.html + a78a9e7b1d44f90eb55403e54d6d31e2b + () noexcept final + + + toml::value< time > * + as_time + classtoml_1_1array.html + a3dedcb2261a528c59454fc9e0bb7c9fb + () noexcept final + + + toml::value< date_time > * + as_date_time + classtoml_1_1array.html + a58c350366cbbab3eb430751212ba9b18 + () noexcept final + + + const table * + as_table + classtoml_1_1array.html + ae45534b573d10c7e2e1c5624153608f9 + () const noexcept final + + + const array * + as_array + classtoml_1_1array.html + a8007db93bdeb82c8c77965ff72056f6b + () const noexcept final + + + const toml::value< std::string > * + as_string + classtoml_1_1array.html + a943378ff5912e9c732b4dee12d4bf2de + () const noexcept final + + + const toml::value< int64_t > * + as_integer + classtoml_1_1array.html + a79871c2b52557b74da8302925b5624ee + () const noexcept final + + + const toml::value< double > * + as_floating_point + classtoml_1_1array.html + a8f5736e45881203e362bcbb43ed90093 + () const noexcept final + + + const toml::value< bool > * + as_boolean + classtoml_1_1array.html + a48206827982b5cffe51662adfc3aec2b + () const noexcept final + + + const toml::value< date > * + as_date + classtoml_1_1array.html + afc3f86ca86c60deda39e69d24abcacca + () const noexcept final + + + const toml::value< time > * + as_time + classtoml_1_1array.html + a7708feaac3561b836e0789db0dfa6db4 + () const noexcept final + + + const toml::value< date_time > * + as_date_time + classtoml_1_1array.html + aa8fb689b36f44a4fa7c0ffccff20dbd9 + () const noexcept final + + + node * + get + classtoml_1_1array.html + a10664e00054ea4021fec5144b69b8792 + (size_t index) noexcept + + + const node * + get + classtoml_1_1array.html + a44db509dce6b7b77e563c822a5936abe + (size_t index) const noexcept + + + impl::wrap_node< ElemType > * + get_as + classtoml_1_1array.html + a5c2f4624498cba9e1e467b0eb2e9046e + (size_t index) noexcept + + + const impl::wrap_node< ElemType > * + get_as + classtoml_1_1array.html + ae47ca1cc4c61e94fed30aea72ca8d268 + (size_t index) const noexcept + + + node & + operator[] + classtoml_1_1array.html + a853bad0297ca4dcee57c97da2fe318e7 + (size_t index) noexcept + + + const node & + operator[] + classtoml_1_1array.html + ae9f72a1b877f2ac66327a152d55aa9c6 + (size_t index) const noexcept + + + node & + at + classtoml_1_1array.html + aeade4e0cafa3f57b4800e72baa843b1e + (size_t index) + + + const node & + at + classtoml_1_1array.html + a8a5957e22aa2d0f4f9e6feaf9bfffa55 + (size_t index) const + + + node & + front + classtoml_1_1array.html + a9c78848129a2a703c154e7cbe1a973d3 + () noexcept + + + const node & + front + classtoml_1_1array.html + a5ba3af18c63546da6f9d2ac3b5b77f64 + () const noexcept + + + node & + back + classtoml_1_1array.html + a4c58dea5e8795e4b9f8df4f1e1473204 + () noexcept + + + const node & + back + classtoml_1_1array.html + ac7652c1ab60af2ca1c7d52f0658639b4 + () const noexcept + + + bool + empty + classtoml_1_1array.html + a5d527ea6bfddad1025e90e4363c822cc + () const noexcept + + + size_t + size + classtoml_1_1array.html + af81d7b6a1257ad766a47d9276855a7c9 + () const noexcept + + + size_t + max_size + classtoml_1_1array.html + ae65a76add6d756fc7ba8f12a5aad983c + () const noexcept + + + size_t + capacity + classtoml_1_1array.html + a02b773a1ff337692e78da429030c1610 + () const noexcept + + + void + reserve + classtoml_1_1array.html + a1ba073adc52c3df5ad29cfd7e5daa1d5 + (size_t new_capacity) + + + void + shrink_to_fit + classtoml_1_1array.html + a718c2031ead428aa52912741f6d094aa + () + + + void + truncate + classtoml_1_1array.html + a6e3ac9962c706a88c1001ff83a4084f3 + (size_t new_size) + + + void + resize + classtoml_1_1array.html + ab1aca2337ffce7e583a2cf303f16259f + (size_t new_size, ElemType &&default_init_val, value_flags default_init_flags=preserve_source_value_flags) + + + iterator + erase + classtoml_1_1array.html + a22389a9ed9444fe52be10c4acbdec908 + (const_iterator pos) noexcept + + + iterator + erase + classtoml_1_1array.html + a723388860d72c9a162137d0293366fb2 + (const_iterator first, const_iterator last) noexcept + + + array & + flatten + classtoml_1_1array.html + aa2a21958705629bde15aafae9598a2ec + () & + + + array && + flatten + classtoml_1_1array.html + ad307bea17e7640c57715d67ab8a777d4 + () && + + + array & + prune + classtoml_1_1array.html + ae548cf1dc26ade60733548a00a39b175 + (bool recursive=true) &noexcept + + + array && + prune + classtoml_1_1array.html + a6fc918a151ada40c713d6855af3021c2 + (bool recursive=true) &&noexcept + + + void + pop_back + classtoml_1_1array.html + af99d72e29cef84f736d91d627b47a1dc + () noexcept + + + void + clear + classtoml_1_1array.html + adaa65bf63f29f898c27423306c165d68 + () noexcept + + + iterator + insert + classtoml_1_1array.html + a17c7e34b433ea8907186dbb1788c9d37 + (const_iterator pos, ElemType &&val, value_flags flags=preserve_source_value_flags) + + + iterator + insert + classtoml_1_1array.html + a55a9e6e742e556ea07573d29c23ce7df + (const_iterator pos, size_t count, ElemType &&val, value_flags flags=preserve_source_value_flags) + + + iterator + insert + classtoml_1_1array.html + a60a0d39bfd8721cef23e155f5504d54d + (const_iterator pos, Iter first, Iter last, value_flags flags=preserve_source_value_flags) + + + iterator + insert + classtoml_1_1array.html + a1baecd5d579afb508886572674b89781 + (const_iterator pos, std::initializer_list< ElemType > ilist, value_flags flags=preserve_source_value_flags) + + + iterator + emplace + classtoml_1_1array.html + a4110b96386b33097a255f3694ac01d4a + (const_iterator pos, Args &&... args) + + + iterator + replace + classtoml_1_1array.html + a37a8a283e6c1cbeef757b2e59489ee6c + (const_iterator pos, ElemType &&val, value_flags flags=preserve_source_value_flags) + + + void + push_back + classtoml_1_1array.html + ab7188537b351ef3a756b54b83e4b05b3 + (ElemType &&val, value_flags flags=preserve_source_value_flags) + + + decltype(auto) + emplace_back + classtoml_1_1array.html + ad1383e120e7f8d8fe54e07dab164bd6d + (Args &&... args) + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + aef68f74119416a0a6d0a62f0f7d8d4ea + (const toml::path &path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + afbd39cca3959da4a1d8e1d220b6abe83 + (const toml::path &path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + node_view< node > + operator[] + classtoml_1_1node.html + a8c3214e47f056a3a9bcdb66edd7fa97f + (const toml::path &path) noexcept + + + node_view< const node > + operator[] + classtoml_1_1node.html + a2276f2cac96c095b4e4645ca5bebe0f9 + (const toml::path &path) const noexcept + + + friend std::ostream & + operator<< + classtoml_1_1array.html + af1fae5bb4ad4da74199f0a77170c505e + (std::ostream &lhs, const array &rhs) + + + friend bool + operator== + classtoml_1_1array.html + a06cf25e3f80c98d88e041ef9823976c0 + (const array &lhs, const array &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1array.html + af06c7437a0946a9d5e093d903b59f6a4 + (const array &lhs, const array &rhs) noexcept + + + friend bool + operator== + classtoml_1_1array.html + ab87e435c5a41140e60cd2e703df96fbd + (const array &lhs, const std::initializer_list< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1array.html + a5b3c615e4ba8fd780b966f175070b554 + (const array &lhs, const std::vector< T > &rhs) noexcept + + + array_iterator + iterator + classtoml_1_1array.html + a62a18471ca7c5b06204d2e26c963f833 + + + + const_array_iterator + const_iterator + classtoml_1_1array.html + adfd38318d3390a76f073a83fd2f2aa21 + + + + iterator + begin + classtoml_1_1array.html + a8ee8179ddf1cb44fdf0b8d0700f55c2f + () noexcept + + + const_iterator + begin + classtoml_1_1array.html + a7cff1526a6d1f6157e0eab231b4757aa + () const noexcept + + + const_iterator + cbegin + classtoml_1_1array.html + a56d1cba006dccc5ad9982b58a8b2ddc1 + () const noexcept + + + iterator + end + classtoml_1_1array.html + adaf908b0cc3e8bcb1ee9ec9ec706d223 + () noexcept + + + const_iterator + end + classtoml_1_1array.html + a778b5b807ff7329f7de10237d73f29c2 + () const noexcept + + + const_iterator + cend + classtoml_1_1array.html + a50e6b032805760f3930e02923d9a84b0 + () const noexcept + + + array & + for_each + classtoml_1_1array.html + a1154a3d27b1af41ffaa498c8d6070b88 + (Func &&visitor) &noexcept(for_each_is_nothrow< Func &&, array & >) + + + array && + for_each + classtoml_1_1array.html + aa7d6dd4f662a93b97d1e750a57df7efc + (Func &&visitor) &&noexcept(for_each_is_nothrow< Func &&, array && >) + + + const array & + for_each + classtoml_1_1array.html + a335c0d9bac1ca2b03a961dbe4dabc386 + (Func &&visitor) const &noexcept(for_each_is_nothrow< Func &&, const array & >) + + + const array && + for_each + classtoml_1_1array.html + a944a1130f3dd2b7aa13c38bd600295b5 + (Func &&visitor) const &&noexcept(for_each_is_nothrow< Func &&, const array && >) + + + node_type + type + classtoml_1_1array.html + a352b6a99235216f070b5e97976663571 + () const noexcept final + + + bool + is_homogeneous + classtoml_1_1array.html + a79a1fe77c03b33ea2b9d8d0a859c93e6 + (node_type ntype) const noexcept final + + + bool + is_homogeneous + classtoml_1_1array.html + ae4e986f9fdb23090f9a0b3716a63e8bb + (node_type ntype, node *&first_nonmatch) noexcept final + + + bool + is_homogeneous + classtoml_1_1array.html + ad00610c0e18f02516de92b623dc4d0f5 + (node_type ntype, const node *&first_nonmatch) const noexcept final + + + bool + is_table + classtoml_1_1array.html + ad7ed894e54ad3aaef6d7693c26b887d9 + () const noexcept final + + + bool + is_array + classtoml_1_1array.html + a1f1e4d93f52778613d0a7bcf74a23427 + () const noexcept final + + + bool + is_array_of_tables + classtoml_1_1array.html + a87cd0dcbebcfd661a0ae387255c0605e + () const noexcept final + + + bool + is_value + classtoml_1_1array.html + acc533a7fa1ea5c68fce6f4fea5bc419c + () const noexcept final + + + bool + is_string + classtoml_1_1array.html + aeefdd01a2ce3f6bcd7aecfabd363d06b + () const noexcept final + + + bool + is_integer + classtoml_1_1array.html + a78db4190977034c4364674a2958855d4 + () const noexcept final + + + bool + is_floating_point + classtoml_1_1array.html + ab758b93eedbdc27112681f26440bee03 + () const noexcept final + + + bool + is_number + classtoml_1_1array.html + aa034144c580b3d8a4727c0cfbfebc214 + () const noexcept final + + + bool + is_boolean + classtoml_1_1array.html + abbecf0a51aa3e175bc5748ccf71063d8 + () const noexcept final + + + bool + is_date + classtoml_1_1array.html + a792dc3fd7105185415925d4f9ab3ca1d + () const noexcept final + + + bool + is_time + classtoml_1_1array.html + a2d2fc80512d08af7a934a6d02c7bf506 + () const noexcept final + + + bool + is_date_time + classtoml_1_1array.html + ae844f53a9604fb42f185a91616a72cbd + () const noexcept final + + + table * + as_table + classtoml_1_1array.html + a95985d66ecd4abf6c5822cbd0d239582 + () noexcept final + + + array * + as_array + classtoml_1_1array.html + a97b772796c962a635e8d5c50e7c03b3a + () noexcept final + + + toml::value< std::string > * + as_string + classtoml_1_1array.html + a5d4d3b502ef2e33107eb1d682b282c75 + () noexcept final + + + toml::value< int64_t > * + as_integer + classtoml_1_1array.html + a41d03d31a6ab168bc4b50046c4bbb50f + () noexcept final + + + toml::value< double > * + as_floating_point + classtoml_1_1array.html + a5e6ed524c4548fdd2131dcbb38b8c766 + () noexcept final + + + toml::value< bool > * + as_boolean + classtoml_1_1array.html + ac1989a2c4d50f8493f97c23ee22e15e6 + () noexcept final + + + toml::value< date > * + as_date + classtoml_1_1array.html + a78a9e7b1d44f90eb55403e54d6d31e2b + () noexcept final + + + toml::value< time > * + as_time + classtoml_1_1array.html + a3dedcb2261a528c59454fc9e0bb7c9fb + () noexcept final + + + toml::value< date_time > * + as_date_time + classtoml_1_1array.html + a58c350366cbbab3eb430751212ba9b18 + () noexcept final + + + const table * + as_table + classtoml_1_1array.html + ae45534b573d10c7e2e1c5624153608f9 + () const noexcept final + + + const array * + as_array + classtoml_1_1array.html + a8007db93bdeb82c8c77965ff72056f6b + () const noexcept final + + + const toml::value< std::string > * + as_string + classtoml_1_1array.html + a943378ff5912e9c732b4dee12d4bf2de + () const noexcept final + + + const toml::value< int64_t > * + as_integer + classtoml_1_1array.html + a79871c2b52557b74da8302925b5624ee + () const noexcept final + + + const toml::value< double > * + as_floating_point + classtoml_1_1array.html + a8f5736e45881203e362bcbb43ed90093 + () const noexcept final + + + const toml::value< bool > * + as_boolean + classtoml_1_1array.html + a48206827982b5cffe51662adfc3aec2b + () const noexcept final + + + const toml::value< date > * + as_date + classtoml_1_1array.html + afc3f86ca86c60deda39e69d24abcacca + () const noexcept final + + + const toml::value< time > * + as_time + classtoml_1_1array.html + a7708feaac3561b836e0789db0dfa6db4 + () const noexcept final + + + const toml::value< date_time > * + as_date_time + classtoml_1_1array.html + aa8fb689b36f44a4fa7c0ffccff20dbd9 + () const noexcept final + + + node * + get + classtoml_1_1array.html + a10664e00054ea4021fec5144b69b8792 + (size_t index) noexcept + + + const node * + get + classtoml_1_1array.html + a44db509dce6b7b77e563c822a5936abe + (size_t index) const noexcept + + + impl::wrap_node< ElemType > * + get_as + classtoml_1_1array.html + a5c2f4624498cba9e1e467b0eb2e9046e + (size_t index) noexcept + + + const impl::wrap_node< ElemType > * + get_as + classtoml_1_1array.html + ae47ca1cc4c61e94fed30aea72ca8d268 + (size_t index) const noexcept + + + node & + operator[] + classtoml_1_1array.html + a853bad0297ca4dcee57c97da2fe318e7 + (size_t index) noexcept + + + const node & + operator[] + classtoml_1_1array.html + ae9f72a1b877f2ac66327a152d55aa9c6 + (size_t index) const noexcept + + + node & + at + classtoml_1_1array.html + aeade4e0cafa3f57b4800e72baa843b1e + (size_t index) + + + const node & + at + classtoml_1_1array.html + a8a5957e22aa2d0f4f9e6feaf9bfffa55 + (size_t index) const + + + node & + front + classtoml_1_1array.html + a9c78848129a2a703c154e7cbe1a973d3 + () noexcept + + + const node & + front + classtoml_1_1array.html + a5ba3af18c63546da6f9d2ac3b5b77f64 + () const noexcept + + + node & + back + classtoml_1_1array.html + a4c58dea5e8795e4b9f8df4f1e1473204 + () noexcept + + + const node & + back + classtoml_1_1array.html + ac7652c1ab60af2ca1c7d52f0658639b4 + () const noexcept + + + bool + empty + classtoml_1_1array.html + a5d527ea6bfddad1025e90e4363c822cc + () const noexcept + + + size_t + size + classtoml_1_1array.html + af81d7b6a1257ad766a47d9276855a7c9 + () const noexcept + + + size_t + max_size + classtoml_1_1array.html + ae65a76add6d756fc7ba8f12a5aad983c + () const noexcept + + + size_t + capacity + classtoml_1_1array.html + a02b773a1ff337692e78da429030c1610 + () const noexcept + + + void + reserve + classtoml_1_1array.html + a1ba073adc52c3df5ad29cfd7e5daa1d5 + (size_t new_capacity) + + + void + shrink_to_fit + classtoml_1_1array.html + a718c2031ead428aa52912741f6d094aa + () + + + void + truncate + classtoml_1_1array.html + a6e3ac9962c706a88c1001ff83a4084f3 + (size_t new_size) + + + void + resize + classtoml_1_1array.html + ab1aca2337ffce7e583a2cf303f16259f + (size_t new_size, ElemType &&default_init_val, value_flags default_init_flags=preserve_source_value_flags) + + + iterator + erase + classtoml_1_1array.html + a22389a9ed9444fe52be10c4acbdec908 + (const_iterator pos) noexcept + + + iterator + erase + classtoml_1_1array.html + a723388860d72c9a162137d0293366fb2 + (const_iterator first, const_iterator last) noexcept + + + array & + flatten + classtoml_1_1array.html + aa2a21958705629bde15aafae9598a2ec + () & + + + array && + flatten + classtoml_1_1array.html + ad307bea17e7640c57715d67ab8a777d4 + () && + + + array & + prune + classtoml_1_1array.html + ae548cf1dc26ade60733548a00a39b175 + (bool recursive=true) &noexcept + + + array && + prune + classtoml_1_1array.html + a6fc918a151ada40c713d6855af3021c2 + (bool recursive=true) &&noexcept + + + void + pop_back + classtoml_1_1array.html + af99d72e29cef84f736d91d627b47a1dc + () noexcept + + + void + clear + classtoml_1_1array.html + adaa65bf63f29f898c27423306c165d68 + () noexcept + + + iterator + insert + classtoml_1_1array.html + a17c7e34b433ea8907186dbb1788c9d37 + (const_iterator pos, ElemType &&val, value_flags flags=preserve_source_value_flags) + + + iterator + insert + classtoml_1_1array.html + a55a9e6e742e556ea07573d29c23ce7df + (const_iterator pos, size_t count, ElemType &&val, value_flags flags=preserve_source_value_flags) + + + iterator + insert + classtoml_1_1array.html + a60a0d39bfd8721cef23e155f5504d54d + (const_iterator pos, Iter first, Iter last, value_flags flags=preserve_source_value_flags) + + + iterator + insert + classtoml_1_1array.html + a1baecd5d579afb508886572674b89781 + (const_iterator pos, std::initializer_list< ElemType > ilist, value_flags flags=preserve_source_value_flags) + + + iterator + emplace + classtoml_1_1array.html + a4110b96386b33097a255f3694ac01d4a + (const_iterator pos, Args &&... args) + + + iterator + replace + classtoml_1_1array.html + a37a8a283e6c1cbeef757b2e59489ee6c + (const_iterator pos, ElemType &&val, value_flags flags=preserve_source_value_flags) + + + void + push_back + classtoml_1_1array.html + ab7188537b351ef3a756b54b83e4b05b3 + (ElemType &&val, value_flags flags=preserve_source_value_flags) + + + decltype(auto) + emplace_back + classtoml_1_1array.html + ad1383e120e7f8d8fe54e07dab164bd6d + (Args &&... args) + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + aef68f74119416a0a6d0a62f0f7d8d4ea + (const toml::path &path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + afbd39cca3959da4a1d8e1d220b6abe83 + (const toml::path &path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + node_view< node > + operator[] + classtoml_1_1node.html + a8c3214e47f056a3a9bcdb66edd7fa97f + (const toml::path &path) noexcept + + + node_view< const node > + operator[] + classtoml_1_1node.html + a2276f2cac96c095b4e4645ca5bebe0f9 + (const toml::path &path) const noexcept + + + friend bool + operator== + classtoml_1_1array.html + a06cf25e3f80c98d88e041ef9823976c0 + (const array &lhs, const array &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1array.html + af06c7437a0946a9d5e093d903b59f6a4 + (const array &lhs, const array &rhs) noexcept + + + friend bool + operator== + classtoml_1_1array.html + ab87e435c5a41140e60cd2e703df96fbd + (const array &lhs, const std::initializer_list< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1array.html + a5b3c615e4ba8fd780b966f175070b554 + (const array &lhs, const std::vector< T > &rhs) noexcept + + + + toml::date + structtoml_1_1date.html + + + date + structtoml_1_1date.html + a5cbb79ab52538ec7a74022cf4fcfb129 + () noexcept=default + + + constexpr + date + structtoml_1_1date.html + a6025b77738bf7ed2db704cc85297e74d + (Y y, M m, D d) noexcept + + + uint16_t + year + structtoml_1_1date.html + ad1dc522b115c69dc908540b1c6ff792b + + + + uint8_t + month + structtoml_1_1date.html + a0528c722d0a81741a95f6e3a1116614e + + + + uint8_t + day + structtoml_1_1date.html + a8ec7a7238b8edd3341b450a7b43ec011 + + + + constexpr friend bool + operator== + structtoml_1_1date.html + af76134298f28a36f104515fa6ba018b0 + (const date &lhs, const date &rhs) noexcept + + + constexpr friend bool + operator!= + structtoml_1_1date.html + a5e1b63040c6d403b8e0a717c77d9509d + (const date &lhs, const date &rhs) noexcept + + + constexpr friend bool + operator< + structtoml_1_1date.html + a800189899a4daf5b8cdf1c5b252b772d + (const date &lhs, const date &rhs) noexcept + + + constexpr friend bool + operator<= + structtoml_1_1date.html + a0add90c8bea1fdc5ff50cbbeb5e169fc + (const date &lhs, const date &rhs) noexcept + + + constexpr friend bool + operator> + structtoml_1_1date.html + a1861ff6d5850f8148ce002c75b2ab952 + (const date &lhs, const date &rhs) noexcept + + + constexpr friend bool + operator>= + structtoml_1_1date.html + a8f74ab67a378a52e28478d5f768e4152 + (const date &lhs, const date &rhs) noexcept + + + friend std::ostream & + operator<< + structtoml_1_1date.html + aa24fddba6149a26f1dbeefe036126316 + (std::ostream &lhs, const date &rhs) + + + + toml::date_time + structtoml_1_1date__time.html + + + date_time + structtoml_1_1date__time.html + a2c9ee1c5c94a6623e9cac5db65289d1f + () noexcept=default + + + constexpr + date_time + structtoml_1_1date__time.html + a8b084d38079cf71db0d0ac8465928dc2 + (const toml::date &d, const toml::time &t) noexcept + + + constexpr + date_time + structtoml_1_1date__time.html + a5394c8e6690f59e627f92b614b06be58 + (const toml::date &d) noexcept + + + constexpr + date_time + structtoml_1_1date__time.html + a73df51041eee08b984d38462ba3fdda4 + (const toml::time &t) noexcept + + + constexpr + date_time + structtoml_1_1date__time.html + aacba153f96e9637d536add5159bad99a + (const toml::date &d, const toml::time &t, const toml::time_offset &off) noexcept + + + constexpr bool + is_local + structtoml_1_1date__time.html + af0d6119984645eb015f2fad0ef487bbc + () const noexcept + + + toml::date + date + structtoml_1_1date__time.html + a89f398585f373d1e7bd59fe440212074 + + + + toml::time + time + structtoml_1_1date__time.html + a18d5e772db4f61635643cda390c2b720 + + + + optional< toml::time_offset > + offset + structtoml_1_1date__time.html + af8596013f522b94a88d2caf69e90a1f5 + + + + constexpr friend bool + operator== + structtoml_1_1date__time.html + a885cbe902aeadacb0953230ade9d8b9a + (const date_time &lhs, const date_time &rhs) noexcept + + + constexpr friend bool + operator!= + structtoml_1_1date__time.html + a9ae0e032ffe90928c47b40bd8155dea3 + (const date_time &lhs, const date_time &rhs) noexcept + + + constexpr friend bool + operator< + structtoml_1_1date__time.html + a4f67803fdc02fb5549ba213a9273a63b + (const date_time &lhs, const date_time &rhs) noexcept + + + constexpr friend bool + operator<= + structtoml_1_1date__time.html + a7b2f0261ae38ef6dbb6de0fb35fbbf3b + (const date_time &lhs, const date_time &rhs) noexcept + + + constexpr friend bool + operator> + structtoml_1_1date__time.html + a1bceb05028f33a829d61ffc768eab78a + (const date_time &lhs, const date_time &rhs) noexcept + + + constexpr friend bool + operator>= + structtoml_1_1date__time.html + a361fb1904f477e0a1f7acaa3cdd14abf + (const date_time &lhs, const date_time &rhs) noexcept + + + friend std::ostream & + operator<< + structtoml_1_1date__time.html + a5a090cb9dfa0d6a3e74603ba702bbddc + (std::ostream &lhs, const date_time &rhs) + + + + toml::inserter + structtoml_1_1inserter.html + + + + toml::json_formatter + classtoml_1_1json__formatter.html + + + json_formatter + classtoml_1_1json__formatter.html + ade267ecca82e3bbac3d1392abab91be9 + (const toml::node &source, format_flags flags=default_flags) noexcept + + + + json_formatter + classtoml_1_1json__formatter.html + a51785aa8ef373a9136e896fafabd53be + (const toml::parse_result &result, format_flags flags=default_flags) noexcept + + + static constexpr format_flags + default_flags + classtoml_1_1json__formatter.html + a4541a4662894ce8936f6f2c3ab90fe2e + + + + friend std::ostream & + operator<< + classtoml_1_1json__formatter.html + a2b88bc230c589c1fad25ffd8df96b74e + (std::ostream &lhs, json_formatter &rhs) + + + friend std::ostream & + operator<< + classtoml_1_1json__formatter.html + a5eefe4e5ca640b12fbb09fd521eab335 + (std::ostream &lhs, json_formatter &&rhs) + + + + toml::key + classtoml_1_1key.html + + + key + classtoml_1_1key.html + ac978efd3b48ec0a5c14f08618e4dbe23 + () noexcept=default + + + + key + classtoml_1_1key.html + a5119f122c15687a2f0f81b270a627de2 + (std::string_view k, source_region &&src={}) + + + + key + classtoml_1_1key.html + a0718eb26f4d9c1a4c0fb928efb0d6f81 + (std::string_view k, const source_region &src) + + + + key + classtoml_1_1key.html + a788b1bbeaf636dccc4a78f832bf123e0 + (std::string &&k, source_region &&src={}) noexcept + + + + key + classtoml_1_1key.html + ab86ff590f222d57b8f4630901298d8da + (std::string &&k, const source_region &src) noexcept + + + + key + classtoml_1_1key.html + a981f5ee2fbd822d47d0b347c5df55f11 + (const char *k, source_region &&src={}) + + + + key + classtoml_1_1key.html + ad5f26b37172e34a8c70e848ad7911710 + (const char *k, const source_region &src) + + + + key + classtoml_1_1key.html + a67cfed717c84773ab3fe6ec1b7936fa7 + (std::wstring_view k, source_region &&src={}) + + + + key + classtoml_1_1key.html + aba2cb69db8cae7cbc60899a0ee7618d3 + (std::wstring_view k, const source_region &src) + + + std::string_view + str + classtoml_1_1key.html + a0ca779e816081627f78965683182d4dc + () const noexcept + + + + operator std::string_view + classtoml_1_1key.html + a0f580806c0894ea820c533a9f6e0fa91 + () const noexcept + + + bool + empty + classtoml_1_1key.html + a2baa48f26dac4a10a8328706f9386417 + () const noexcept + + + const char * + data + classtoml_1_1key.html + a49f230dc58174f399f49100115ee088f + () const noexcept + + + size_t + length + classtoml_1_1key.html + a5ffa3226fa66f1be190178572a87a000 + () const noexcept + + + const source_region & + source + classtoml_1_1key.html + a82a81d4a4e4d502b661ee2ba10810bea + () const noexcept + + + friend std::ostream & + operator<< + classtoml_1_1key.html + a78eb7afc69ecd78f4f6ded062f2f7ea7 + (std::ostream &lhs, const key &rhs) + + + friend bool + operator== + classtoml_1_1key.html + aa1d636ad061ad2c8e33c629e112bba5e + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1key.html + a1255e940048a362bda11ee240b3f1ffe + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator< + classtoml_1_1key.html + a7a6f49b1bdf3e234f7598481a4afd5db + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1key.html + ae300be177925b12b73568e194c1444ae + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator> + classtoml_1_1key.html + ae51dcf0f86bed0f6f5ce24d326c0badc + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1key.html + a3c20053f6eae90f946535a95225f522a + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator== + classtoml_1_1key.html + a545b27567960385af1c8ae669029d7dd + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator!= + classtoml_1_1key.html + a24ea2ab9799ab7fec679f2dae3afccf2 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator< + classtoml_1_1key.html + a5578fc46610d6f6e684fbffdf3f61a44 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator<= + classtoml_1_1key.html + a9c59103b835fb600dbb6c808f8c4f8a8 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator> + classtoml_1_1key.html + ad48d1d36a11a9434bc339987838b08f6 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator>= + classtoml_1_1key.html + a61e19637671ad5c5856eafd5753e9b65 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator== + classtoml_1_1key.html + aed4a71da8d0ffb75d847ab2c26948a1c + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1key.html + a165b2057b0144350b1c291ffb0956122 + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator< + classtoml_1_1key.html + a1bacd712822950e9594fd288a236c9cb + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1key.html + a780d9a226184919f080acf0b0a676400 + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator> + classtoml_1_1key.html + aa85755cf51a2ee6d616aa03a8de8b4b0 + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1key.html + aa89096b9f6b364702858f2dc6734987a + (std::string_view lhs, const key &rhs) noexcept + + + const char * + const_iterator + classtoml_1_1key.html + a38a33d5010936195ac2083e428165512 + + + + const_iterator + iterator + classtoml_1_1key.html + a40c42bc323383db54972b5752b9ad4dd + + + + const_iterator + begin + classtoml_1_1key.html + ab1691956be4ffe1c604e8e66acdc237e + () const noexcept + + + const_iterator + end + classtoml_1_1key.html + a9b37a10b4aff1e6e7902301789f579c8 + () const noexcept + + + std::string_view + str + classtoml_1_1key.html + a0ca779e816081627f78965683182d4dc + () const noexcept + + + + operator std::string_view + classtoml_1_1key.html + a0f580806c0894ea820c533a9f6e0fa91 + () const noexcept + + + bool + empty + classtoml_1_1key.html + a2baa48f26dac4a10a8328706f9386417 + () const noexcept + + + const char * + data + classtoml_1_1key.html + a49f230dc58174f399f49100115ee088f + () const noexcept + + + size_t + length + classtoml_1_1key.html + a5ffa3226fa66f1be190178572a87a000 + () const noexcept + + + const source_region & + source + classtoml_1_1key.html + a82a81d4a4e4d502b661ee2ba10810bea + () const noexcept + + + friend bool + operator== + classtoml_1_1key.html + aa1d636ad061ad2c8e33c629e112bba5e + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1key.html + a1255e940048a362bda11ee240b3f1ffe + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator< + classtoml_1_1key.html + a7a6f49b1bdf3e234f7598481a4afd5db + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1key.html + ae300be177925b12b73568e194c1444ae + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator> + classtoml_1_1key.html + ae51dcf0f86bed0f6f5ce24d326c0badc + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1key.html + a3c20053f6eae90f946535a95225f522a + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator== + classtoml_1_1key.html + a545b27567960385af1c8ae669029d7dd + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator!= + classtoml_1_1key.html + a24ea2ab9799ab7fec679f2dae3afccf2 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator< + classtoml_1_1key.html + a5578fc46610d6f6e684fbffdf3f61a44 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator<= + classtoml_1_1key.html + a9c59103b835fb600dbb6c808f8c4f8a8 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator> + classtoml_1_1key.html + ad48d1d36a11a9434bc339987838b08f6 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator>= + classtoml_1_1key.html + a61e19637671ad5c5856eafd5753e9b65 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator== + classtoml_1_1key.html + aed4a71da8d0ffb75d847ab2c26948a1c + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1key.html + a165b2057b0144350b1c291ffb0956122 + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator< + classtoml_1_1key.html + a1bacd712822950e9594fd288a236c9cb + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1key.html + a780d9a226184919f080acf0b0a676400 + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator> + classtoml_1_1key.html + aa85755cf51a2ee6d616aa03a8de8b4b0 + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1key.html + aa89096b9f6b364702858f2dc6734987a + (std::string_view lhs, const key &rhs) noexcept + + + + toml::node + classtoml_1_1node.html + + virtual bool + is_homogeneous + classtoml_1_1node.html + a68de6772e259ef122c00b0a9c7b63516 + (node_type ntype, node *&first_nonmatch) noexcept=0 + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a834e10ece19d04b4d774d5f224d50b8f + (node_type ntype, const node *&first_nonmatch) const noexcept=0 + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a5d9191dc545ecded3bc8f7706c63edad + (node_type ntype) const noexcept=0 + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + virtual node_type + type + classtoml_1_1node.html + a10f389035ce13abb00a1191358af6334 + () const noexcept=0 + + + virtual bool + is_table + classtoml_1_1node.html + a50a2501af7e42b0fab060206dde7a99e + () const noexcept=0 + + + virtual bool + is_array + classtoml_1_1node.html + accce7655b0cc340591a755412fde2ed7 + () const noexcept=0 + + + virtual bool + is_array_of_tables + classtoml_1_1node.html + aa09263a05ef361ad233e710308fce690 + () const noexcept=0 + + + virtual bool + is_value + classtoml_1_1node.html + aeddf9eebbd4ece799e5675e2d9d59e4a + () const noexcept=0 + + + virtual bool + is_string + classtoml_1_1node.html + aa95180487162e844129031842d8a9580 + () const noexcept=0 + + + virtual bool + is_integer + classtoml_1_1node.html + ac5390ac64f018947edc75802a53505a5 + () const noexcept=0 + + + virtual bool + is_floating_point + classtoml_1_1node.html + ad8cdb68a69bdc13cda7d4f7663e57847 + () const noexcept=0 + + + virtual bool + is_number + classtoml_1_1node.html + afcc263be60c33b3f92646b5cfa07393e + () const noexcept=0 + + + virtual bool + is_boolean + classtoml_1_1node.html + a422f765df7ee04fa13254adcda29ae8d + () const noexcept=0 + + + virtual bool + is_date + classtoml_1_1node.html + a1c86fb0bd8e241c4768108988a59332a + () const noexcept=0 + + + virtual bool + is_time + classtoml_1_1node.html + a9266c340ccc94b3349704e91bf12d42d + () const noexcept=0 + + + virtual bool + is_date_time + classtoml_1_1node.html + a900f7589762e01c91fb5b07a2c8e9202 + () const noexcept=0 + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + virtual table * + as_table + classtoml_1_1node.html + ac0ca09368b80436100a1eb042daccacc + () noexcept=0 + + + virtual array * + as_array + classtoml_1_1node.html + a43bc08c435e4fbf5ebbcf34f902a6377 + () noexcept=0 + + + virtual toml::value< std::string > * + as_string + classtoml_1_1node.html + a8560597586915efad21f288f591c23cd + () noexcept=0 + + + virtual toml::value< int64_t > * + as_integer + classtoml_1_1node.html + a9e1419c3f99eda7767d114095b1ad793 + () noexcept=0 + + + virtual toml::value< double > * + as_floating_point + classtoml_1_1node.html + a61d3f2c50952a1c989f82b54c5c2eeda + () noexcept=0 + + + virtual toml::value< bool > * + as_boolean + classtoml_1_1node.html + aea93e54eb94c6cb48d240766983fa493 + () noexcept=0 + + + virtual toml::value< date > * + as_date + classtoml_1_1node.html + adcf92e730609341bb1e3c0ae1d12c36f + () noexcept=0 + + + virtual toml::value< time > * + as_time + classtoml_1_1node.html + a2d88fef8e892aae05c3e9886fdef7dce + () noexcept=0 + + + virtual toml::value< date_time > * + as_date_time + classtoml_1_1node.html + ae1312e66ac95fc1cf6ae12f48e000b2a + () noexcept=0 + + + virtual const table * + as_table + classtoml_1_1node.html + aa167e4d8d6e6db784affe8490e178c8b + () const noexcept=0 + + + virtual const array * + as_array + classtoml_1_1node.html + a7ed34b94f3999b03db45fd5e0830637d + () const noexcept=0 + + + virtual const toml::value< std::string > * + as_string + classtoml_1_1node.html + a47c55af38414fdb32075c378b3405bfa + () const noexcept=0 + + + virtual const toml::value< int64_t > * + as_integer + classtoml_1_1node.html + a43bea93af60b57ecc98efaf50dccfe9b + () const noexcept=0 + + + virtual const toml::value< double > * + as_floating_point + classtoml_1_1node.html + a4ceaa3a398fa76c134c902ec1c4778aa + () const noexcept=0 + + + virtual const toml::value< bool > * + as_boolean + classtoml_1_1node.html + a45dd3436280deeb307127278f816e8e9 + () const noexcept=0 + + + virtual const toml::value< date > * + as_date + classtoml_1_1node.html + ac15b9b4e6aa05ca616bac37610af27fc + () const noexcept=0 + + + virtual const toml::value< time > * + as_time + classtoml_1_1node.html + a7ebf75d2978ae1ea32daff4c063217e7 + () const noexcept=0 + + + virtual const toml::value< date_time > * + as_date_time + classtoml_1_1node.html + a7d7b9d4defe5ffc3f1398715f5e325b3 + () const noexcept=0 + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + aef68f74119416a0a6d0a62f0f7d8d4ea + (const toml::path &path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + afbd39cca3959da4a1d8e1d220b6abe83 + (const toml::path &path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + node_view< node > + operator[] + classtoml_1_1node.html + a8c3214e47f056a3a9bcdb66edd7fa97f + (const toml::path &path) noexcept + + + node_view< const node > + operator[] + classtoml_1_1node.html + a2276f2cac96c095b4e4645ca5bebe0f9 + (const toml::path &path) const noexcept + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a68de6772e259ef122c00b0a9c7b63516 + (node_type ntype, node *&first_nonmatch) noexcept=0 + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a834e10ece19d04b4d774d5f224d50b8f + (node_type ntype, const node *&first_nonmatch) const noexcept=0 + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a5d9191dc545ecded3bc8f7706c63edad + (node_type ntype) const noexcept=0 + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + virtual node_type + type + classtoml_1_1node.html + a10f389035ce13abb00a1191358af6334 + () const noexcept=0 + + + virtual bool + is_table + classtoml_1_1node.html + a50a2501af7e42b0fab060206dde7a99e + () const noexcept=0 + + + virtual bool + is_array + classtoml_1_1node.html + accce7655b0cc340591a755412fde2ed7 + () const noexcept=0 + + + virtual bool + is_array_of_tables + classtoml_1_1node.html + aa09263a05ef361ad233e710308fce690 + () const noexcept=0 + + + virtual bool + is_value + classtoml_1_1node.html + aeddf9eebbd4ece799e5675e2d9d59e4a + () const noexcept=0 + + + virtual bool + is_string + classtoml_1_1node.html + aa95180487162e844129031842d8a9580 + () const noexcept=0 + + + virtual bool + is_integer + classtoml_1_1node.html + ac5390ac64f018947edc75802a53505a5 + () const noexcept=0 + + + virtual bool + is_floating_point + classtoml_1_1node.html + ad8cdb68a69bdc13cda7d4f7663e57847 + () const noexcept=0 + + + virtual bool + is_number + classtoml_1_1node.html + afcc263be60c33b3f92646b5cfa07393e + () const noexcept=0 + + + virtual bool + is_boolean + classtoml_1_1node.html + a422f765df7ee04fa13254adcda29ae8d + () const noexcept=0 + + + virtual bool + is_date + classtoml_1_1node.html + a1c86fb0bd8e241c4768108988a59332a + () const noexcept=0 + + + virtual bool + is_time + classtoml_1_1node.html + a9266c340ccc94b3349704e91bf12d42d + () const noexcept=0 + + + virtual bool + is_date_time + classtoml_1_1node.html + a900f7589762e01c91fb5b07a2c8e9202 + () const noexcept=0 + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + virtual table * + as_table + classtoml_1_1node.html + ac0ca09368b80436100a1eb042daccacc + () noexcept=0 + + + virtual array * + as_array + classtoml_1_1node.html + a43bc08c435e4fbf5ebbcf34f902a6377 + () noexcept=0 + + + virtual toml::value< std::string > * + as_string + classtoml_1_1node.html + a8560597586915efad21f288f591c23cd + () noexcept=0 + + + virtual toml::value< int64_t > * + as_integer + classtoml_1_1node.html + a9e1419c3f99eda7767d114095b1ad793 + () noexcept=0 + + + virtual toml::value< double > * + as_floating_point + classtoml_1_1node.html + a61d3f2c50952a1c989f82b54c5c2eeda + () noexcept=0 + + + virtual toml::value< bool > * + as_boolean + classtoml_1_1node.html + aea93e54eb94c6cb48d240766983fa493 + () noexcept=0 + + + virtual toml::value< date > * + as_date + classtoml_1_1node.html + adcf92e730609341bb1e3c0ae1d12c36f + () noexcept=0 + + + virtual toml::value< time > * + as_time + classtoml_1_1node.html + a2d88fef8e892aae05c3e9886fdef7dce + () noexcept=0 + + + virtual toml::value< date_time > * + as_date_time + classtoml_1_1node.html + ae1312e66ac95fc1cf6ae12f48e000b2a + () noexcept=0 + + + virtual const table * + as_table + classtoml_1_1node.html + aa167e4d8d6e6db784affe8490e178c8b + () const noexcept=0 + + + virtual const array * + as_array + classtoml_1_1node.html + a7ed34b94f3999b03db45fd5e0830637d + () const noexcept=0 + + + virtual const toml::value< std::string > * + as_string + classtoml_1_1node.html + a47c55af38414fdb32075c378b3405bfa + () const noexcept=0 + + + virtual const toml::value< int64_t > * + as_integer + classtoml_1_1node.html + a43bea93af60b57ecc98efaf50dccfe9b + () const noexcept=0 + + + virtual const toml::value< double > * + as_floating_point + classtoml_1_1node.html + a4ceaa3a398fa76c134c902ec1c4778aa + () const noexcept=0 + + + virtual const toml::value< bool > * + as_boolean + classtoml_1_1node.html + a45dd3436280deeb307127278f816e8e9 + () const noexcept=0 + + + virtual const toml::value< date > * + as_date + classtoml_1_1node.html + ac15b9b4e6aa05ca616bac37610af27fc + () const noexcept=0 + + + virtual const toml::value< time > * + as_time + classtoml_1_1node.html + a7ebf75d2978ae1ea32daff4c063217e7 + () const noexcept=0 + + + virtual const toml::value< date_time > * + as_date_time + classtoml_1_1node.html + a7d7b9d4defe5ffc3f1398715f5e325b3 + () const noexcept=0 + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + aef68f74119416a0a6d0a62f0f7d8d4ea + (const toml::path &path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + afbd39cca3959da4a1d8e1d220b6abe83 + (const toml::path &path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + node_view< node > + operator[] + classtoml_1_1node.html + a8c3214e47f056a3a9bcdb66edd7fa97f + (const toml::path &path) noexcept + + + node_view< const node > + operator[] + classtoml_1_1node.html + a2276f2cac96c095b4e4645ca5bebe0f9 + (const toml::path &path) const noexcept + + + + toml::node_view + classtoml_1_1node__view.html + + + ViewedType + viewed_type + classtoml_1_1node__view.html + a1550f4e57532fd03b6c3e9d87805c03a + + + + + node_view + classtoml_1_1node__view.html + a0d8bf511db11b67081bea35c25e4ca9e + () noexcept=default + + + + node_view + classtoml_1_1node__view.html + a199ca0c01e27a74b2ad6dbe554113fb8 + (viewed_type *node) noexcept + + + + node_view + classtoml_1_1node__view.html + af40ced8902e81e354af44a033f05d682 + (viewed_type &node) noexcept + + + + node_view + classtoml_1_1node__view.html + a6f2a4c199237385a61741ab30a64b500 + (const node_view &) noexcept=default + + + + node_view + classtoml_1_1node__view.html + a79091432e79c07c4bb8700f44adfb8d6 + (node_view &&) noexcept=default + + + node_view & + operator= + classtoml_1_1node__view.html + afa455c0337a6fe4d1ca533e10750ba9e + (const node_view &) &noexcept=default + + + node_view & + operator= + classtoml_1_1node__view.html + a3dd8195e3971ebb2110b812783cff136 + (node_view &&) &noexcept=default + + + + operator bool + classtoml_1_1node__view.html + ab8ee0ffcb999601a9b0247c099aa9250 + () const noexcept + + + viewed_type * + node + classtoml_1_1node__view.html + afb42ba6fdddfb407bd37b697a407246d + () const noexcept + + + node_type + type + classtoml_1_1node__view.html + a2483cf1a8314661919b9066ce62c9621 + () const noexcept + + + bool + is_table + classtoml_1_1node__view.html + a70b567ea582c472fe95a89b5b842cee6 + () const noexcept + + + bool + is_array + classtoml_1_1node__view.html + a879d945d2880fc216085d7deb087ad38 + () const noexcept + + + bool + is_value + classtoml_1_1node__view.html + aa58f8de47be5f53738b1a04d7e9d05af + () const noexcept + + + bool + is_string + classtoml_1_1node__view.html + a79b47268155d955b8e2c027b0c2ae983 + () const noexcept + + + bool + is_integer + classtoml_1_1node__view.html + ab9c835ddf017f250d84fa5d5736e8520 + () const noexcept + + + bool + is_floating_point + classtoml_1_1node__view.html + a43ea3eed7b0f133fa7d752a9322c758e + () const noexcept + + + bool + is_number + classtoml_1_1node__view.html + a107732370c62402b1101a78e7382fd8b + () const noexcept + + + bool + is_boolean + classtoml_1_1node__view.html + aa7ee0d1f396e1283c4a11d07b9400897 + () const noexcept + + + bool + is_date + classtoml_1_1node__view.html + a4dc7cf8a57db73fa799a939f7acd549d + () const noexcept + + + bool + is_time + classtoml_1_1node__view.html + a98a6bc33e3ba573c37a069126acf0b8c + () const noexcept + + + bool + is_date_time + classtoml_1_1node__view.html + a5a380f773ae291c942a03e45a88c94b0 + () const noexcept + + + bool + is_array_of_tables + classtoml_1_1node__view.html + a6cc459be36698ec5a9ac0d00b4480eae + () const noexcept + + + bool + is + classtoml_1_1node__view.html + a21d7c55a33aa1c868dde5cbaa7e54ec2 + () const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + a2a2902064421f401e80ea687cef536da + (node_type ntype, viewed_type *&first_nonmatch) const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + afe0abd51e0e108b306be2a3ee9561cca + (node_type ntype) const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + a29c82d83b1d64f016eb42f95fd37e346 + () const noexcept + + + auto * + as + classtoml_1_1node__view.html + a5cd619f292f91fc9d417c61905ea8204 + () const noexcept + + + auto * + as_table + classtoml_1_1node__view.html + a5b73b7eeaa97666ebee3d604171a5576 + () const noexcept + + + auto * + as_array + classtoml_1_1node__view.html + a8593d229d139b05dc81d5d2d97ce3a1f + () const noexcept + + + auto * + as_string + classtoml_1_1node__view.html + a33c4dd8fb9498f6de6fb06714b508d17 + () const noexcept + + + auto * + as_integer + classtoml_1_1node__view.html + ad21750582ec6303e0b257b132ec4409d + () const noexcept + + + auto * + as_floating_point + classtoml_1_1node__view.html + a926821efb73ad7292e3f14841c54871b + () const noexcept + + + auto * + as_boolean + classtoml_1_1node__view.html + a9fec898a7fa88ddbb396fe3b2a81c945 + () const noexcept + + + auto * + as_date + classtoml_1_1node__view.html + a94a7cf14d6ca777de56abd5cdbe8eece + () const noexcept + + + auto * + as_time + classtoml_1_1node__view.html + a94087a35223d51ca76f22a361031bd7e + () const noexcept + + + auto * + as_date_time + classtoml_1_1node__view.html + a5bcb3ac0edcc516efda53fd022057282 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node__view.html + a2d558e7799bc4e24adda096446eb384d + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node__view.html + abb51a912462a258379b968c4074f8324 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node__view.html + a314e5d666dcda3493ff9aa2c0816f53c + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node__view.html + aec5c764293a7eeb20009a484b34d7c3a + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node__view.html + aa5f84bfab779c71a07b04ca0b2db863f + (Func &&visitor) const noexcept(visit_is_nothrow< Func && >) + + + node_view + operator[] + classtoml_1_1node__view.html + a2dde12894f70530d80de45a03eae78fa + (std::string_view key) const noexcept + + + node_view + operator[] + classtoml_1_1node__view.html + a44b94290029477305f0b6720d72bf965 + (const toml::path &path) const noexcept + + + node_view + at_path + classtoml_1_1node__view.html + a59c5432fb77b50ef22098e17d4f956d5 + (std::string_view path) const noexcept + + + node_view + at_path + classtoml_1_1node__view.html + ab265c6f0304647bcd8074ad081f2bf17 + (const toml::path &path) const noexcept + + + node_view + operator[] + classtoml_1_1node__view.html + a35021e65758dc0be505916532b69a7d8 + (std::wstring_view key) const + + + node_view + at_path + classtoml_1_1node__view.html + a157c1eafb7bdf8f33398106017d1b20c + (std::wstring_view path) const + + + node_view + operator[] + classtoml_1_1node__view.html + a5d13b026efcd31812415ead30eeb69db + (size_t index) const noexcept + + + friend std::ostream & + operator<< + classtoml_1_1node__view.html + a170109f0b77888f54b2fcdb8fee0ab90 + (std::ostream &os, const node_view &nv) + + + friend bool + operator== + classtoml_1_1node__view.html + a191820d030035d564fe09f5eb251b927 + (const node_view &lhs, const node_view< T > &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1node__view.html + a3dc82b95849d7e6bd89b5496fe96beaa + (const node_view &lhs, const node_view< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a754bdba78869afe6bccb4b51e0a77e45 + (const node_view &lhs, const table &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a3b39aedbada6221a4e3857b0f0235843 + (const node_view &lhs, const array &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + ad9fd96826fcee43cd1ea1ccf6e22c895 + (const node_view &lhs, const toml::value< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a4dba3ed7356704669e4175fa7c8f5c34 + (const node_view &lhs, const T &rhs) noexcept(!impl::is_wide_string< T >) + + + friend bool + operator== + classtoml_1_1node__view.html + abe826c97f2b451ee287ecf37f46517fb + (const node_view &lhs, const std::initializer_list< T > &rhs) noexcept(!impl::is_wide_string< T >) + + + friend bool + operator== + classtoml_1_1node__view.html + ad4b4144f8033c78e5410f701e5ae7e30 + (const node_view &lhs, const std::vector< T > &rhs) noexcept(!impl::is_wide_string< T >) + + + friend bool + operator== + classtoml_1_1node__view.html + a191820d030035d564fe09f5eb251b927 + (const node_view &lhs, const node_view< T > &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1node__view.html + a3dc82b95849d7e6bd89b5496fe96beaa + (const node_view &lhs, const node_view< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a754bdba78869afe6bccb4b51e0a77e45 + (const node_view &lhs, const table &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a3b39aedbada6221a4e3857b0f0235843 + (const node_view &lhs, const array &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + ad9fd96826fcee43cd1ea1ccf6e22c895 + (const node_view &lhs, const toml::value< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a4dba3ed7356704669e4175fa7c8f5c34 + (const node_view &lhs, const T &rhs) noexcept(!impl::is_wide_string< T >) + + + friend bool + operator== + classtoml_1_1node__view.html + abe826c97f2b451ee287ecf37f46517fb + (const node_view &lhs, const std::initializer_list< T > &rhs) noexcept(!impl::is_wide_string< T >) + + + friend bool + operator== + classtoml_1_1node__view.html + ad4b4144f8033c78e5410f701e5ae7e30 + (const node_view &lhs, const std::vector< T > &rhs) noexcept(!impl::is_wide_string< T >) + + + node_type + type + classtoml_1_1node__view.html + a2483cf1a8314661919b9066ce62c9621 + () const noexcept + + + bool + is_table + classtoml_1_1node__view.html + a70b567ea582c472fe95a89b5b842cee6 + () const noexcept + + + bool + is_array + classtoml_1_1node__view.html + a879d945d2880fc216085d7deb087ad38 + () const noexcept + + + bool + is_value + classtoml_1_1node__view.html + aa58f8de47be5f53738b1a04d7e9d05af + () const noexcept + + + bool + is_string + classtoml_1_1node__view.html + a79b47268155d955b8e2c027b0c2ae983 + () const noexcept + + + bool + is_integer + classtoml_1_1node__view.html + ab9c835ddf017f250d84fa5d5736e8520 + () const noexcept + + + bool + is_floating_point + classtoml_1_1node__view.html + a43ea3eed7b0f133fa7d752a9322c758e + () const noexcept + + + bool + is_number + classtoml_1_1node__view.html + a107732370c62402b1101a78e7382fd8b + () const noexcept + + + bool + is_boolean + classtoml_1_1node__view.html + aa7ee0d1f396e1283c4a11d07b9400897 + () const noexcept + + + bool + is_date + classtoml_1_1node__view.html + a4dc7cf8a57db73fa799a939f7acd549d + () const noexcept + + + bool + is_time + classtoml_1_1node__view.html + a98a6bc33e3ba573c37a069126acf0b8c + () const noexcept + + + bool + is_date_time + classtoml_1_1node__view.html + a5a380f773ae291c942a03e45a88c94b0 + () const noexcept + + + bool + is_array_of_tables + classtoml_1_1node__view.html + a6cc459be36698ec5a9ac0d00b4480eae + () const noexcept + + + bool + is + classtoml_1_1node__view.html + a21d7c55a33aa1c868dde5cbaa7e54ec2 + () const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + a2a2902064421f401e80ea687cef536da + (node_type ntype, viewed_type *&first_nonmatch) const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + afe0abd51e0e108b306be2a3ee9561cca + (node_type ntype) const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + a29c82d83b1d64f016eb42f95fd37e346 + () const noexcept + + + auto * + as + classtoml_1_1node__view.html + a5cd619f292f91fc9d417c61905ea8204 + () const noexcept + + + auto * + as_table + classtoml_1_1node__view.html + a5b73b7eeaa97666ebee3d604171a5576 + () const noexcept + + + auto * + as_array + classtoml_1_1node__view.html + a8593d229d139b05dc81d5d2d97ce3a1f + () const noexcept + + + auto * + as_string + classtoml_1_1node__view.html + a33c4dd8fb9498f6de6fb06714b508d17 + () const noexcept + + + auto * + as_integer + classtoml_1_1node__view.html + ad21750582ec6303e0b257b132ec4409d + () const noexcept + + + auto * + as_floating_point + classtoml_1_1node__view.html + a926821efb73ad7292e3f14841c54871b + () const noexcept + + + auto * + as_boolean + classtoml_1_1node__view.html + a9fec898a7fa88ddbb396fe3b2a81c945 + () const noexcept + + + auto * + as_date + classtoml_1_1node__view.html + a94a7cf14d6ca777de56abd5cdbe8eece + () const noexcept + + + auto * + as_time + classtoml_1_1node__view.html + a94087a35223d51ca76f22a361031bd7e + () const noexcept + + + auto * + as_date_time + classtoml_1_1node__view.html + a5bcb3ac0edcc516efda53fd022057282 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node__view.html + a2d558e7799bc4e24adda096446eb384d + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node__view.html + abb51a912462a258379b968c4074f8324 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node__view.html + a314e5d666dcda3493ff9aa2c0816f53c + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node__view.html + aec5c764293a7eeb20009a484b34d7c3a + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node__view.html + aa5f84bfab779c71a07b04ca0b2db863f + (Func &&visitor) const noexcept(visit_is_nothrow< Func && >) + + + node_view + operator[] + classtoml_1_1node__view.html + a2dde12894f70530d80de45a03eae78fa + (std::string_view key) const noexcept + + + node_view + operator[] + classtoml_1_1node__view.html + a44b94290029477305f0b6720d72bf965 + (const toml::path &path) const noexcept + + + node_view + at_path + classtoml_1_1node__view.html + a59c5432fb77b50ef22098e17d4f956d5 + (std::string_view path) const noexcept + + + node_view + at_path + classtoml_1_1node__view.html + ab265c6f0304647bcd8074ad081f2bf17 + (const toml::path &path) const noexcept + + + node_view + operator[] + classtoml_1_1node__view.html + a35021e65758dc0be505916532b69a7d8 + (std::wstring_view key) const + + + node_view + at_path + classtoml_1_1node__view.html + a157c1eafb7bdf8f33398106017d1b20c + (std::wstring_view path) const + + + node_view + operator[] + classtoml_1_1node__view.html + a5d13b026efcd31812415ead30eeb69db + (size_t index) const noexcept + + + + toml::parse_error + classtoml_1_1parse__error.html + + std::string_view + description + classtoml_1_1parse__error.html + a5582e9d66f8aa3f6ef442c0a04d5282f + () const noexcept + + + const source_region & + source + classtoml_1_1parse__error.html + a8168b4941305654cf4ba8fc96efd0514 + () const noexcept + + + friend std::ostream & + operator<< + classtoml_1_1parse__error.html + a90796878877b2a028354f643be725cf6 + (std::ostream &lhs, const parse_error &rhs) + + + + toml::parse_result + classtoml_1_1parse__result.html + + + parse_result + classtoml_1_1parse__result.html + a49f926286dae7ed5a6298f5a3656548b + () noexcept + + + + parse_result + classtoml_1_1parse__result.html + a058b76f39fb5a971585538f2d4098ba5 + (parse_result &&res) noexcept + + + parse_result & + operator= + classtoml_1_1parse__result.html + aa4c2c770a8d214f9d508582233ff1d84 + (parse_result &&rhs) noexcept + + + + ~parse_result + classtoml_1_1parse__result.html + ad9e22f09854af4c36860d61e0c0f25b1 + () noexcept + + + bool + succeeded + classtoml_1_1parse__result.html + ab5bfcd6ed385016395029bd69ad78a3c + () const noexcept + + + bool + failed + classtoml_1_1parse__result.html + a9097bc552007537f840602ceca00e99b + () const noexcept + + + + operator bool + classtoml_1_1parse__result.html + af66ea78a6dd881521ce865a372298e12 + () const noexcept + + + toml::table & + table + classtoml_1_1parse__result.html + a47d2ead20ae9d1681210c63319a6a162 + () &noexcept + + + toml::table && + table + classtoml_1_1parse__result.html + a77b470b66dd401a0a929006dd788b882 + () &&noexcept + + + const toml::table & + table + classtoml_1_1parse__result.html + a993f5d59c4b10f87138f8abb8a16d51d + () const &noexcept + + + + operator toml::table & + classtoml_1_1parse__result.html + a5e14e22d4d68b27c11711a3319dc6bf9 + () noexcept + + + + operator toml::table && + classtoml_1_1parse__result.html + a8dca1600886954b38b99a4a4f9cb77c4 + () noexcept + + + + operator const toml::table & + classtoml_1_1parse__result.html + a9d059289edaf6c7fb71916b21a2f9c9f + () const noexcept + + + parse_error & + error + classtoml_1_1parse__result.html + aefbb9aafdf00fa1ac979962d22e12e68 + () &noexcept + + + parse_error && + error + classtoml_1_1parse__result.html + ab07914228f9f7436628c99df454f177d + () &&noexcept + + + const parse_error & + error + classtoml_1_1parse__result.html + a9a5929b01df9a7f7f986b8431cefd2b8 + () const &noexcept + + + + operator parse_error & + classtoml_1_1parse__result.html + abc8a693cb538441b5974eff38c716669 + () noexcept + + + + operator parse_error && + classtoml_1_1parse__result.html + a9f70aa665d84aaf5f936dd27f6c95c4a + () noexcept + + + + operator const parse_error & + classtoml_1_1parse__result.html + a43df64e02443b2abfd9d2c86c5e4c30a + () const noexcept + + + node_view< node > + at_path + classtoml_1_1parse__result.html + a09972ac3195147c36fcb40386c863a35 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1parse__result.html + a1296ae08b7d147c6b83f1ba07fc4186f + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1parse__result.html + aebf8e6383263bf51e1145949250ca779 + (const toml::path &path) noexcept + + + node_view< const node > + at_path + classtoml_1_1parse__result.html + a57deb2b5e41a3fd89af32f6a8092a4c1 + (const toml::path &path) const noexcept + + + node_view< node > + at_path + classtoml_1_1parse__result.html + a1d945519896bd0095b4ed6cbb9215774 + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1parse__result.html + a9f9d6bd799058036b11d8de03b43bb57 + (std::wstring_view path) const + + + node_view< node > + operator[] + classtoml_1_1parse__result.html + a29af8ed25f2bb21266b9dd2004c38f2c + (const toml::path &path) noexcept + + + node_view< const node > + operator[] + classtoml_1_1parse__result.html + a84997148a9f0113e39233da93844c6d1 + (const toml::path &path) const noexcept + + + node_view< node > + operator[] + classtoml_1_1parse__result.html + a8825eaef011c7dbb5c1d1e46584e90bc + (std::string_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1parse__result.html + a1d91207197c22f396acba5d46995d8ab + (std::string_view key) const noexcept + + + node_view< node > + operator[] + classtoml_1_1parse__result.html + a67f55af8782d160d14026af394b2954b + (std::wstring_view key) + + + node_view< const node > + operator[] + classtoml_1_1parse__result.html + a025653d2720d17884461814ae3473367 + (std::wstring_view key) const + + + friend std::ostream & + operator<< + classtoml_1_1parse__result.html + ad4eaa8dc3cc144a912a63d9f95331572 + (std::ostream &os, const parse_result &result) + + + table_iterator + iterator + classtoml_1_1parse__result.html + aae503c11e9f9162de5cbef5e2c9f4863 + + + + const_table_iterator + const_iterator + classtoml_1_1parse__result.html + abf92ffb48c1f4d0f129f4032708d4ab0 + + + + table_iterator + begin + classtoml_1_1parse__result.html + a3f641e942f1518dffad6fcc7dc13893d + () noexcept + + + const_table_iterator + begin + classtoml_1_1parse__result.html + a910f13933a0547a2920404287829781f + () const noexcept + + + const_table_iterator + cbegin + classtoml_1_1parse__result.html + af58212d8a367e5c1d38eb5d58708754b + () const noexcept + + + table_iterator + end + classtoml_1_1parse__result.html + a336d398e329f08195d714ff02fdffca6 + () noexcept + + + const_table_iterator + end + classtoml_1_1parse__result.html + a154d32bca3ea50dc5030372675a85a65 + () const noexcept + + + const_table_iterator + cend + classtoml_1_1parse__result.html + afa4f821ad60ceb06327cec6b42b05071 + () const noexcept + + + bool + succeeded + classtoml_1_1parse__result.html + ab5bfcd6ed385016395029bd69ad78a3c + () const noexcept + + + bool + failed + classtoml_1_1parse__result.html + a9097bc552007537f840602ceca00e99b + () const noexcept + + + + operator bool + classtoml_1_1parse__result.html + af66ea78a6dd881521ce865a372298e12 + () const noexcept + + + toml::table & + table + classtoml_1_1parse__result.html + a47d2ead20ae9d1681210c63319a6a162 + () &noexcept + + + toml::table && + table + classtoml_1_1parse__result.html + a77b470b66dd401a0a929006dd788b882 + () &&noexcept + + + const toml::table & + table + classtoml_1_1parse__result.html + a993f5d59c4b10f87138f8abb8a16d51d + () const &noexcept + + + + operator toml::table & + classtoml_1_1parse__result.html + a5e14e22d4d68b27c11711a3319dc6bf9 + () noexcept + + + + operator toml::table && + classtoml_1_1parse__result.html + a8dca1600886954b38b99a4a4f9cb77c4 + () noexcept + + + + operator const toml::table & + classtoml_1_1parse__result.html + a9d059289edaf6c7fb71916b21a2f9c9f + () const noexcept + + + parse_error & + error + classtoml_1_1parse__result.html + aefbb9aafdf00fa1ac979962d22e12e68 + () &noexcept + + + parse_error && + error + classtoml_1_1parse__result.html + ab07914228f9f7436628c99df454f177d + () &&noexcept + + + const parse_error & + error + classtoml_1_1parse__result.html + a9a5929b01df9a7f7f986b8431cefd2b8 + () const &noexcept + + + + operator parse_error & + classtoml_1_1parse__result.html + abc8a693cb538441b5974eff38c716669 + () noexcept + + + + operator parse_error && + classtoml_1_1parse__result.html + a9f70aa665d84aaf5f936dd27f6c95c4a + () noexcept + + + + operator const parse_error & + classtoml_1_1parse__result.html + a43df64e02443b2abfd9d2c86c5e4c30a + () const noexcept + + + node_view< node > + at_path + classtoml_1_1parse__result.html + a09972ac3195147c36fcb40386c863a35 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1parse__result.html + a1296ae08b7d147c6b83f1ba07fc4186f + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1parse__result.html + aebf8e6383263bf51e1145949250ca779 + (const toml::path &path) noexcept + + + node_view< const node > + at_path + classtoml_1_1parse__result.html + a57deb2b5e41a3fd89af32f6a8092a4c1 + (const toml::path &path) const noexcept + + + node_view< node > + at_path + classtoml_1_1parse__result.html + a1d945519896bd0095b4ed6cbb9215774 + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1parse__result.html + a9f9d6bd799058036b11d8de03b43bb57 + (std::wstring_view path) const + + + node_view< node > + operator[] + classtoml_1_1parse__result.html + a29af8ed25f2bb21266b9dd2004c38f2c + (const toml::path &path) noexcept + + + node_view< const node > + operator[] + classtoml_1_1parse__result.html + a84997148a9f0113e39233da93844c6d1 + (const toml::path &path) const noexcept + + + node_view< node > + operator[] + classtoml_1_1parse__result.html + a8825eaef011c7dbb5c1d1e46584e90bc + (std::string_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1parse__result.html + a1d91207197c22f396acba5d46995d8ab + (std::string_view key) const noexcept + + + node_view< node > + operator[] + classtoml_1_1parse__result.html + a67f55af8782d160d14026af394b2954b + (std::wstring_view key) + + + node_view< const node > + operator[] + classtoml_1_1parse__result.html + a025653d2720d17884461814ae3473367 + (std::wstring_view key) const + + + + toml::path + classtoml_1_1path.html + + + path + classtoml_1_1path.html + accc6964f93bc7990f38263894d4daae6 + () noexcept=default + + + + path + classtoml_1_1path.html + aabc43d93056c759d389085b32935ec2a + (std::string_view) + + + + path + classtoml_1_1path.html + a4f340e37cfb32ca1fdfebf24e5b842b4 + (std::wstring_view) + + + + ~path + classtoml_1_1path.html + ad585b73db97202e2b4841a64773046e5 + () noexcept=default + + + + path + classtoml_1_1path.html + a3b120d3a25c2f3caffaba984ecf19bdc + (const path &)=default + + + + path + classtoml_1_1path.html + a4b65042b43757e2d509d1563f4ee5342 + (path &&) noexcept=default + + + size_t + size + classtoml_1_1path.html + a129b1539ef880b97468f26ac53538120 + () const noexcept + + + + operator bool + classtoml_1_1path.html + ac482e0b0187449abdbaf74830e0f1e48 + () const noexcept + + + bool + empty + classtoml_1_1path.html + af22c11324f36da827d4256b904d6e421 + () const noexcept + + + path_component & + operator[] + classtoml_1_1path.html + ae5dce1e849fac73d89169795e53e15f3 + (size_t index) noexcept + + + const path_component & + operator[] + classtoml_1_1path.html + aa15b77d275df1147844843404b3def4b + (size_t index) const noexcept + + + path & + operator= + classtoml_1_1path.html + a660ab69db8a42b622bbf623d58397da4 + (const path &)=default + + + path & + operator= + classtoml_1_1path.html + a630751521383d7072a580a9b8e1e3f4f + (path &&) noexcept=default + + + path & + operator= + classtoml_1_1path.html + af5da17b2697b6d93ed6a111b7a05f569 + (std::string_view) + + + path & + operator= + classtoml_1_1path.html + a50ed97223baadcbf26f4c2311394c04b + (std::wstring_view) + + + path & + assign + classtoml_1_1path.html + a7cb81f8977d4499d0b4e17ac2965cdcc + (const path &p) + + + path & + assign + classtoml_1_1path.html + ae3110f90fa002bb2d5046a575811a57f + (path &&p) noexcept + + + path & + assign + classtoml_1_1path.html + ae08245751676ffd3261540e9d9a4ce16 + (std::string_view str) + + + path & + assign + classtoml_1_1path.html + adcbcf8f53945d889d525a9562e380308 + (std::wstring_view str) + + + path & + operator+= + classtoml_1_1path.html + aabc9213e26b1db7d87fbfc504e39695f + (const path &) + + + path & + operator+= + classtoml_1_1path.html + a4eeaed05f49c2b9017bef230754f3777 + (path &&) + + + path & + operator+= + classtoml_1_1path.html + a71085a959e83687873f72aeffe03a242 + (std::string_view) + + + path & + operator+= + classtoml_1_1path.html + a834f7fe3bfb77ca19faccf5394c4b381 + (std::wstring_view) + + + path & + append + classtoml_1_1path.html + a224e1f74cc7773354062d5d69ec0a90e + (const path &p) + + + path & + append + classtoml_1_1path.html + a05d52919fcca2c2e058a52e4fe6e07f8 + (path &&p) + + + path & + append + classtoml_1_1path.html + add3d5c222320fab26fd5cadd9a610e04 + (std::string_view str) + + + path & + append + classtoml_1_1path.html + ae4be853daa76de724446f8aa2bff4b0f + (std::wstring_view str) + + + path & + prepend + classtoml_1_1path.html + acf3f8ebc882216590047e0fd9ca679e2 + (const path &) + + + path & + prepend + classtoml_1_1path.html + ac0ea4613a8ce311699284d22753a966c + (path &&) + + + path & + prepend + classtoml_1_1path.html + a97cca814a51b425e1baf310d5672fbe4 + (std::string_view) + + + path & + prepend + classtoml_1_1path.html + aa30721d1f0b21c4d42176063dd7ad08a + (std::wstring_view) + + + void + clear + classtoml_1_1path.html + a109a0d82839904cd0808388023305dc4 + () noexcept + + + path & + truncate + classtoml_1_1path.html + aa4140e7e34e06546d509335037d1101b + (size_t n) + + + path + truncated + classtoml_1_1path.html + a2f4f4b86e0a06edd27668dc12410e86b + (size_t n) const + + + path + parent + classtoml_1_1path.html + a0efb28707c4366481ca6e549c1d31a78 + () const + + + path + leaf + classtoml_1_1path.html + ace0a076c96fb0b46828de5d4f59ade5d + (size_t n=1) const + + + path + subpath + classtoml_1_1path.html + afc5f7494ca4cd2a574619d7ffb080cd3 + (const_iterator start, const_iterator end) const + + + path + subpath + classtoml_1_1path.html + aa7e62837fc83f9a78e942c5f4105b8f0 + (size_t start, size_t length) const + + + friend path + operator+ + classtoml_1_1path.html + a8595d795b316e2ec04e2257cecd2aa7c + (const path &lhs, const path &rhs) + + + friend path + operator+ + classtoml_1_1path.html + aa752dbb500cd4fa6efe4195266852ada + (const path &lhs, std::string_view rhs) + + + friend path + operator+ + classtoml_1_1path.html + a238f3a1d147825f4596718983ff4eea2 + (std::string_view lhs, const path &rhs) + + + friend path + operator+ + classtoml_1_1path.html + af6cb0b10895f5308e1b02aec607cb5a0 + (const path &lhs, std::wstring_view rhs) + + + friend path + operator+ + classtoml_1_1path.html + ae4c30c186c418ed4e7c9cc0ce1c2d167 + (std::wstring_view lhs, const path &rhs) + + + friend bool + operator== + classtoml_1_1path.html + a5d23cf873bac38cf71970fa3710a8cc2 + (const path &lhs, const path &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1path.html + a7c09a0a727d62a8a0526df213bf609f2 + (const path &lhs, const path &rhs) noexcept + + + friend bool + operator== + classtoml_1_1path.html + a85f0a0111e2b80bebe29d4ce0085e4a6 + (const path &lhs, std::string_view rhs) + + + friend bool + operator== + classtoml_1_1path.html + acaa57e919274df170a42fb906fe2b5a4 + (std::string_view lhs, const path &rhs) + + + friend bool + operator!= + classtoml_1_1path.html + a4aac6128cf3096aad26b0b0a96c2146b + (const path &lhs, std::string_view rhs) + + + friend bool + operator!= + classtoml_1_1path.html + ac52129303944b45af80b81ad7661f0b9 + (std::string_view lhs, const path &rhs) + + + friend bool + operator== + classtoml_1_1path.html + a87379c0582c782cff4740608e0343158 + (const path &lhs, std::wstring_view rhs) + + + friend bool + operator== + classtoml_1_1path.html + a2149371c079844c9891a92fa74a89d38 + (std::wstring_view lhs, const path &rhs) + + + friend bool + operator!= + classtoml_1_1path.html + a6151f164638727d9c4df34087ec43044 + (const path &lhs, std::wstring_view rhs) + + + friend bool + operator!= + classtoml_1_1path.html + a6c525194daf7a573eae71f4b9e33ee58 + (std::wstring_view lhs, const path &rhs) + + + std::vector< path_component >::iterator + iterator + classtoml_1_1path.html + ad752d8838221c179af93c94d8a7ed3d2 + + + + std::vector< path_component >::const_iterator + const_iterator + classtoml_1_1path.html + aaed31ecb434c644dc316042b744a6a59 + + + + iterator + begin + classtoml_1_1path.html + a4d44a1165c0b5dc1b3171db952b56afd + () noexcept + + + iterator + end + classtoml_1_1path.html + a884ed05a1f4ad2a2d4fe9133eb72a391 + () noexcept + + + const_iterator + begin + classtoml_1_1path.html + ad757a451dd6902f26a8d2ad3c3f15194 + () const noexcept + + + const_iterator + end + classtoml_1_1path.html + add0dbda00d37c1838b55de73f31c2dc6 + () const noexcept + + + const_iterator + cbegin + classtoml_1_1path.html + adc73ea43ee4542041c58186691f665e8 + () const noexcept + + + const_iterator + cend + classtoml_1_1path.html + aae5ffcde5edfbe8ae33cadafdac34bfa + () const noexcept + + + path & + operator= + classtoml_1_1path.html + a660ab69db8a42b622bbf623d58397da4 + (const path &)=default + + + path & + operator= + classtoml_1_1path.html + a630751521383d7072a580a9b8e1e3f4f + (path &&) noexcept=default + + + path & + operator= + classtoml_1_1path.html + af5da17b2697b6d93ed6a111b7a05f569 + (std::string_view) + + + path & + operator= + classtoml_1_1path.html + a50ed97223baadcbf26f4c2311394c04b + (std::wstring_view) + + + path & + assign + classtoml_1_1path.html + a7cb81f8977d4499d0b4e17ac2965cdcc + (const path &p) + + + path & + assign + classtoml_1_1path.html + ae3110f90fa002bb2d5046a575811a57f + (path &&p) noexcept + + + path & + assign + classtoml_1_1path.html + ae08245751676ffd3261540e9d9a4ce16 + (std::string_view str) + + + path & + assign + classtoml_1_1path.html + adcbcf8f53945d889d525a9562e380308 + (std::wstring_view str) + + + path & + operator+= + classtoml_1_1path.html + aabc9213e26b1db7d87fbfc504e39695f + (const path &) + + + path & + operator+= + classtoml_1_1path.html + a4eeaed05f49c2b9017bef230754f3777 + (path &&) + + + path & + operator+= + classtoml_1_1path.html + a71085a959e83687873f72aeffe03a242 + (std::string_view) + + + path & + operator+= + classtoml_1_1path.html + a834f7fe3bfb77ca19faccf5394c4b381 + (std::wstring_view) + + + path & + append + classtoml_1_1path.html + a224e1f74cc7773354062d5d69ec0a90e + (const path &p) + + + path & + append + classtoml_1_1path.html + a05d52919fcca2c2e058a52e4fe6e07f8 + (path &&p) + + + path & + append + classtoml_1_1path.html + add3d5c222320fab26fd5cadd9a610e04 + (std::string_view str) + + + path & + append + classtoml_1_1path.html + ae4be853daa76de724446f8aa2bff4b0f + (std::wstring_view str) + + + path & + prepend + classtoml_1_1path.html + acf3f8ebc882216590047e0fd9ca679e2 + (const path &) + + + path & + prepend + classtoml_1_1path.html + ac0ea4613a8ce311699284d22753a966c + (path &&) + + + path & + prepend + classtoml_1_1path.html + a97cca814a51b425e1baf310d5672fbe4 + (std::string_view) + + + path & + prepend + classtoml_1_1path.html + aa30721d1f0b21c4d42176063dd7ad08a + (std::wstring_view) + + + std::string + str + classtoml_1_1path.html + a8d70d707cbd38ffc03fcb3b6f81069fa + () const + + + + operator std::string + classtoml_1_1path.html + a48e8847229969e912855c71a8c59c094 + () const + + + std::wstring + wide_str + classtoml_1_1path.html + a0a824034b0ef08cb2e497af21858a574 + () const + + + + operator std::wstring + classtoml_1_1path.html + ac77a8dffca78bd3091b7db123837097b + () const + + + friend std::ostream & + operator<< + classtoml_1_1path.html + a0f19c68fa53ab75540f2ebf28088bd68 + (std::ostream &os, const path &rhs) + + + void + clear + classtoml_1_1path.html + a109a0d82839904cd0808388023305dc4 + () noexcept + + + path & + truncate + classtoml_1_1path.html + aa4140e7e34e06546d509335037d1101b + (size_t n) + + + path + truncated + classtoml_1_1path.html + a2f4f4b86e0a06edd27668dc12410e86b + (size_t n) const + + + path + parent + classtoml_1_1path.html + a0efb28707c4366481ca6e549c1d31a78 + () const + + + path + leaf + classtoml_1_1path.html + ace0a076c96fb0b46828de5d4f59ade5d + (size_t n=1) const + + + path + subpath + classtoml_1_1path.html + afc5f7494ca4cd2a574619d7ffb080cd3 + (const_iterator start, const_iterator end) const + + + path + subpath + classtoml_1_1path.html + aa7e62837fc83f9a78e942c5f4105b8f0 + (size_t start, size_t length) const + + + friend path + operator+ + classtoml_1_1path.html + a8595d795b316e2ec04e2257cecd2aa7c + (const path &lhs, const path &rhs) + + + friend path + operator+ + classtoml_1_1path.html + aa752dbb500cd4fa6efe4195266852ada + (const path &lhs, std::string_view rhs) + + + friend path + operator+ + classtoml_1_1path.html + a238f3a1d147825f4596718983ff4eea2 + (std::string_view lhs, const path &rhs) + + + friend path + operator+ + classtoml_1_1path.html + af6cb0b10895f5308e1b02aec607cb5a0 + (const path &lhs, std::wstring_view rhs) + + + friend path + operator+ + classtoml_1_1path.html + ae4c30c186c418ed4e7c9cc0ce1c2d167 + (std::wstring_view lhs, const path &rhs) + + + friend bool + operator== + classtoml_1_1path.html + a5d23cf873bac38cf71970fa3710a8cc2 + (const path &lhs, const path &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1path.html + a7c09a0a727d62a8a0526df213bf609f2 + (const path &lhs, const path &rhs) noexcept + + + friend bool + operator== + classtoml_1_1path.html + a85f0a0111e2b80bebe29d4ce0085e4a6 + (const path &lhs, std::string_view rhs) + + + friend bool + operator== + classtoml_1_1path.html + acaa57e919274df170a42fb906fe2b5a4 + (std::string_view lhs, const path &rhs) + + + friend bool + operator!= + classtoml_1_1path.html + a4aac6128cf3096aad26b0b0a96c2146b + (const path &lhs, std::string_view rhs) + + + friend bool + operator!= + classtoml_1_1path.html + ac52129303944b45af80b81ad7661f0b9 + (std::string_view lhs, const path &rhs) + + + friend bool + operator== + classtoml_1_1path.html + a87379c0582c782cff4740608e0343158 + (const path &lhs, std::wstring_view rhs) + + + friend bool + operator== + classtoml_1_1path.html + a2149371c079844c9891a92fa74a89d38 + (std::wstring_view lhs, const path &rhs) + + + friend bool + operator!= + classtoml_1_1path.html + a6151f164638727d9c4df34087ec43044 + (const path &lhs, std::wstring_view rhs) + + + friend bool + operator!= + classtoml_1_1path.html + a6c525194daf7a573eae71f4b9e33ee58 + (std::wstring_view lhs, const path &rhs) + + + + toml::path_component + classtoml_1_1path__component.html + + + path_component + classtoml_1_1path__component.html + a71021caeadfba986add66776fde75afc + () + + + + path_component + classtoml_1_1path__component.html + ae8588444d8e20eedda3c7c9de020211d + (size_t index) noexcept + + + + path_component + classtoml_1_1path__component.html + a0a43eb66501060d7904e92ce83992231 + (std::string_view key) + + + + path_component + classtoml_1_1path__component.html + ae5cabcb9ca01c6fe1a523ebaf27b8203 + (std::wstring_view key) + + + + path_component + classtoml_1_1path__component.html + a7b6ed29a247bfb453e67e84c4000ad32 + (const path_component &pc) + + + + path_component + classtoml_1_1path__component.html + a8510261dadffa958e0dd334fc442bff2 + (path_component &&pc) noexcept + + + path_component & + operator= + classtoml_1_1path__component.html + aa32a4eef434a839c7379e5c9a734be42 + (const path_component &rhs) + + + path_component & + operator= + classtoml_1_1path__component.html + a2a9f790c3f54919bbeb6617d27df8dbf + (path_component &&rhs) noexcept + + + path_component & + operator= + classtoml_1_1path__component.html + a8a1c7128de9bde5c4e17037a827fe050 + (size_t new_index) noexcept + + + path_component & + operator= + classtoml_1_1path__component.html + a6f6d6747a56a2480608654f682816df2 + (std::string_view new_key) + + + path_component & + operator= + classtoml_1_1path__component.html + a16ae3aa3861f989a6aa6ec7d5f7533f6 + (std::wstring_view new_key) + + + + ~path_component + classtoml_1_1path__component.html + a9023bc344bbf001fb54661491d52ed21 + () noexcept + + + path_component_type + type + classtoml_1_1path__component.html + a59858d261f3e4e9e67d83835163312d5 + () const noexcept + + + size_t + index + classtoml_1_1path__component.html + aa2c540242b230123321196a87267fd58 + () const noexcept + + + + operator size_t + classtoml_1_1path__component.html + a0776d976060500ceba2491dbcffa04e8 + () const noexcept + + + const std::string & + key + classtoml_1_1path__component.html + a222d79d89d6fdf075e948aa2a91ae375 + () const noexcept + + + + operator const std::string & + classtoml_1_1path__component.html + aa6f05d78ce148082e85ac7f648ef1b6a + () const noexcept + + + friend bool + operator== + classtoml_1_1path__component.html + a9aef313f246e34a691c7e7475a62f3dd + (const path_component &lhs, const path_component &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1path__component.html + a6ebe7d221b72eff60b9570c9e87aaa9a + (const path_component &lhs, const path_component &rhs) noexcept + + + size_t + index + classtoml_1_1path__component.html + aa2c540242b230123321196a87267fd58 + () const noexcept + + + + operator size_t + classtoml_1_1path__component.html + a0776d976060500ceba2491dbcffa04e8 + () const noexcept + + + const std::string & + key + classtoml_1_1path__component.html + a222d79d89d6fdf075e948aa2a91ae375 + () const noexcept + + + + operator const std::string & + classtoml_1_1path__component.html + aa6f05d78ce148082e85ac7f648ef1b6a + () const noexcept + + + friend bool + operator== + classtoml_1_1path__component.html + a9aef313f246e34a691c7e7475a62f3dd + (const path_component &lhs, const path_component &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1path__component.html + a6ebe7d221b72eff60b9570c9e87aaa9a + (const path_component &lhs, const path_component &rhs) noexcept + + + + toml::source_position + structtoml_1_1source__position.html + + constexpr + operator bool + structtoml_1_1source__position.html + accba2f34a07d8b453b8f2f6baf2d73cf + () const noexcept + + + source_index + line + structtoml_1_1source__position.html + ab21cac59798d70e25fe97ac7433763cc + + + + source_index + column + structtoml_1_1source__position.html + a1ca6d0db40c69d2784703011f7cf5434 + + + + constexpr friend bool + operator== + structtoml_1_1source__position.html + a2661adb822c0291c5328d9d00e4b9a8f + (const source_position &lhs, const source_position &rhs) noexcept + + + constexpr friend bool + operator!= + structtoml_1_1source__position.html + a90fec8fa1014a1358a362f9171cdb073 + (const source_position &lhs, const source_position &rhs) noexcept + + + constexpr friend bool + operator< + structtoml_1_1source__position.html + a771714902fb113445597a1fd2a24e8cd + (const source_position &lhs, const source_position &rhs) noexcept + + + constexpr friend bool + operator<= + structtoml_1_1source__position.html + abb7d47c85374301ec48e7c5f3ee1c71a + (const source_position &lhs, const source_position &rhs) noexcept + + + constexpr friend bool + operator> + structtoml_1_1source__position.html + a6050abda53e8d371cf328179ef70a1f7 + (const source_position &lhs, const source_position &rhs) noexcept + + + constexpr friend bool + operator>= + structtoml_1_1source__position.html + a14386eeea63b71de792b8a752ee5d4df + (const source_position &lhs, const source_position &rhs) noexcept + + + friend std::ostream & + operator<< + structtoml_1_1source__position.html + a40b4b23ccd23a205a2c2298853066aba + (std::ostream &lhs, const source_position &rhs) + + + + toml::source_region + structtoml_1_1source__region.html + + optional< std::wstring > + wide_path + structtoml_1_1source__region.html + a8e9110cd42e834f95e9a12c59909c1c0 + () const + + + source_position + begin + structtoml_1_1source__region.html + ab36a5db15201864a13fb628f331196d0 + + + + source_position + end + structtoml_1_1source__region.html + a054940b42dcf83391697ec2b8690531d + + + + source_path_ptr + path + structtoml_1_1source__region.html + a25fc23f579edb8afc0818c013c5ac5d7 + + + + friend std::ostream & + operator<< + structtoml_1_1source__region.html + a9de8ac24a607abd098bb4179520f3734 + (std::ostream &lhs, const source_region &rhs) + + + + toml::table + classtoml_1_1table.html + toml::node + + + table + classtoml_1_1table.html + a823f0d3385d2d8d8320a72f78c677a35 + () noexcept + + + + table + classtoml_1_1table.html + a8c06941e05e31602d46f26ba84d14b23 + (const table &) + + + + table + classtoml_1_1table.html + ab47a76ab242afa13f1a74e5e2bcded44 + (table &&other) noexcept + + + + table + classtoml_1_1table.html + a7fdc52c0aa1bd67ae6738f029787bc2f + (std::initializer_list< impl::table_init_pair > kvps) + + + table & + operator= + classtoml_1_1table.html + ac4bdf5ade95ac5afa472ae1219b8b89d + (const table &) + + + table & + operator= + classtoml_1_1table.html + a5c5fd0e11db828ab264eccc96dfdd619 + (table &&rhs) noexcept + + + node_type + type + classtoml_1_1table.html + a03d15150652176b1714b70fb035cdeb0 + () const noexcept final + + + bool + is_homogeneous + classtoml_1_1table.html + abe1cc42533dc108b2062de2666471faa + (node_type ntype) const noexcept final + + + bool + is_homogeneous + classtoml_1_1table.html + af1a2f48edbb3afa9363c392595830846 + (node_type ntype, node *&first_nonmatch) noexcept final + + + bool + is_homogeneous + classtoml_1_1table.html + a8a0a8d4e44883a2467798dad07ddcb43 + (node_type ntype, const node *&first_nonmatch) const noexcept final + + + bool + is_table + classtoml_1_1table.html + a2cdfa1fd3e9d5c64cb5d4089a1d4344e + () const noexcept final + + + bool + is_array + classtoml_1_1table.html + a56d186a17d8e24bfa90fa6578e7b3872 + () const noexcept final + + + bool + is_array_of_tables + classtoml_1_1table.html + a52e6d4f667e464a49ac4928c8ed31fec + () const noexcept final + + + bool + is_value + classtoml_1_1table.html + aae222bf8089461dd4954311d1e403386 + () const noexcept final + + + bool + is_string + classtoml_1_1table.html + a6bf5f3666709891c5c6beba70835604a + () const noexcept final + + + bool + is_integer + classtoml_1_1table.html + a1a8b05c8de343cff20b47189d309862b + () const noexcept final + + + bool + is_floating_point + classtoml_1_1table.html + a6eafaab181b8ce2632b5c0556941fb76 + () const noexcept final + + + bool + is_number + classtoml_1_1table.html + a89392000e892868540f0513f4be45ba2 + () const noexcept final + + + bool + is_boolean + classtoml_1_1table.html + a60c4177e5d411c2f8be30f0b99b68189 + () const noexcept final + + + bool + is_date + classtoml_1_1table.html + a3052f7b2bce6add8ef50ea77c59338c4 + () const noexcept final + + + bool + is_time + classtoml_1_1table.html + a1fc645d975ce2b07348e1e9f8029d0c1 + () const noexcept final + + + bool + is_date_time + classtoml_1_1table.html + a38d82efe9d6fc89b5140e5abdde9127d + () const noexcept final + + + table * + as_table + classtoml_1_1table.html + af9cb47ecee9c13ded1308b64902f8a5c + () noexcept final + + + array * + as_array + classtoml_1_1table.html + a673bdcac9903b7da00c5893f6d7fe8e0 + () noexcept final + + + toml::value< std::string > * + as_string + classtoml_1_1table.html + aa8e3920bff569dee33fe8e34ffb6361d + () noexcept final + + + toml::value< int64_t > * + as_integer + classtoml_1_1table.html + a5b86281620ba34efabf7e3c4bef9675b + () noexcept final + + + toml::value< double > * + as_floating_point + classtoml_1_1table.html + ac3b5e969c4aaeebc3c36d514c3b54d5f + () noexcept final + + + toml::value< bool > * + as_boolean + classtoml_1_1table.html + a0cd6412f40c200939645028417d789cf + () noexcept final + + + toml::value< date > * + as_date + classtoml_1_1table.html + a1b5f7025e387eb10f16d4b3a763db501 + () noexcept final + + + toml::value< time > * + as_time + classtoml_1_1table.html + a980f61149308e193282b8f5bfaeda284 + () noexcept final + + + toml::value< date_time > * + as_date_time + classtoml_1_1table.html + a6a33617f7d6d95ef676ce0cb098d2970 + () noexcept final + + + const table * + as_table + classtoml_1_1table.html + a84fc8b87acc1f9f86384d375893f5d3c + () const noexcept final + + + const array * + as_array + classtoml_1_1table.html + af2dda58dc42b782b0c36a2367d948957 + () const noexcept final + + + const toml::value< std::string > * + as_string + classtoml_1_1table.html + aa8ab32e1b60f5b3b0bf9539076c89acc + () const noexcept final + + + const toml::value< int64_t > * + as_integer + classtoml_1_1table.html + a98c296e8a635190bab97e886c83f2648 + () const noexcept final + + + const toml::value< double > * + as_floating_point + classtoml_1_1table.html + aaf302e3edd84df4c31765ffb15aed0f2 + () const noexcept final + + + const toml::value< bool > * + as_boolean + classtoml_1_1table.html + abc2f126a04989073083065662df9e72b + () const noexcept final + + + const toml::value< date > * + as_date + classtoml_1_1table.html + a5759fb6852495964827f9982e9c8ce12 + () const noexcept final + + + const toml::value< time > * + as_time + classtoml_1_1table.html + a19e3aa65fd09b2f36d98627c432638b1 + () const noexcept final + + + const toml::value< date_time > * + as_date_time + classtoml_1_1table.html + a2fd53fcb036c335021e3ad098cf4d883 + () const noexcept final + + + bool + is_inline + classtoml_1_1table.html + a53be1b93aa90608ed378323df835a2f3 + () const noexcept + + + void + is_inline + classtoml_1_1table.html + a8e797a683ff2bacd14d7e7461ecd2780 + (bool val) noexcept + + + node * + get + classtoml_1_1table.html + ae6811ea7c692ac71880693e225c66aed + (std::string_view key) noexcept + + + const node * + get + classtoml_1_1table.html + a43afae4f760f715c69b0b8aa0a7ef071 + (std::string_view key) const noexcept + + + node * + get + classtoml_1_1table.html + a637ff9b8eb2880a1084f01b7b0725b12 + (std::wstring_view key) + + + const node * + get + classtoml_1_1table.html + add0f0c51c63d385f881022cab988744c + (std::wstring_view key) const + + + impl::wrap_node< T > * + get_as + classtoml_1_1table.html + afb960c9b2ea8066f917d22d348758513 + (std::string_view key) noexcept + + + const impl::wrap_node< T > * + get_as + classtoml_1_1table.html + aa21b91ee2ed48b24bf684b762f01c684 + (std::string_view key) const noexcept + + + impl::wrap_node< T > * + get_as + classtoml_1_1table.html + a32bfcd190cb9a8e06f381097a23d0b66 + (std::wstring_view key) + + + const impl::wrap_node< T > * + get_as + classtoml_1_1table.html + a0099ccf5df2f15ca17309c1897cb5e61 + (std::wstring_view key) const + + + node & + at + classtoml_1_1table.html + ae1e3925fca9b027958934a5c015c6c98 + (std::string_view key) + + + const node & + at + classtoml_1_1table.html + acadf9153fcdc5019add35426044f369e + (std::string_view key) const + + + node & + at + classtoml_1_1table.html + aef4d6369cf64a56322b96f1a15f761c6 + (std::wstring_view key) + + + const node & + at + classtoml_1_1table.html + ae8429bf4d0d3dd15b82344b575ec2a15 + (std::wstring_view key) const + + + bool + empty + classtoml_1_1table.html + a554f495f6f2ebc993be1bd0379447051 + () const noexcept + + + size_t + size + classtoml_1_1table.html + ad7c4105854cc817bf6e781fa7fb1b6d6 + () const noexcept + + + iterator + lower_bound + classtoml_1_1table.html + acc5180d0f3b1a78f45962f246a5d9605 + (std::string_view key) noexcept + + + const_iterator + lower_bound + classtoml_1_1table.html + a3b678ac60d00790308b96f5e51da4274 + (std::string_view key) const noexcept + + + iterator + lower_bound + classtoml_1_1table.html + aaaffca1b5d53d7b72d2f29c14f06d75e + (std::wstring_view key) + + + const_iterator + lower_bound + classtoml_1_1table.html + a2799383d484028ef5f466f8d1d34f315 + (std::wstring_view key) const + + + iterator + find + classtoml_1_1table.html + a087ecb9d9fd4562d79f83341f0c643c0 + (std::string_view key) noexcept + + + const_iterator + find + classtoml_1_1table.html + a65a894481bab5dd2bd00690931ed2692 + (std::string_view key) const noexcept + + + bool + contains + classtoml_1_1table.html + aacf6efa6e7865211f7a1283f79a88ee0 + (std::string_view key) const noexcept + + + iterator + find + classtoml_1_1table.html + ab1f12a827212d23ee0895fda92a5113c + (std::wstring_view key) + + + const_iterator + find + classtoml_1_1table.html + a25f8f4a8c4672042d75b810856bd676f + (std::wstring_view key) const + + + bool + contains + classtoml_1_1table.html + a7bec8d45353adeac918668a9fc5cb6a2 + (std::wstring_view key) const + + + iterator + erase + classtoml_1_1table.html + a1a90984876ccdd03aaa9e0f9801a839f + (iterator pos) noexcept + + + iterator + erase + classtoml_1_1table.html + a4dafb4ae116d92add973e5f27f880a9d + (const_iterator pos) noexcept + + + iterator + erase + classtoml_1_1table.html + a59f4dd9e42b73c9c1ec43134bef7e113 + (const_iterator begin, const_iterator end) noexcept + + + size_t + erase + classtoml_1_1table.html + ac6064df3f6f23b022884390a9963c1bc + (std::string_view key) noexcept + + + size_t + erase + classtoml_1_1table.html + add732807ee5e8fde81ceaa33acbaa7c6 + (std::wstring_view key) + + + table & + prune + classtoml_1_1table.html + a7f4d1d90dcea74d84f70db7e2d70c78a + (bool recursive=true) &noexcept + + + table && + prune + classtoml_1_1table.html + a14a59eed720b4d01840e290f82bb87b5 + (bool recursive=true) &&noexcept + + + void + clear + classtoml_1_1table.html + aa710f85c588a1b00c3192d1553de4eef + () noexcept + + + iterator + emplace_hint + classtoml_1_1table.html + a0d2378b5d13432bf8e325c388c650189 + (const_iterator hint, KeyType &&key, ValueArgs &&... args) + + + std::pair< iterator, bool > + insert + classtoml_1_1table.html + aed4c994aec5209b69d54d19f306b31bc + (KeyType &&key, ValueType &&val, value_flags flags=preserve_source_value_flags) + + + void + insert + classtoml_1_1table.html + a331eb6de04d95c3f76bf64e6f84d4ad6 + (Iter begin, Iter end, value_flags flags=preserve_source_value_flags) + + + std::pair< iterator, bool > + insert_or_assign + classtoml_1_1table.html + aa160b71ed6bc6fc638b19b5d9a8ef569 + (KeyType &&key, ValueType &&val, value_flags flags=preserve_source_value_flags) + + + std::pair< iterator, bool > + emplace + classtoml_1_1table.html + a485d7763c578d716b4f22abb1db3c975 + (KeyType &&key, ValueArgs &&... args) + + + node_view< node > + operator[] + classtoml_1_1table.html + a6d8386049f630c8551597a2180479c7c + (std::string_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1table.html + a9b13a19ddfcd2f76685f57587d28701c + (std::string_view key) const noexcept + + + node_view< node > + operator[] + classtoml_1_1table.html + a706215b69aefbcc303e2882341c766eb + (std::wstring_view key) + + + node_view< const node > + operator[] + classtoml_1_1table.html + a5c4132e9936b1d6b0d9f2ccda7417fd7 + (std::wstring_view key) const + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + aef68f74119416a0a6d0a62f0f7d8d4ea + (const toml::path &path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + afbd39cca3959da4a1d8e1d220b6abe83 + (const toml::path &path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + node_view< node > + operator[] + classtoml_1_1node.html + a8c3214e47f056a3a9bcdb66edd7fa97f + (const toml::path &path) noexcept + + + node_view< const node > + operator[] + classtoml_1_1node.html + a2276f2cac96c095b4e4645ca5bebe0f9 + (const toml::path &path) const noexcept + + + friend std::ostream & + operator<< + classtoml_1_1table.html + a3d8aefefc9701472d2a314a43deba6d2 + (std::ostream &lhs, const table &rhs) + + + friend bool + operator== + classtoml_1_1table.html + af8ebaed8105e5de2098992764f2d534a + (const table &lhs, const table &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1table.html + abdeb5d9d9fc23c031c78e544c6196ea6 + (const table &lhs, const table &rhs) noexcept + + + toml::table_iterator + iterator + classtoml_1_1table.html + a87e055bad435d5332dc496c518733a4d + + + + toml::const_table_iterator + const_iterator + classtoml_1_1table.html + a68fea8ca9b1018f9675fd346b9f4512e + + + + iterator + begin + classtoml_1_1table.html + a334f050427eb20c8530254f4cd6dddf3 + () noexcept + + + const_iterator + begin + classtoml_1_1table.html + a3352f9954e03087b6f596ae23283bd3c + () const noexcept + + + const_iterator + cbegin + classtoml_1_1table.html + a15a5f8bd6d194fcbe925a24e5b73b1fb + () const noexcept + + + iterator + end + classtoml_1_1table.html + a96da67654c5ca131cfec2e3c07aa2730 + () noexcept + + + const_iterator + end + classtoml_1_1table.html + a40c72e81de1da66b7083cad11442cb05 + () const noexcept + + + const_iterator + cend + classtoml_1_1table.html + a311451209f990931ea25828c6091714f + () const noexcept + + + table & + for_each + classtoml_1_1table.html + ac22ee86d5b83fd73a8013d39be1cc698 + (Func &&visitor) &noexcept(for_each_is_nothrow< Func &&, table & >) + + + table && + for_each + classtoml_1_1table.html + aca50cb292d1029b5df558847a0fec7c5 + (Func &&visitor) &&noexcept(for_each_is_nothrow< Func &&, table && >) + + + const table & + for_each + classtoml_1_1table.html + a58267a6238a414e7b6db9f59218e790f + (Func &&visitor) const &noexcept(for_each_is_nothrow< Func &&, const table & >) + + + const table && + for_each + classtoml_1_1table.html + ab89cdd042f443f05a07e032494b650c2 + (Func &&visitor) const &&noexcept(for_each_is_nothrow< Func &&, const table && >) + + + node_type + type + classtoml_1_1table.html + a03d15150652176b1714b70fb035cdeb0 + () const noexcept final + + + bool + is_homogeneous + classtoml_1_1table.html + abe1cc42533dc108b2062de2666471faa + (node_type ntype) const noexcept final + + + bool + is_homogeneous + classtoml_1_1table.html + af1a2f48edbb3afa9363c392595830846 + (node_type ntype, node *&first_nonmatch) noexcept final + + + bool + is_homogeneous + classtoml_1_1table.html + a8a0a8d4e44883a2467798dad07ddcb43 + (node_type ntype, const node *&first_nonmatch) const noexcept final + + + bool + is_table + classtoml_1_1table.html + a2cdfa1fd3e9d5c64cb5d4089a1d4344e + () const noexcept final + + + bool + is_array + classtoml_1_1table.html + a56d186a17d8e24bfa90fa6578e7b3872 + () const noexcept final + + + bool + is_array_of_tables + classtoml_1_1table.html + a52e6d4f667e464a49ac4928c8ed31fec + () const noexcept final + + + bool + is_value + classtoml_1_1table.html + aae222bf8089461dd4954311d1e403386 + () const noexcept final + + + bool + is_string + classtoml_1_1table.html + a6bf5f3666709891c5c6beba70835604a + () const noexcept final + + + bool + is_integer + classtoml_1_1table.html + a1a8b05c8de343cff20b47189d309862b + () const noexcept final + + + bool + is_floating_point + classtoml_1_1table.html + a6eafaab181b8ce2632b5c0556941fb76 + () const noexcept final + + + bool + is_number + classtoml_1_1table.html + a89392000e892868540f0513f4be45ba2 + () const noexcept final + + + bool + is_boolean + classtoml_1_1table.html + a60c4177e5d411c2f8be30f0b99b68189 + () const noexcept final + + + bool + is_date + classtoml_1_1table.html + a3052f7b2bce6add8ef50ea77c59338c4 + () const noexcept final + + + bool + is_time + classtoml_1_1table.html + a1fc645d975ce2b07348e1e9f8029d0c1 + () const noexcept final + + + bool + is_date_time + classtoml_1_1table.html + a38d82efe9d6fc89b5140e5abdde9127d + () const noexcept final + + + table * + as_table + classtoml_1_1table.html + af9cb47ecee9c13ded1308b64902f8a5c + () noexcept final + + + array * + as_array + classtoml_1_1table.html + a673bdcac9903b7da00c5893f6d7fe8e0 + () noexcept final + + + toml::value< std::string > * + as_string + classtoml_1_1table.html + aa8e3920bff569dee33fe8e34ffb6361d + () noexcept final + + + toml::value< int64_t > * + as_integer + classtoml_1_1table.html + a5b86281620ba34efabf7e3c4bef9675b + () noexcept final + + + toml::value< double > * + as_floating_point + classtoml_1_1table.html + ac3b5e969c4aaeebc3c36d514c3b54d5f + () noexcept final + + + toml::value< bool > * + as_boolean + classtoml_1_1table.html + a0cd6412f40c200939645028417d789cf + () noexcept final + + + toml::value< date > * + as_date + classtoml_1_1table.html + a1b5f7025e387eb10f16d4b3a763db501 + () noexcept final + + + toml::value< time > * + as_time + classtoml_1_1table.html + a980f61149308e193282b8f5bfaeda284 + () noexcept final + + + toml::value< date_time > * + as_date_time + classtoml_1_1table.html + a6a33617f7d6d95ef676ce0cb098d2970 + () noexcept final + + + const table * + as_table + classtoml_1_1table.html + a84fc8b87acc1f9f86384d375893f5d3c + () const noexcept final + + + const array * + as_array + classtoml_1_1table.html + af2dda58dc42b782b0c36a2367d948957 + () const noexcept final + + + const toml::value< std::string > * + as_string + classtoml_1_1table.html + aa8ab32e1b60f5b3b0bf9539076c89acc + () const noexcept final + + + const toml::value< int64_t > * + as_integer + classtoml_1_1table.html + a98c296e8a635190bab97e886c83f2648 + () const noexcept final + + + const toml::value< double > * + as_floating_point + classtoml_1_1table.html + aaf302e3edd84df4c31765ffb15aed0f2 + () const noexcept final + + + const toml::value< bool > * + as_boolean + classtoml_1_1table.html + abc2f126a04989073083065662df9e72b + () const noexcept final + + + const toml::value< date > * + as_date + classtoml_1_1table.html + a5759fb6852495964827f9982e9c8ce12 + () const noexcept final + + + const toml::value< time > * + as_time + classtoml_1_1table.html + a19e3aa65fd09b2f36d98627c432638b1 + () const noexcept final + + + const toml::value< date_time > * + as_date_time + classtoml_1_1table.html + a2fd53fcb036c335021e3ad098cf4d883 + () const noexcept final + + + bool + is_inline + classtoml_1_1table.html + a53be1b93aa90608ed378323df835a2f3 + () const noexcept + + + void + is_inline + classtoml_1_1table.html + a8e797a683ff2bacd14d7e7461ecd2780 + (bool val) noexcept + + + node * + get + classtoml_1_1table.html + ae6811ea7c692ac71880693e225c66aed + (std::string_view key) noexcept + + + const node * + get + classtoml_1_1table.html + a43afae4f760f715c69b0b8aa0a7ef071 + (std::string_view key) const noexcept + + + node * + get + classtoml_1_1table.html + a637ff9b8eb2880a1084f01b7b0725b12 + (std::wstring_view key) + + + const node * + get + classtoml_1_1table.html + add0f0c51c63d385f881022cab988744c + (std::wstring_view key) const + + + impl::wrap_node< T > * + get_as + classtoml_1_1table.html + afb960c9b2ea8066f917d22d348758513 + (std::string_view key) noexcept + + + const impl::wrap_node< T > * + get_as + classtoml_1_1table.html + aa21b91ee2ed48b24bf684b762f01c684 + (std::string_view key) const noexcept + + + impl::wrap_node< T > * + get_as + classtoml_1_1table.html + a32bfcd190cb9a8e06f381097a23d0b66 + (std::wstring_view key) + + + const impl::wrap_node< T > * + get_as + classtoml_1_1table.html + a0099ccf5df2f15ca17309c1897cb5e61 + (std::wstring_view key) const + + + node & + at + classtoml_1_1table.html + ae1e3925fca9b027958934a5c015c6c98 + (std::string_view key) + + + const node & + at + classtoml_1_1table.html + acadf9153fcdc5019add35426044f369e + (std::string_view key) const + + + node & + at + classtoml_1_1table.html + aef4d6369cf64a56322b96f1a15f761c6 + (std::wstring_view key) + + + const node & + at + classtoml_1_1table.html + ae8429bf4d0d3dd15b82344b575ec2a15 + (std::wstring_view key) const + + + bool + empty + classtoml_1_1table.html + a554f495f6f2ebc993be1bd0379447051 + () const noexcept + + + size_t + size + classtoml_1_1table.html + ad7c4105854cc817bf6e781fa7fb1b6d6 + () const noexcept + + + iterator + lower_bound + classtoml_1_1table.html + acc5180d0f3b1a78f45962f246a5d9605 + (std::string_view key) noexcept + + + const_iterator + lower_bound + classtoml_1_1table.html + a3b678ac60d00790308b96f5e51da4274 + (std::string_view key) const noexcept + + + iterator + lower_bound + classtoml_1_1table.html + aaaffca1b5d53d7b72d2f29c14f06d75e + (std::wstring_view key) + + + const_iterator + lower_bound + classtoml_1_1table.html + a2799383d484028ef5f466f8d1d34f315 + (std::wstring_view key) const + + + iterator + find + classtoml_1_1table.html + a087ecb9d9fd4562d79f83341f0c643c0 + (std::string_view key) noexcept + + + const_iterator + find + classtoml_1_1table.html + a65a894481bab5dd2bd00690931ed2692 + (std::string_view key) const noexcept + + + bool + contains + classtoml_1_1table.html + aacf6efa6e7865211f7a1283f79a88ee0 + (std::string_view key) const noexcept + + + iterator + find + classtoml_1_1table.html + ab1f12a827212d23ee0895fda92a5113c + (std::wstring_view key) + + + const_iterator + find + classtoml_1_1table.html + a25f8f4a8c4672042d75b810856bd676f + (std::wstring_view key) const + + + bool + contains + classtoml_1_1table.html + a7bec8d45353adeac918668a9fc5cb6a2 + (std::wstring_view key) const + + + iterator + erase + classtoml_1_1table.html + a1a90984876ccdd03aaa9e0f9801a839f + (iterator pos) noexcept + + + iterator + erase + classtoml_1_1table.html + a4dafb4ae116d92add973e5f27f880a9d + (const_iterator pos) noexcept + + + iterator + erase + classtoml_1_1table.html + a59f4dd9e42b73c9c1ec43134bef7e113 + (const_iterator begin, const_iterator end) noexcept + + + size_t + erase + classtoml_1_1table.html + ac6064df3f6f23b022884390a9963c1bc + (std::string_view key) noexcept + + + size_t + erase + classtoml_1_1table.html + add732807ee5e8fde81ceaa33acbaa7c6 + (std::wstring_view key) + + + table & + prune + classtoml_1_1table.html + a7f4d1d90dcea74d84f70db7e2d70c78a + (bool recursive=true) &noexcept + + + table && + prune + classtoml_1_1table.html + a14a59eed720b4d01840e290f82bb87b5 + (bool recursive=true) &&noexcept + + + void + clear + classtoml_1_1table.html + aa710f85c588a1b00c3192d1553de4eef + () noexcept + + + iterator + emplace_hint + classtoml_1_1table.html + a0d2378b5d13432bf8e325c388c650189 + (const_iterator hint, KeyType &&key, ValueArgs &&... args) + + + std::pair< iterator, bool > + insert + classtoml_1_1table.html + aed4c994aec5209b69d54d19f306b31bc + (KeyType &&key, ValueType &&val, value_flags flags=preserve_source_value_flags) + + + void + insert + classtoml_1_1table.html + a331eb6de04d95c3f76bf64e6f84d4ad6 + (Iter begin, Iter end, value_flags flags=preserve_source_value_flags) + + + std::pair< iterator, bool > + insert_or_assign + classtoml_1_1table.html + aa160b71ed6bc6fc638b19b5d9a8ef569 + (KeyType &&key, ValueType &&val, value_flags flags=preserve_source_value_flags) + + + std::pair< iterator, bool > + emplace + classtoml_1_1table.html + a485d7763c578d716b4f22abb1db3c975 + (KeyType &&key, ValueArgs &&... args) + + + node_view< node > + operator[] + classtoml_1_1table.html + a6d8386049f630c8551597a2180479c7c + (std::string_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1table.html + a9b13a19ddfcd2f76685f57587d28701c + (std::string_view key) const noexcept + + + node_view< node > + operator[] + classtoml_1_1table.html + a706215b69aefbcc303e2882341c766eb + (std::wstring_view key) + + + node_view< const node > + operator[] + classtoml_1_1table.html + a5c4132e9936b1d6b0d9f2ccda7417fd7 + (std::wstring_view key) const + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + aef68f74119416a0a6d0a62f0f7d8d4ea + (const toml::path &path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + afbd39cca3959da4a1d8e1d220b6abe83 + (const toml::path &path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + node_view< node > + operator[] + classtoml_1_1node.html + a8c3214e47f056a3a9bcdb66edd7fa97f + (const toml::path &path) noexcept + + + node_view< const node > + operator[] + classtoml_1_1node.html + a2276f2cac96c095b4e4645ca5bebe0f9 + (const toml::path &path) const noexcept + + + friend bool + operator== + classtoml_1_1table.html + af8ebaed8105e5de2098992764f2d534a + (const table &lhs, const table &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1table.html + abdeb5d9d9fc23c031c78e544c6196ea6 + (const table &lhs, const table &rhs) noexcept + + + + toml::time + structtoml_1_1time.html + + + time + structtoml_1_1time.html + a460d6626a20b992f38c676bf5ee62a20 + () noexcept=default + + + constexpr + time + structtoml_1_1time.html + acaec3dc6784706c57cc712ab403123e6 + (H h, M m, S s=S{}, NS ns=NS{}) noexcept + + + uint8_t + hour + structtoml_1_1time.html + a18f32a58846d333f9e866b725b7b7ae4 + + + + uint8_t + minute + structtoml_1_1time.html + a02de4fe041dfa9535eb4df60d86f7fb4 + + + + uint8_t + second + structtoml_1_1time.html + a8ae0ab849a761543207ca86a2e1d0fdf + + + + uint32_t + nanosecond + structtoml_1_1time.html + a3e9c60650ccd21f1e47132b777547185 + + + + constexpr friend bool + operator== + structtoml_1_1time.html + aa88d156f8ea405513e00702b3c88de2f + (const time &lhs, const time &rhs) noexcept + + + constexpr friend bool + operator!= + structtoml_1_1time.html + a76766a077e105960758caa4a9cbfd25b + (const time &lhs, const time &rhs) noexcept + + + constexpr friend bool + operator< + structtoml_1_1time.html + a220d5428532dc59f1846f29159430be8 + (const time &lhs, const time &rhs) noexcept + + + constexpr friend bool + operator<= + structtoml_1_1time.html + a459d4906732bd6c6129de62f1c601a60 + (const time &lhs, const time &rhs) noexcept + + + constexpr friend bool + operator> + structtoml_1_1time.html + a8564e5d443652ec48b50acedee1ab64c + (const time &lhs, const time &rhs) noexcept + + + constexpr friend bool + operator>= + structtoml_1_1time.html + ae551c63caf265a78d5a73c797ee538f5 + (const time &lhs, const time &rhs) noexcept + + + friend std::ostream & + operator<< + structtoml_1_1time.html + aad81b91942de3b3f2d54656c8a686ee7 + (std::ostream &lhs, const time &rhs) + + + + toml::time_offset + structtoml_1_1time__offset.html + + + time_offset + structtoml_1_1time__offset.html + a49af2cb136f213443f15e108657f5f0e + () noexcept=default + + + constexpr + time_offset + structtoml_1_1time__offset.html + a9e963488f164473ee9af35ddf7d4f93e + (H h, M m) noexcept + + + int16_t + minutes + structtoml_1_1time__offset.html + a2f4cd0259300e318defc0c5efde592dd + + + + constexpr friend bool + operator== + structtoml_1_1time__offset.html + ad9423ee067d0a4c0ba39deb2679a07f6 + (time_offset lhs, time_offset rhs) noexcept + + + constexpr friend bool + operator!= + structtoml_1_1time__offset.html + a77e5bb056ffcd6a91b1740333f23b806 + (time_offset lhs, time_offset rhs) noexcept + + + constexpr friend bool + operator< + structtoml_1_1time__offset.html + afe1582662b6922546524d14c1588cf9d + (time_offset lhs, time_offset rhs) noexcept + + + constexpr friend bool + operator<= + structtoml_1_1time__offset.html + a4a0886d9ad65963a4e812576ba0c6928 + (time_offset lhs, time_offset rhs) noexcept + + + constexpr friend bool + operator> + structtoml_1_1time__offset.html + aa5270a5c11af2a9344d2c20911643429 + (time_offset lhs, time_offset rhs) noexcept + + + constexpr friend bool + operator>= + structtoml_1_1time__offset.html + a0146123daf63c677b2559aaf9bda1338 + (time_offset lhs, time_offset rhs) noexcept + + + friend std::ostream & + operator<< + structtoml_1_1time__offset.html + ac87df01b4e60bd303d75712470517451 + (std::ostream &lhs, const time_offset &rhs) + + + + toml::toml_formatter + classtoml_1_1toml__formatter.html + + + toml_formatter + classtoml_1_1toml__formatter.html + a8110aaa1057d7633428f6795ac14983a + (const toml::node &source, format_flags flags=default_flags) noexcept + + + + toml_formatter + classtoml_1_1toml__formatter.html + a3af0ca99139edbd30845a5cd7d2c0137 + (const toml::parse_result &result, format_flags flags=default_flags) noexcept + + + static constexpr format_flags + default_flags + classtoml_1_1toml__formatter.html + a0aa00006896f1b23e8bb2ec1a6842845 + + + + friend std::ostream & + operator<< + classtoml_1_1toml__formatter.html + a50815f484095776407f34b1694bbf73e + (std::ostream &lhs, toml_formatter &rhs) + + + friend std::ostream & + operator<< + classtoml_1_1toml__formatter.html + af02b5eabe1e84be843255c7cf02e8dda + (std::ostream &lhs, toml_formatter &&rhs) + + + + toml::value + classtoml_1_1value.html + + toml::node + + ValueType + value_type + classtoml_1_1value.html + ad87b8c7ec465c424b861aba2d4cd5526 + + + + POXY_IMPLEMENTATION_DETAIL_IMPL + value_arg + classtoml_1_1value.html + ac1316850f0671bab2505d126570e3660 + + + + + value + classtoml_1_1value.html + addb06e973867c52b1ea77efae1c6ad10 + (Args &&... args) noexcept(noexcept(value_type(impl::native_value_maker< value_type, std::decay_t< Args >... >::make(static_cast< Args && >(args)...)))) + + + + value + classtoml_1_1value.html + a62ace5d37c6cf09fdc589efa5e0a0905 + (const value &other) noexcept + + + + value + classtoml_1_1value.html + a65e6e8fa27455d83ad3ada020e11cf91 + (const value &other, value_flags flags) noexcept + + + + value + classtoml_1_1value.html + adfb0250a9769fea9d585609db77bc64a + (value &&other) noexcept + + + + value + classtoml_1_1value.html + a5f6f5a83b2dc3f5842f7fd5fbc0e4f59 + (value &&other, value_flags flags) noexcept + + + value & + operator= + classtoml_1_1value.html + a339731a8213b5e0993b5547067fde1f7 + (const value &rhs) noexcept + + + value & + operator= + classtoml_1_1value.html + a958da7aae3ff90094e348ebceaa4aa5d + (value &&rhs) noexcept + + + value & + operator= + classtoml_1_1value.html + a08950deffd1a5568154d58d27517c973 + (value_arg rhs) noexcept + + + node_type + type + classtoml_1_1value.html + a69ed0d45e2de5929fea3375cd68960eb + () const noexcept final + + + bool + is_homogeneous + classtoml_1_1value.html + a66f31db0fe4aa1a65fff1ce3bb8be1eb + (node_type ntype) const noexcept final + + + bool + is_homogeneous + classtoml_1_1value.html + a5097925569d4e2f581907dc692aefe02 + (node_type ntype, node *&first_nonmatch) noexcept final + + + bool + is_homogeneous + classtoml_1_1value.html + a40d4ea2ff0d393245fc31dfc6a0f27fb + (node_type ntype, const node *&first_nonmatch) const noexcept final + + + bool + is_table + classtoml_1_1value.html + a4169ed284f3a6d31e838f117dc2f3df0 + () const noexcept final + + + bool + is_array + classtoml_1_1value.html + a160b4dd33afd4d8c02b1a4c7bc48f17f + () const noexcept final + + + bool + is_array_of_tables + classtoml_1_1value.html + a6676776ebf94891825c658432252cab0 + () const noexcept final + + + bool + is_value + classtoml_1_1value.html + a5d1d988a74ab5c6e6cae9706891083f3 + () const noexcept final + + + bool + is_string + classtoml_1_1value.html + a98d477b7ee151d7fc68c49ea7c52a314 + () const noexcept final + + + bool + is_integer + classtoml_1_1value.html + ad5b1844c180a0fb2de06ed4cdbb259a4 + () const noexcept final + + + bool + is_floating_point + classtoml_1_1value.html + aa5b3aac577c60b24f31550f8b7add69f + () const noexcept final + + + bool + is_number + classtoml_1_1value.html + ad40ad64d9a8f0256e550a9226dbed121 + () const noexcept final + + + bool + is_boolean + classtoml_1_1value.html + a6816cd2fbae35e21990d3d5616da595a + () const noexcept final + + + bool + is_date + classtoml_1_1value.html + a47ebc97c4b51999c81eb053d453ac916 + () const noexcept final + + + bool + is_time + classtoml_1_1value.html + a9a1a2e0a15181c6677d14a2812e34878 + () const noexcept final + + + bool + is_date_time + classtoml_1_1value.html + a1e8fb6a37f65fff99a631ade34ab6db4 + () const noexcept final + + + table * + as_table + classtoml_1_1value.html + a684976e4e2ea671e7bd21c39a4f73575 + () noexcept final + + + array * + as_array + classtoml_1_1value.html + a5e2f5338ace567ec7bc755885b793c01 + () noexcept final + + + value< std::string > * + as_string + classtoml_1_1value.html + a9a7177395eb559e2ed2c117832dace2a + () noexcept final + + + value< int64_t > * + as_integer + classtoml_1_1value.html + a170f66cced91fc2886c22df7d45f8f73 + () noexcept final + + + value< double > * + as_floating_point + classtoml_1_1value.html + ab95947fa235b163c138d925425035059 + () noexcept final + + + value< bool > * + as_boolean + classtoml_1_1value.html + ab06706bf668f496a6d24d6891b34b464 + () noexcept final + + + value< date > * + as_date + classtoml_1_1value.html + afd03f397e42e97c8c3e045c4b19b609e + () noexcept final + + + value< time > * + as_time + classtoml_1_1value.html + a4314057128266b74095454cca743a27d + () noexcept final + + + value< date_time > * + as_date_time + classtoml_1_1value.html + a49cf272fa0f71b73938df7ddffcc8b1c + () noexcept final + + + const table * + as_table + classtoml_1_1value.html + a8b5c3b02c365287e9b563dbe11c7172c + () const noexcept final + + + const array * + as_array + classtoml_1_1value.html + a5d7017fd9eec74756496960956a92d6a + () const noexcept final + + + const value< std::string > * + as_string + classtoml_1_1value.html + a316fa5b1b2764447c8d51c38071f79c1 + () const noexcept final + + + const value< int64_t > * + as_integer + classtoml_1_1value.html + aac0acf026dfb903349ce49321153f55d + () const noexcept final + + + const value< double > * + as_floating_point + classtoml_1_1value.html + af2a3d05b2ef1ff57291d3d4c660b86d6 + () const noexcept final + + + const value< bool > * + as_boolean + classtoml_1_1value.html + a3a81671d39b75363ba7c2b3fd6b7644a + () const noexcept final + + + const value< date > * + as_date + classtoml_1_1value.html + a40247e128f2ffdb5386ee41b2a84b52d + () const noexcept final + + + const value< time > * + as_time + classtoml_1_1value.html + a725874485bb19ade041deb8869bff6d5 + () const noexcept final + + + const value< date_time > * + as_date_time + classtoml_1_1value.html + ad297cd1ba10960e125e5a0c75ea51ff4 + () const noexcept final + + + value_type & + get + classtoml_1_1value.html + af607a8347e5918b35fcfb11e8f7d4398 + () &noexcept + + + value_type && + get + classtoml_1_1value.html + a0b4ea781b83a3c164df24129d0e73341 + () &&noexcept + + + const value_type & + get + classtoml_1_1value.html + a3a0ec9ea9604d68ba9a9a4692868f8d8 + () const &noexcept + + + const value_type && + get + classtoml_1_1value.html + ae3bb95e7af4622ded16328b827a6089d + () const &&noexcept + + + value_type & + operator* + classtoml_1_1value.html + a054c1fb796a4e560d4afb27019bb1aef + () &noexcept + + + value_type && + operator* + classtoml_1_1value.html + a64ad94a1086eedde1a94f12f020498d2 + () &&noexcept + + + const value_type & + operator* + classtoml_1_1value.html + a15e56286d17f11a4d567eaddb36368f8 + () const &noexcept + + + const value_type && + operator* + classtoml_1_1value.html + a752f50ec7dac91b579e48db6a15f388e + () const &&noexcept + + + + operator value_type & + classtoml_1_1value.html + adaf04b51fea2bdc3da39fbf63c240b3b + () &noexcept + + + + operator value_type && + classtoml_1_1value.html + ad5d4a1c818d7004bc4c42219edf84dd9 + () &&noexcept + + + + operator const value_type & + classtoml_1_1value.html + aeaa7f385c753bc7f11f0758d8ae325b6 + () const &noexcept + + + + operator const value_type && + classtoml_1_1value.html + aef9bb783e7c8ba475838742b7cfc3178 + () &&noexcept + + + value_type * + operator-> + classtoml_1_1value.html + a79983137e697848cb82a95b265b03d4d + () noexcept + + + const value_type * + operator-> + classtoml_1_1value.html + a23ab1c59bf4ec4bc19b6fa3fcf399171 + () const noexcept + + + value_flags + flags + classtoml_1_1value.html + a1a213908a7297491a07e647967897fcb + () const noexcept + + + value & + flags + classtoml_1_1value.html + a4311828058d75bfaa2c01c3395d09385 + (value_flags new_flags) noexcept + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + aef68f74119416a0a6d0a62f0f7d8d4ea + (const toml::path &path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + afbd39cca3959da4a1d8e1d220b6abe83 + (const toml::path &path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + node_view< node > + operator[] + classtoml_1_1node.html + a8c3214e47f056a3a9bcdb66edd7fa97f + (const toml::path &path) noexcept + + + node_view< const node > + operator[] + classtoml_1_1node.html + a2276f2cac96c095b4e4645ca5bebe0f9 + (const toml::path &path) const noexcept + + + friend std::ostream & + operator<< + classtoml_1_1value.html + ae160ab8204a4ed57dac2ad6c5aebb683 + (std::ostream &lhs, const value &rhs) + + + friend bool + operator== + classtoml_1_1value.html + a0b90e4f85ecaf2c81e4ba8b42aa5ce34 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a1771aa33bd2d425b542d0b9d0e90866d + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a6bbe09942bd6046fa94addb911940491 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + a7d02565c608c663afc8f3d2102639740 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + a2f37f69d3e477c0c2e2ba16f6919815e + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + ace8c00e345c69ee93e5d2bd2df694340 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + af200f2be4273ed0923743f4b918f86e6 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a80417b5055072f20d3a6985d1b78af21 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a727e2acd21edf04a144918d174706ba6 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator== + classtoml_1_1value.html + a2fa446100047d052d0cca2c1f3f60085 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1value.html + a872e565adfbcd201f2ab1e3103699758 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a7fdc4f87f9ec3efb896cc3e09694328b + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + ac6af15f59d537d95d1afe887b12b697e + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + ab95d07a7f48e44baefbacbf5f6072837 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a0ebdea821d98546de4b686f450506637 + (const value &lhs, const value< T > &rhs) noexcept + + + node_type + type + classtoml_1_1value.html + a69ed0d45e2de5929fea3375cd68960eb + () const noexcept final + + + bool + is_homogeneous + classtoml_1_1value.html + a66f31db0fe4aa1a65fff1ce3bb8be1eb + (node_type ntype) const noexcept final + + + bool + is_homogeneous + classtoml_1_1value.html + a5097925569d4e2f581907dc692aefe02 + (node_type ntype, node *&first_nonmatch) noexcept final + + + bool + is_homogeneous + classtoml_1_1value.html + a40d4ea2ff0d393245fc31dfc6a0f27fb + (node_type ntype, const node *&first_nonmatch) const noexcept final + + + bool + is_table + classtoml_1_1value.html + a4169ed284f3a6d31e838f117dc2f3df0 + () const noexcept final + + + bool + is_array + classtoml_1_1value.html + a160b4dd33afd4d8c02b1a4c7bc48f17f + () const noexcept final + + + bool + is_array_of_tables + classtoml_1_1value.html + a6676776ebf94891825c658432252cab0 + () const noexcept final + + + bool + is_value + classtoml_1_1value.html + a5d1d988a74ab5c6e6cae9706891083f3 + () const noexcept final + + + bool + is_string + classtoml_1_1value.html + a98d477b7ee151d7fc68c49ea7c52a314 + () const noexcept final + + + bool + is_integer + classtoml_1_1value.html + ad5b1844c180a0fb2de06ed4cdbb259a4 + () const noexcept final + + + bool + is_floating_point + classtoml_1_1value.html + aa5b3aac577c60b24f31550f8b7add69f + () const noexcept final + + + bool + is_number + classtoml_1_1value.html + ad40ad64d9a8f0256e550a9226dbed121 + () const noexcept final + + + bool + is_boolean + classtoml_1_1value.html + a6816cd2fbae35e21990d3d5616da595a + () const noexcept final + + + bool + is_date + classtoml_1_1value.html + a47ebc97c4b51999c81eb053d453ac916 + () const noexcept final + + + bool + is_time + classtoml_1_1value.html + a9a1a2e0a15181c6677d14a2812e34878 + () const noexcept final + + + bool + is_date_time + classtoml_1_1value.html + a1e8fb6a37f65fff99a631ade34ab6db4 + () const noexcept final + + + table * + as_table + classtoml_1_1value.html + a684976e4e2ea671e7bd21c39a4f73575 + () noexcept final + + + array * + as_array + classtoml_1_1value.html + a5e2f5338ace567ec7bc755885b793c01 + () noexcept final + + + value< std::string > * + as_string + classtoml_1_1value.html + a9a7177395eb559e2ed2c117832dace2a + () noexcept final + + + value< int64_t > * + as_integer + classtoml_1_1value.html + a170f66cced91fc2886c22df7d45f8f73 + () noexcept final + + + value< double > * + as_floating_point + classtoml_1_1value.html + ab95947fa235b163c138d925425035059 + () noexcept final + + + value< bool > * + as_boolean + classtoml_1_1value.html + ab06706bf668f496a6d24d6891b34b464 + () noexcept final + + + value< date > * + as_date + classtoml_1_1value.html + afd03f397e42e97c8c3e045c4b19b609e + () noexcept final + + + value< time > * + as_time + classtoml_1_1value.html + a4314057128266b74095454cca743a27d + () noexcept final + + + value< date_time > * + as_date_time + classtoml_1_1value.html + a49cf272fa0f71b73938df7ddffcc8b1c + () noexcept final + + + const table * + as_table + classtoml_1_1value.html + a8b5c3b02c365287e9b563dbe11c7172c + () const noexcept final + + + const array * + as_array + classtoml_1_1value.html + a5d7017fd9eec74756496960956a92d6a + () const noexcept final + + + const value< std::string > * + as_string + classtoml_1_1value.html + a316fa5b1b2764447c8d51c38071f79c1 + () const noexcept final + + + const value< int64_t > * + as_integer + classtoml_1_1value.html + aac0acf026dfb903349ce49321153f55d + () const noexcept final + + + const value< double > * + as_floating_point + classtoml_1_1value.html + af2a3d05b2ef1ff57291d3d4c660b86d6 + () const noexcept final + + + const value< bool > * + as_boolean + classtoml_1_1value.html + a3a81671d39b75363ba7c2b3fd6b7644a + () const noexcept final + + + const value< date > * + as_date + classtoml_1_1value.html + a40247e128f2ffdb5386ee41b2a84b52d + () const noexcept final + + + const value< time > * + as_time + classtoml_1_1value.html + a725874485bb19ade041deb8869bff6d5 + () const noexcept final + + + const value< date_time > * + as_date_time + classtoml_1_1value.html + ad297cd1ba10960e125e5a0c75ea51ff4 + () const noexcept final + + + value_type & + get + classtoml_1_1value.html + af607a8347e5918b35fcfb11e8f7d4398 + () &noexcept + + + value_type && + get + classtoml_1_1value.html + a0b4ea781b83a3c164df24129d0e73341 + () &&noexcept + + + const value_type & + get + classtoml_1_1value.html + a3a0ec9ea9604d68ba9a9a4692868f8d8 + () const &noexcept + + + const value_type && + get + classtoml_1_1value.html + ae3bb95e7af4622ded16328b827a6089d + () const &&noexcept + + + value_type & + operator* + classtoml_1_1value.html + a054c1fb796a4e560d4afb27019bb1aef + () &noexcept + + + value_type && + operator* + classtoml_1_1value.html + a64ad94a1086eedde1a94f12f020498d2 + () &&noexcept + + + const value_type & + operator* + classtoml_1_1value.html + a15e56286d17f11a4d567eaddb36368f8 + () const &noexcept + + + const value_type && + operator* + classtoml_1_1value.html + a752f50ec7dac91b579e48db6a15f388e + () const &&noexcept + + + + operator value_type & + classtoml_1_1value.html + adaf04b51fea2bdc3da39fbf63c240b3b + () &noexcept + + + + operator value_type && + classtoml_1_1value.html + ad5d4a1c818d7004bc4c42219edf84dd9 + () &&noexcept + + + + operator const value_type & + classtoml_1_1value.html + aeaa7f385c753bc7f11f0758d8ae325b6 + () const &noexcept + + + + operator const value_type && + classtoml_1_1value.html + aef9bb783e7c8ba475838742b7cfc3178 + () &&noexcept + + + value_type * + operator-> + classtoml_1_1value.html + a79983137e697848cb82a95b265b03d4d + () noexcept + + + const value_type * + operator-> + classtoml_1_1value.html + a23ab1c59bf4ec4bc19b6fa3fcf399171 + () const noexcept + + + value_flags + flags + classtoml_1_1value.html + a1a213908a7297491a07e647967897fcb + () const noexcept + + + value & + flags + classtoml_1_1value.html + a4311828058d75bfaa2c01c3395d09385 + (value_flags new_flags) noexcept + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + aef68f74119416a0a6d0a62f0f7d8d4ea + (const toml::path &path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + afbd39cca3959da4a1d8e1d220b6abe83 + (const toml::path &path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + node_view< node > + operator[] + classtoml_1_1node.html + a8c3214e47f056a3a9bcdb66edd7fa97f + (const toml::path &path) noexcept + + + node_view< const node > + operator[] + classtoml_1_1node.html + a2276f2cac96c095b4e4645ca5bebe0f9 + (const toml::path &path) const noexcept + + + friend bool + operator== + classtoml_1_1value.html + a0b90e4f85ecaf2c81e4ba8b42aa5ce34 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a1771aa33bd2d425b542d0b9d0e90866d + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a6bbe09942bd6046fa94addb911940491 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + a7d02565c608c663afc8f3d2102639740 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + a2f37f69d3e477c0c2e2ba16f6919815e + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + ace8c00e345c69ee93e5d2bd2df694340 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + af200f2be4273ed0923743f4b918f86e6 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a80417b5055072f20d3a6985d1b78af21 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a727e2acd21edf04a144918d174706ba6 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator== + classtoml_1_1value.html + a2fa446100047d052d0cca2c1f3f60085 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1value.html + a872e565adfbcd201f2ab1e3103699758 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a7fdc4f87f9ec3efb896cc3e09694328b + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + ac6af15f59d537d95d1afe887b12b697e + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + ab95d07a7f48e44baefbacbf5f6072837 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a0ebdea821d98546de4b686f450506637 + (const value &lhs, const value< T > &rhs) noexcept + + + + toml::yaml_formatter + classtoml_1_1yaml__formatter.html + + + yaml_formatter + classtoml_1_1yaml__formatter.html + a0089cdd517d9f6641ed10c8ddb5b1c11 + (const toml::node &source, format_flags flags=default_flags) noexcept + + + + yaml_formatter + classtoml_1_1yaml__formatter.html + a2eb50c4983f7ec26a417befeface23bf + (const toml::parse_result &result, format_flags flags=default_flags) noexcept + + + static constexpr format_flags + default_flags + classtoml_1_1yaml__formatter.html + af161f0a6c794945e85b210ee85cb78e9 + + + + friend std::ostream & + operator<< + classtoml_1_1yaml__formatter.html + a10b0c89256eb2ab4ea2b4e23f8ad8eff + (std::ostream &lhs, yaml_formatter &rhs) + + + friend std::ostream & + operator<< + classtoml_1_1yaml__formatter.html + a50d463617bccb66a9cdf01390321bd47 + (std::ostream &lhs, yaml_formatter &&rhs) + + + + toml + namespacetoml.html + toml::literals + toml::array + toml::date + toml::time + toml::time_offset + toml::date_time + toml::inserter + toml::json_formatter + toml::key + toml::node + toml::node_view + toml::parse_error + toml::parse_result + toml::path_component + toml::path + toml::source_position + toml::source_region + toml::table + toml::toml_formatter + toml::value + toml::yaml_formatter + + POXY_IMPLEMENTATION_DETAIL_IMPL + array_iterator + namespacetoml.html + ac7e383cde1b8d61dba45292b2b0fcb69 + + + + POXY_IMPLEMENTATION_DETAIL_IMPL + const_array_iterator + namespacetoml.html + aeba9fe3a193c8b641a1fb3a2096d7c13 + + + + toml_formatter + default_formatter + namespacetoml.html + a2b87b5d257f54773683328031f453e76 + + + + POXY_IMPLEMENTATION_DETAIL_IMPL + inserted_type_of + namespacetoml.html + aef1f0bbcdd3686e268f4b81d9da701be + + + + uint32_t + source_index + namespacetoml.html + afb852fa22a8b3ea9d200d645b9d5c308 + + + + std::shared_ptr< const std::string > + source_path_ptr + namespacetoml.html + ac6cf446b480546ae1f71f5b86442368d + + + + std::optional< T > + optional + namespacetoml.html + af34a9fb3305e419784104609e6bbb7ac + + + + POXY_IMPLEMENTATION_DETAIL_IMPL + table_iterator + namespacetoml.html + a19243ec6febf1bb834ea9e366405e317 + + + + POXY_IMPLEMENTATION_DETAIL_IMPL + const_table_iterator + namespacetoml.html + a4bccd753f54404e0097457514177fcbb + + + + + node_type + namespacetoml.html + abac3e84bbf1f2c90717fca107055f48d + + none + table + array + string + integer + floating_point + boolean + date + time + date_time + + + + value_flags + namespacetoml.html + a73eba6a34e7c7c4a4d311100800e1bb5 + + none + format_as_binary + format_as_octal + format_as_hexadecimal + + + + format_flags + namespacetoml.html + a2102aa80bc57783d96180f36e1f64f6a + + none + quote_dates_and_times + quote_infinities_and_nans + allow_literal_strings + allow_multi_line_strings + allow_real_tabs_in_strings + allow_unicode_strings + allow_binary_integers + allow_octal_integers + allow_hexadecimal_integers + indent_sub_tables + indent_array_elements + indentation + relaxed_float_precision + + + + path_component_type + namespacetoml.html + a05daf3902d4363b06fb467a3292c0bc5 + + key + array_index + + + node_view< node > + at_path + namespacetoml.html + a034ab5f50d46f89dcaf871a788d56be9 + (node &root, std::string_view path) noexcept + + + node_view< const node > + at_path + namespacetoml.html + acecea9874ff621405e1c3f38433ba56d + (const node &root, std::string_view path) noexcept + + + node_view< node > + at_path + namespacetoml.html + a6355193bb51dc19b1f1509c6dac46b23 + (node &root, std::wstring_view path) + + + node_view< const node > + at_path + namespacetoml.html + aef2c5186913edbd8daf4a3d525fa5333 + (const node &root, std::wstring_view path) + + + std::basic_ostream< Char > & + operator<< + namespacetoml.html + aba6195d5e83ab18f30c9a211384e2c1a + (std::basic_ostream< Char > &lhs, node_type rhs) + + + parse_result + parse + namespacetoml.html + ada8654fb4ceef15c20fc1d5e0cc734dd + (std::string_view doc, std::string_view source_path={}) + + + parse_result + parse + namespacetoml.html + a20fa3e08d72759083fb17c772a357043 + (std::string_view doc, std::string &&source_path) + + + parse_result + parse_file + namespacetoml.html + a8dbc58dad43c3b66f4476a7131f5741a + (std::string_view file_path) + + + parse_result + parse + namespacetoml.html + ae9ee4300ddfbd72b7237283ab8d97618 + (std::u8string_view doc, std::string_view source_path={}) + + + parse_result + parse + namespacetoml.html + a02a2724564149ad8439c0457357308b8 + (std::u8string_view doc, std::string &&source_path) + + + parse_result + parse_file + namespacetoml.html + acdbabd4b771d221fe98b0053d848d69d + (std::u8string_view file_path) + + + parse_result + parse + namespacetoml.html + a01565f26a7982d162949bac3b554a334 + (std::string_view doc, std::wstring_view source_path) + + + parse_result + parse + namespacetoml.html + ac7767943620762c22b6341dc6682cc2d + (std::istream &doc, std::wstring_view source_path) + + + parse_result + parse_file + namespacetoml.html + ad425af491341206589ca6acc37c3b19e + (std::wstring_view file_path) + + + parse_result + parse + namespacetoml.html + a38852451309f406db281f17334ea8dfe + (std::u8string_view doc, std::wstring_view source_path) + + + parse_result + parse + namespacetoml.html + a2ee84ffccded737ab40afcb8122d8277 + (std::istream &doc, std::string_view source_path={}) + + + parse_result + parse + namespacetoml.html + a8079e71bd86722701ca91828c6709305 + (std::istream &doc, std::string &&source_path) + + + node_view< node > + at_path + namespacetoml.html + a5a5b291fdf3ecb9ad8bef4d6e689c402 + (node &root, const toml::path &path) noexcept + + + node_view< const node > + at_path + namespacetoml.html + aaf452c3c4696e20eeabd11669db66a9e + (const node &root, const toml::path &path) noexcept + + + constexpr value_flags + preserve_source_value_flags + namespacetoml.html + a32f700b152e15c357801e905d626a4fb + + + + constexpr bool + is_table + namespacetoml.html + ad11c8c8a8286d6931e40658679aa7ddb + + + + constexpr bool + is_array + namespacetoml.html + a2251b703f3ec4d1a3036c82ead3d69cc + + + + constexpr bool + is_container + namespacetoml.html + ad6c6e1677e1cc564d40efa89af2514a2 + + + + constexpr bool + is_string + namespacetoml.html + aea14621807afe92a840d82c7139cde07 + + + + constexpr bool + is_integer + namespacetoml.html + a513bdc4a19071f0be70e92bb6cb1a1a3 + + + + constexpr bool + is_floating_point + namespacetoml.html + a1aaaa0e264cdd4f43518571f2f61ac36 + + + + constexpr bool + is_number + namespacetoml.html + a64ce7ed6974d2b17823565bc67c40873 + + + + constexpr bool + is_boolean + namespacetoml.html + a8e79820651cc9a835082cf9abd47d885 + + + + constexpr bool + is_date + namespacetoml.html + a3c5daa4563e3aff2b5e6460aa97d28df + + + + constexpr bool + is_time + namespacetoml.html + a87aee32768a32bb838150421e4e3cf97 + + + + constexpr bool + is_date_time + namespacetoml.html + a3285caf012789a607851026f9827a33d + + + + constexpr bool + is_chronological + namespacetoml.html + a7f8764060ca7dccb7e829f67d82c0485 + + + + constexpr bool + is_value + namespacetoml.html + a0d9cd265e448130b95305ccd68d2f508 + + + + constexpr bool + is_node + namespacetoml.html + a4e4126f63ba560963de095cd9bee0704 + + + + constexpr bool + is_node_view + namespacetoml.html + ab5b06dac8c1e0de9e06411917e10b618 + + + + constexpr bool + is_key + namespacetoml.html + a7b8ef907d9629d139a30d874b345b195 + + + + constexpr bool + is_key_or_convertible + namespacetoml.html + a052fafde71907ef3a8590ef7ec2455d8 + + + + + toml::literals + namespacetoml_1_1literals.html + + parse_result + operator""_toml + namespacetoml_1_1literals.html + a401530e560c2dc540729af01e10b2a74 + (const char *str, size_t len) + + + parse_result + operator""_toml + namespacetoml_1_1literals.html + abb2307d66538d0d43dd074040f83224c + (const char8_t *str, size_t len) + + + path + operator""_tpath + namespacetoml_1_1literals.html + ad406c84d960dd5bda91564f738f67d47 + (const char *str, size_t len) + + + + configuration + Library Configuration + group__configuration.html + + #define + TOML_CONFIG_HEADER + group__configuration.html + ga09204feb4a3ff5534623c2bd052dcec0 + + + + #define + TOML_HEADER_ONLY + group__configuration.html + ga8219bfd7e75587516385b6022b28abc2 + + + + #define + TOML_HEADER_ONLY + group__configuration.html + ga8219bfd7e75587516385b6022b28abc2 + + + + #define + TOML_IMPLEMENTATION + group__configuration.html + ga27ee69835a1ddff9dbaf3015b4b08a11 + + + + #define + TOML_EXPORTED_CLASS + group__configuration.html + ga3d7aebf91431575688d573f09a17559a + + + + #define + TOML_EXPORTED_MEMBER_FUNCTION + group__configuration.html + gadf515bb7a6b8ce6b14bf86c8961a63cb + + + + #define + TOML_EXPORTED_STATIC_FUNCTION + group__configuration.html + ga8436c6f378c73f3446a3b6f1e2c5e81c + + + + #define + TOML_EXPORTED_FREE_FUNCTION + group__configuration.html + gac40a454cde06de4e76df3d6d460a3544 + + + + #define + TOML_ENABLE_UNRELEASED_FEATURES + group__configuration.html + ga1110ff7d189a7738b9109d120f568b6b + + + + #define + TOML_ENABLE_PARSER + group__configuration.html + ga121912d75d4624de6ab6854e41d8a852 + + + + #define + TOML_ENABLE_FORMATTERS + group__configuration.html + ga9fc77582d9de77f59d2ddc9ae1f748ca + + + + #define + TOML_ENABLE_WINDOWS_COMPAT + group__configuration.html + ga94867db67c98e0e9d4fbb70690951fbf + + + + #define + TOML_OPTIONAL_TYPE + group__configuration.html + ga9c2c03f867eb6d76a5f65b06eeb1186e + + + + #define + TOML_EXCEPTIONS + group__configuration.html + ga93097ecd88ca4bca393f60a78bda643b + + + + #define + TOML_CALLCONV + group__configuration.html + ga2bfc7ae4747f15378d92249aadce019e + + + + #define + TOML_SMALL_FLOAT_TYPE + group__configuration.html + ga11a3368da40938a6b5cfd898320706f7 + + + + #define + TOML_ASSERT + group__configuration.html + ga8c407a8f6fe52a795db35be3f00393f8 + (expr) + + + #define + TOML_SMALL_INT_TYPE + group__configuration.html + ga0722fa2c57da6360c7f2ba08c60e1a81 + + + + + poxy_changelog + Changelog + poxy_changelog.html + + + index + toml++ + index.html + mainpage-features + mainpage-api-documentation + mainpage-example + mainpage-example-parsing-files + mainpage-example-parsing-strings + mainpage-example-parsing-without-exceptions + mainpage-example-custom-error-formatting + mainpage-example-manipulations + mainpage-example-serialization + mainpage-example-speed-up-compilation + mainpage-adding-lib + mainpage-adding-lib-old-school + mainpage-adding-lib-conan + mainpage-adding-lib-dds + mainpage-adding-lib-meson + mainpage-adding-lib-tipi + mainpage-adding-lib-vcpkg + mainpage-adding-lib-cmake-fetch-content + mainpage-adding-lib-git-submodules + mainpage-adding-lib-other + mainpage-adding-lib-python + mainpage-configuration + mainpage-contributing + mainpage-license + mainpage-contact + + diff --git a/v3.3.0/annotated.html b/v3.3.0/annotated.html new file mode 100644 index 00000000..b070105d --- /dev/null +++ b/v3.3.0/annotated.html @@ -0,0 +1,163 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Classes

                                                                                                                              +
                                                                                                                                +
                                                                                                                              • + namespace toml The root namespace for all toml++ functions and types. +
                                                                                                                                  +
                                                                                                                                • class array A TOML array.
                                                                                                                                • +
                                                                                                                                • struct date A local date.
                                                                                                                                • +
                                                                                                                                • struct date_time A date-time.
                                                                                                                                • +
                                                                                                                                • struct inserter Helper class for suppressing move-construction in single-argument array constructors.
                                                                                                                                • +
                                                                                                                                • class json_formatter A wrapper for printing TOML objects out to a stream as formatted JSON.
                                                                                                                                • +
                                                                                                                                • class key A key parsed from a TOML document.
                                                                                                                                • +
                                                                                                                                • class node A TOML node.
                                                                                                                                • +
                                                                                                                                • class node_view A view of a node.
                                                                                                                                • +
                                                                                                                                • class parse_error An error generated when parsing fails.
                                                                                                                                • +
                                                                                                                                • class parse_result The result of a parsing operation.
                                                                                                                                • +
                                                                                                                                • class path A TOML path.
                                                                                                                                • +
                                                                                                                                • class path_component Represents a single component of a complete 'TOML-path': either a key or an array index.
                                                                                                                                • +
                                                                                                                                • struct source_position A source document line-and-column pair.
                                                                                                                                • +
                                                                                                                                • struct source_region A source document region.
                                                                                                                                • +
                                                                                                                                • class table A TOML table.
                                                                                                                                • +
                                                                                                                                • struct time A local time-of-day.
                                                                                                                                • +
                                                                                                                                • struct time_offset A timezone offset.
                                                                                                                                • +
                                                                                                                                • class toml_formatter A wrapper for printing TOML objects out to a stream as formatted TOML.
                                                                                                                                • +
                                                                                                                                • class value A TOML value.
                                                                                                                                • +
                                                                                                                                • class yaml_formatter A wrapper for printing TOML objects out to a stream as formatted YAML.
                                                                                                                                • +
                                                                                                                                +
                                                                                                                              • +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.3.0/badge-TOML.svg b/v3.3.0/badge-TOML.svg new file mode 100644 index 00000000..01db3c41 --- /dev/null +++ b/v3.3.0/badge-TOML.svg @@ -0,0 +1 @@ +TOML: v1.0.0TOMLv1.0.0 \ No newline at end of file diff --git a/v3.3.0/badge-awesome.svg b/v3.3.0/badge-awesome.svg new file mode 100644 index 00000000..5d9da969 --- /dev/null +++ b/v3.3.0/badge-awesome.svg @@ -0,0 +1 @@ +Mentioned in an Awesome list diff --git a/v3.3.0/badge-gitter.svg b/v3.3.0/badge-gitter.svg new file mode 100644 index 00000000..08a42236 --- /dev/null +++ b/v3.3.0/badge-gitter.svg @@ -0,0 +1 @@ +chat: on gitterchaton gitter \ No newline at end of file diff --git a/v3.3.0/badge-sponsor.svg b/v3.3.0/badge-sponsor.svg new file mode 100644 index 00000000..f3c196b8 --- /dev/null +++ b/v3.3.0/badge-sponsor.svg @@ -0,0 +1 @@ +sponsor: ❤sponsor \ No newline at end of file diff --git a/v3.3.0/banner.svg b/v3.3.0/banner.svg new file mode 100644 index 00000000..b12d4d11 --- /dev/null +++ b/v3.3.0/banner.svg @@ -0,0 +1 @@ +banner diff --git a/v3.3.0/classtoml_1_1array.html b/v3.3.0/classtoml_1_1array.html new file mode 100644 index 00000000..25f3c983 --- /dev/null +++ b/v3.3.0/classtoml_1_1array.html @@ -0,0 +1,1761 @@ + + + + toml::array class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::array class +

                                                                                                                              +

                                                                                                                              A TOML array.

                                                                                                                              + +

                                                                                                                              The interface of this type is modeled after std::vector, with some additional considerations made for the heterogeneous nature of a TOML array.

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              toml::table tbl = toml::parse(R"( + arr = [1, 2, 3, 4, 'five'] +)"sv); + +// get the element as an array +toml::array& arr = *tbl.get_as<toml::array>("arr"); +std::cout << arr << "\n"; + +// increment each element with visit() +for (auto&& elem : arr) +{ + elem.visit([](auto&& el) noexcept + { + if constexpr (toml::is_number<decltype(el)>) + (*el)++; + else if constexpr (toml::is_string<decltype(el)>) + el = "six"sv; + }); +} +std::cout << arr << "\n"; + +// add and remove elements +arr.push_back(7); +arr.push_back(8.0f); +arr.push_back("nine"sv); +arr.erase(arr.cbegin()); +std::cout << arr << "\n"; + +// emplace elements +arr.emplace_back("ten"); +arr.emplace_back<toml::array>(11, 12.0); +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3, 4, 'five' ]
                                                                                                                              +[ 2, 3, 4, 5, 'six' ]
                                                                                                                              +[ 3, 4, 5, 'six', 7, 8.0, 'nine' ]
                                                                                                                              +[ 3, 4, 5, 'six', 7, 8.0, 'nine', 'ten', [ 11, 12.0 ] ]
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Base classes

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + class node +
                                                                                                                              +
                                                                                                                              A TOML node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + array() noexcept +
                                                                                                                              +
                                                                                                                              Default constructor.
                                                                                                                              +
                                                                                                                              + array(const array&) +
                                                                                                                              +
                                                                                                                              Copy constructor.
                                                                                                                              +
                                                                                                                              + array(array&& other) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType, typename... ElemTypes>
                                                                                                                              + array(ElemType&& val, + ElemTypes && ... vals) explicit +
                                                                                                                              +
                                                                                                                              Constructs an array with one or more initial elements.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator=(const array&) -> array& +
                                                                                                                              +
                                                                                                                              Copy-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(array&& rhs) -> array& noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const array& lhs, + const array& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const array& lhs, + const array& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const array& lhs, + const std::initializer_list<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Initializer list equality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const array& lhs, + const std::vector<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Vector equality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Erasure

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + void clear() noexcept +
                                                                                                                              +
                                                                                                                              Removes all elements from the array.
                                                                                                                              +
                                                                                                                              + auto erase(const_iterator pos) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Removes the specified element from the array.
                                                                                                                              +
                                                                                                                              + auto erase(const_iterator first, + const_iterator last) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Removes the elements in the range [first, last) from the array.
                                                                                                                              +
                                                                                                                              + auto flatten() & -> array& +
                                                                                                                              +
                                                                                                                              Flattens this array, recursively hoisting the contents of child arrays up into itself.
                                                                                                                              +
                                                                                                                              + auto flatten() && -> array&& +
                                                                                                                              +
                                                                                                                              Flattens this array, recursively hoisting the contents of child arrays up into itself (rvalue overload).
                                                                                                                              +
                                                                                                                              + void pop_back() noexcept +
                                                                                                                              +
                                                                                                                              Removes the last element from the array.
                                                                                                                              +
                                                                                                                              + auto prune(bool recursive = true) & -> array& noexcept +
                                                                                                                              +
                                                                                                                              Removes empty child arrays and tables.
                                                                                                                              +
                                                                                                                              + auto prune(bool recursive = true) && -> array&& noexcept +
                                                                                                                              +
                                                                                                                              Removes empty child arrays and tables (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Insertion and Emplacement

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType = void, typename... Args>
                                                                                                                              + auto emplace(const_iterator pos, + Args && ... args) -> iterator +
                                                                                                                              +
                                                                                                                              Emplaces a new element at a specific position in the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType = void, typename... Args>
                                                                                                                              + auto emplace_back(Args && ... args) -> decltype(auto) +
                                                                                                                              +
                                                                                                                              Emplaces a new element at the end of the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto insert(const_iterator pos, + ElemType&& val, + value_flags flags = preserve_source_value_flags) -> iterator +
                                                                                                                              +
                                                                                                                              Inserts a new element at a specific position in the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto insert(const_iterator pos, + size_t count, + ElemType&& val, + value_flags flags = preserve_source_value_flags) -> iterator +
                                                                                                                              +
                                                                                                                              Repeatedly inserts a new element starting at a specific position in the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Iter>
                                                                                                                              + auto insert(const_iterator pos, + Iter first, + Iter last, + value_flags flags = preserve_source_value_flags) -> iterator +
                                                                                                                              +
                                                                                                                              Inserts a range of elements into the array at a specific position.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto insert(const_iterator pos, + std::initializer_list<ElemType> ilist, + value_flags flags = preserve_source_value_flags) -> iterator +
                                                                                                                              +
                                                                                                                              Inserts a range of elements into the array at a specific position.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + void push_back(ElemType&& val, + value_flags flags = preserve_source_value_flags) +
                                                                                                                              +
                                                                                                                              Appends a new element to the end of the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto replace(const_iterator pos, + ElemType&& val, + value_flags flags = preserve_source_value_flags) -> iterator +
                                                                                                                              +
                                                                                                                              Replaces the element at a specific position in the array with a different value.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Iteration

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using const_iterator = const_array_iterator +
                                                                                                                              +
                                                                                                                              A RandomAccessIterator for iterating over const elements in a toml::array.
                                                                                                                              +
                                                                                                                              + using iterator = array_iterator +
                                                                                                                              +
                                                                                                                              A RandomAccessIterator for iterating over elements in a toml::array.
                                                                                                                              +
                                                                                                                              + auto begin() -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first element.
                                                                                                                              +
                                                                                                                              + auto begin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first element.
                                                                                                                              +
                                                                                                                              + auto cbegin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first element.
                                                                                                                              +
                                                                                                                              + auto cend() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last element.
                                                                                                                              +
                                                                                                                              + auto end() -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last element.
                                                                                                                              +
                                                                                                                              + auto end() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last element.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto for_each(Func&& visitor) & -> array& noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on each element in the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto for_each(Func&& visitor) && -> array&& noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on each element in the array (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto for_each(Func&& visitor) const & -> const array& noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on each element in the array (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto for_each(Func&& visitor) const && -> const array&& noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on each element in the array (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Metadata

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the source region responsible for generating this node during parsing.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Node views

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const toml::path& path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const toml::path& path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) -> node_view<node> +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) const -> node_view<const node> +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + operator node_view<const node>() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node (const overload).
                                                                                                                              +
                                                                                                                              + operator node_view<node>() explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node.
                                                                                                                              +
                                                                                                                              + auto operator[](const toml::path& path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto operator[](const toml::path& path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Size and Capacity

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto capacity() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the current max number of elements that may be held in the array's internal storage.
                                                                                                                              +
                                                                                                                              + auto empty() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the array is empty.
                                                                                                                              +
                                                                                                                              + auto max_size() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the maximum number of elements that can be stored in an array on the current platform.
                                                                                                                              +
                                                                                                                              + void reserve(size_t new_capacity) +
                                                                                                                              +
                                                                                                                              Reserves internal storage capacity up to a pre-determined number of elements.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + void resize(size_t new_size, + ElemType&& default_init_val, + value_flags default_init_flags = preserve_source_value_flags) +
                                                                                                                              +
                                                                                                                              Resizes the array.
                                                                                                                              +
                                                                                                                              + void shrink_to_fit() +
                                                                                                                              +
                                                                                                                              Requests the removal of any unused internal storage capacity.
                                                                                                                              +
                                                                                                                              + auto size() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the number of elements in the array.
                                                                                                                              +
                                                                                                                              + void truncate(size_t new_size) +
                                                                                                                              +
                                                                                                                              Shrinks the array to the given size.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type casts

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() -> impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() const -> const impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type (const overload).
                                                                                                                              +
                                                                                                                              + auto as_array() -> array* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the array.
                                                                                                                              +
                                                                                                                              + auto as_array() const -> const array* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the array.
                                                                                                                              +
                                                                                                                              + auto as_boolean() -> toml::value<bool>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_boolean() const -> const toml::value<bool>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date() -> toml::value<date>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date() const -> const toml::value<date>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date_time() -> toml::value<date_time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date_time() const -> const toml::value<date_time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() -> toml::value<double>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() const -> const toml::value<double>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_integer() -> toml::value<int64_t>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_integer() const -> const toml::value<int64_t>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_string() -> toml::value<std::string>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_string() const -> const toml::value<std::string>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_table() -> table* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_table() const -> const table* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_time() -> toml::value<time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_time() const -> const toml::value<time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type checks

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto is() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node is a specific type.
                                                                                                                              +
                                                                                                                              + auto is_array() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true.
                                                                                                                              +
                                                                                                                              + auto is_array_of_tables() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the array contains only tables.
                                                                                                                              +
                                                                                                                              + auto is_boolean() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_date() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_date_time() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_floating_point() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype) const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + node*& first_nonmatch) -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + const node*& first_nonmatch) const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType = void>
                                                                                                                              + auto is_homogeneous() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_integer() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_number() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_string() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_table() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_time() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_value() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto type() const -> node_type final noexcept +
                                                                                                                              +
                                                                                                                              Returns toml::node_type::array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Value retrieval

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at(size_t index) -> node& +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific index, throwing std::out_of_range if none existed.
                                                                                                                              +
                                                                                                                              + auto at(size_t index) const -> const node& +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific index, throwing std::out_of_range if none existed.
                                                                                                                              +
                                                                                                                              + auto back() -> node& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the last element in the array.
                                                                                                                              +
                                                                                                                              + auto back() const -> const node& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the last element in the array.
                                                                                                                              +
                                                                                                                              + auto front() -> node& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the first element in the array.
                                                                                                                              +
                                                                                                                              + auto front() const -> const node& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the first element in the array.
                                                                                                                              +
                                                                                                                              + auto get(size_t index) -> node* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the element at a specific index.
                                                                                                                              +
                                                                                                                              + auto get(size_t index) const -> const node* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the element at a specific index (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto get_as(size_t index) -> impl::wrap_node<ElemType>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the element at a specific index if it is a particular type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto get_as(size_t index) const -> const impl::wrap_node<ElemType>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the element at a specific index if it is a particular type (const overload).
                                                                                                                              +
                                                                                                                              + auto operator[](size_t index) -> node& noexcept +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific index.
                                                                                                                              +
                                                                                                                              + auto operator[](size_t index) const -> const node& noexcept +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific index.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_exact() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_or(T&& default_value) const -> auto noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the raw value contained by this node, or a default.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Visitation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const array& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the array out to a stream as formatted TOML.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType, typename... ElemTypes> +
                                                                                                                              + toml::array::array(ElemType&& val, + ElemTypes && ... vals) explicit +

                                                                                                                              +

                                                                                                                              Constructs an array with one or more initial elements.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypeOne of the TOML node or value types (or a type promotable to one).
                                                                                                                              ElemTypesOne of the TOML node or value types (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              valThe node or value used to initialize element 0.
                                                                                                                              valsThe nodes or values used to initialize elements 1...N.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2.0, "three"sv, toml::array{ 4, 5 } };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2.0, 'three', [ 4, 5 ] ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::array::operator!=(const array& lhs, + const array& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Inequality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS array.
                                                                                                                              rhsThe RHS array.
                                                                                                                              ReturnsTrue if the arrays did not contain the same elements.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::array::operator==(const array& lhs, + const array& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Equality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS array.
                                                                                                                              rhsThe RHS array.
                                                                                                                              ReturnsTrue if the arrays contained the same elements.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::array::erase(const_iterator pos) noexcept +

                                                                                                                              +

                                                                                                                              Removes the specified element from the array.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              posIterator to the element being erased.
                                                                                                                              ReturnsIterator to the first element immediately following the removed element.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +
                                                                                                                              +arr.erase(arr.cbegin() + 1);
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3 ]
                                                                                                                              +[ 1, 3 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::array::erase(const_iterator first, + const_iterator last) noexcept +

                                                                                                                              +

                                                                                                                              Removes the elements in the range [first, last) from the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              firstIterator to the first element being erased.
                                                                                                                              lastIterator to the one-past-the-last element being erased.
                                                                                                                              ReturnsIterator to the first element immediately following the last removed element.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, "bad", "karma" 2 };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +
                                                                                                                              +arr.erase(arr.cbegin() + 1, arr.cbegin() + 3);
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 'bad', 'karma', 3 ]
                                                                                                                              +[ 1, 3 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + array& toml::array::flatten() & +

                                                                                                                              +

                                                                                                                              Flattens this array, recursively hoisting the contents of child arrays up into itself.

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsA reference to the array.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, toml::array{ 3, 4, toml::array{ 5 } }, 6, toml::array{} };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +
                                                                                                                              +arr.flatten();
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, [ 3, 4, [ 5 ] ], 6, [] ]
                                                                                                                              +[ 1, 2, 3, 4, 5, 6 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + array& toml::array::prune(bool recursive = true) & noexcept +

                                                                                                                              +

                                                                                                                              Removes empty child arrays and tables.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              recursiveShould child arrays and tables themselves be pruned?
                                                                                                                              ReturnsA reference to the array.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, toml::array{ }, toml::array{ 3, toml::array{ } }, 4 };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +
                                                                                                                              +arr.prune(true);
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, [], [ 3, [] ], 4 ]
                                                                                                                              +[ 1, 2, [ 3 ], 4 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + array&& toml::array::prune(bool recursive = true) && noexcept +

                                                                                                                              +

                                                                                                                              Removes empty child arrays and tables (rvalue overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              recursiveShould child arrays and tables themselves be pruned?
                                                                                                                              ReturnsAn rvalue reference to the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType = void, typename... Args> +
                                                                                                                              + iterator toml::array::emplace(const_iterator pos, + Args && ... args) +

                                                                                                                              +

                                                                                                                              Emplaces a new element at a specific position in the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::table, toml::array, or any native TOML value type.
                                                                                                                              ArgsValue constructor argument types.
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              argsArguments to forward to the value's constructor.
                                                                                                                              ReturnsAn iterator to the inserted element.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2 };
                                                                                                                              +
                                                                                                                              +//add a string using std::string's substring constructor
                                                                                                                              +arr.emplace<std::string>(arr.cbegin() + 1, "this is not a drill"sv, 14, 5);
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 'drill', 2 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType = void, typename... Args> +
                                                                                                                              + decltype(auto) toml::array::emplace_back(Args && ... args) +

                                                                                                                              +

                                                                                                                              Emplaces a new element at the end of the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::table, toml::array, or a native TOML value type
                                                                                                                              ArgsElement constructor argument types.
                                                                                                                              Parameters
                                                                                                                              argsArguments to forward to the elements's constructor.
                                                                                                                              ReturnsA reference to the newly-constructed element.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2 };
                                                                                                                              +arr.emplace_back<toml::array>(3, "four"sv);
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, [ 3, 'four' ] ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + iterator toml::array::insert(const_iterator pos, + ElemType&& val, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Inserts a new element at a specific position in the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              valThe node or value being inserted.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              ReturnsValid input: An iterator to the newly-inserted element. Input is a null toml::node_view: + end()
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 3 };
                                                                                                                              +arr.insert(arr.cbegin() + 1, "two");
                                                                                                                              +arr.insert(arr.cend(), toml::array{ 4, 5 });
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 'two', 3, [ 4, 5 ] ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + iterator toml::array::insert(const_iterator pos, + size_t count, + ElemType&& val, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Repeatedly inserts a new element starting at a specific position in the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              countThe number of times the node or value should be inserted.
                                                                                                                              valThe node or value being inserted.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              ReturnsValid input: An iterator to the newly-inserted element. count == 0: A copy of pos Input is a null toml::node_view: + end()
                                                                                                                              +
                                                                                                                              auto arr = toml::array{
                                                                                                                              +    "with an evil twinkle in its eye the goose said",
                                                                                                                              +    "and immediately we knew peace was never an option."
                                                                                                                              +};
                                                                                                                              +arr.insert(arr.cbegin() + 1, 3, "honk");
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [
                                                                                                                              +    'with an evil twinkle in its eye the goose said',
                                                                                                                              +    'honk',
                                                                                                                              +    'honk',
                                                                                                                              +    'honk',
                                                                                                                              +    'and immediately we knew peace was never an option.'
                                                                                                                              +]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Iter> +
                                                                                                                              + iterator toml::array::insert(const_iterator pos, + Iter first, + Iter last, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Inserts a range of elements into the array at a specific position.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              IterAn iterator type. Must satisfy ForwardIterator.
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              firstIterator to the first node or value being inserted.
                                                                                                                              lastIterator to the one-past-the-last node or value being inserted.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              ReturnsValid input: An iterator to the first newly-inserted element. first >= last: A copy of pos All objects in the range were null toml::node_views: A copy of pos
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + iterator toml::array::insert(const_iterator pos, + std::initializer_list<ElemType> ilist, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Inserts a range of elements into the array at a specific position.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              ilistAn initializer list containing the values to be inserted.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              ReturnsValid input: An iterator to the first newly-inserted element. Input list is empty: A copy of pos All objects in the list were null toml::node_views: A copy of pos
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + void toml::array::push_back(ElemType&& val, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Appends a new element to the end of the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type
                                                                                                                              Parameters
                                                                                                                              valThe node or value being added.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2 };
                                                                                                                              +arr.push_back(3);
                                                                                                                              +arr.push_back(4.0);
                                                                                                                              +arr.push_back(toml::array{ 5, "six"sv });
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3, 4.0, [ 5, 'six' ] ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + iterator toml::array::replace(const_iterator pos, + ElemType&& val, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Replaces the element at a specific position in the array with a different value.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              valThe node or value being inserted.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              ReturnsValid input: An iterator to the replaced element. Input is a null toml::node_view: + end()
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +arr.replace(arr.cbegin() + 1, "two");
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3 ]
                                                                                                                              +[ 1, 'two', 3 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Func> +
                                                                                                                              + array& toml::array::for_each(Func&& visitor) & noexcept(…) +

                                                                                                                              +

                                                                                                                              Invokes a visitor on each element in the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              Func

                                                                                                                              A callable type invocable with one of the following signatures:

                                                                                                                              • func(elem, index)
                                                                                                                              • func(elem)
                                                                                                                              • func(index, elem)

                                                                                                                              Where:

                                                                                                                              • elem will recieve the element as it's concrete type with cvref-qualifications matching the array
                                                                                                                              • index will recieve a size_t indicating the element's index

                                                                                                                              Visitors returning bool (or something convertible to bool) will cause iteration to stop if they return false.

                                                                                                                              Parameters
                                                                                                                              visitorThe visitor object.
                                                                                                                              ReturnsA reference to the array.
                                                                                                                              +
                                                                                                                              toml::array arr{ 0, 1, 2, 3.0, "four", "five", 6 };
                                                                                                                              +
                                                                                                                              +// select only the integers using a strongly-typed visitor
                                                                                                                              +arr.for_each([](toml::value<int64_t>& elem)
                                                                                                                              +{
                                                                                                                              +    std::cout << elem << ", ";
                                                                                                                              +});
                                                                                                                              +std::cout << "\n";
                                                                                                                              +
                                                                                                                              +// select all the numeric values using a generic visitor + is_number<> metafunction
                                                                                                                              +arr.for_each([](auto&& elem)
                                                                                                                              +{
                                                                                                                              +    if constexpr (toml::is_number<decltype(elem)>)
                                                                                                                              +        std::cout << elem << ", ";
                                                                                                                              +});
                                                                                                                              +std::cout << "\n";
                                                                                                                              +
                                                                                                                              +// select all the numeric values until we encounter something non-numeric
                                                                                                                              +arr.for_each([](auto&& elem)
                                                                                                                              +{
                                                                                                                              +    if constexpr (toml::is_number<decltype(elem)>)
                                                                                                                              +    {
                                                                                                                              +        std::cout << elem << ", ";
                                                                                                                              +        return true; // "keep going"
                                                                                                                              +    }
                                                                                                                              +    else
                                                                                                                              +        return false; // "stop!"
                                                                                                                              +
                                                                                                                              +});
                                                                                                                              +std::cout << "\n";
                                                                                                                              0, 1, 2, 6,
                                                                                                                              +0, 1, 2, 3.0, 6,
                                                                                                                              +0, 1, 2, 3.0,
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + void toml::array::resize(size_t new_size, + ElemType&& default_init_val, + value_flags default_init_flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Resizes the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              new_sizeThe number of elements the array will have after resizing.
                                                                                                                              default_init_valThe node or value used to initialize new elements if the array needs to grow.
                                                                                                                              default_init_flagsValue flags to apply to new values created if new elements are created by growing.
                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto arr = toml::array{ 1, 2, 3 }; +std::cout << arr << "\n"; + +arr.resize(6, 42); +std::cout << arr << "\n"; + +arr.resize(2, 0); +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3 ]
                                                                                                                              +[ 1, 2, 3, 42, 42, 42 ]
                                                                                                                              +[ 1, 2 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + void toml::array::truncate(size_t new_size) +

                                                                                                                              +

                                                                                                                              Shrinks the array to the given size.

                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto arr = toml::array{ 1, 2, 3 }; +std::cout << arr << "\n"; + +arr.truncate(5); // no-op +std::cout << arr << "\n"; + +arr.truncate(1); +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3 ]
                                                                                                                              +[ 1, 2, 3 ]
                                                                                                                              +[ 1]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::array::is_homogeneous(node_type ntype) const final noexcept +

                                                                                                                              +

                                                                                                                              Checks if the node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << "homogenous: "sv << arr.is_homogeneous(toml::node_type::none) << "\n";
                                                                                                                              +std::cout << "all floats: "sv << arr.is_homogeneous(toml::node_type::floating_point) << "\n";
                                                                                                                              +std::cout << "all arrays: "sv << arr.is_homogeneous(toml::node_type::array) << "\n";
                                                                                                                              +std::cout << "all ints:   "sv << arr.is_homogeneous(toml::node_type::integer) << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::array::is_homogeneous(node_type ntype, + node*& first_nonmatch) final noexcept +

                                                                                                                              +

                                                                                                                              Checks if a node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              first_nonmatchReference to a pointer in which the address of the first non-matching element will be stored if the return value is false.
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]");
                                                                                                                              +toml::array& arr = *cfg["arr"].as_array();
                                                                                                                              +
                                                                                                                              +toml::node* nonmatch{};
                                                                                                                              +if (arr.is_homogeneous(toml::node_type::integer, nonmatch))
                                                                                                                              +    std::cout << "array was homogeneous"sv << "\n";
                                                                                                                              +else
                                                                                                                              +    std::cout << "array was not homogeneous!\n"
                                                                                                                              +    << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
                                                                                                                              array was not homogeneous!
                                                                                                                              +first non-match was a floating-point at line 1, column 18
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node* toml::array::get(size_t index) noexcept +

                                                                                                                              +

                                                                                                                              Gets a pointer to the element at a specific index.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              indexThe element's index.
                                                                                                                              ReturnsA pointer to the element at the specified index if one existed, or nullptr.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 99, "bottles of beer on the wall" };
                                                                                                                              +std::cout << "element [0] exists: "sv << !!arr.get(0) << "\n";
                                                                                                                              +std::cout << "element [1] exists: "sv << !!arr.get(1) << "\n";
                                                                                                                              +std::cout << "element [2] exists: "sv << !!arr.get(2) << "\n";
                                                                                                                              +if (toml::node* val = arr.get(0))
                                                                                                                              +    std::cout << "element [0] is an "sv << val->type() << "\n";
                                                                                                                              element [0] exists: true
                                                                                                                              +element [1] exists: true
                                                                                                                              +element [2] exists: false
                                                                                                                              +element [0] is an integer
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const node* toml::array::get(size_t index) const noexcept +

                                                                                                                              +

                                                                                                                              Gets a pointer to the element at a specific index (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              indexThe element's index.
                                                                                                                              ReturnsA pointer to the element at the specified index if one existed, or nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + impl::wrap_node<ElemType>* toml::array::get_as(size_t index) noexcept +

                                                                                                                              +

                                                                                                                              Gets a pointer to the element at a specific index if it is a particular type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::table, toml::array, or a native TOML value type
                                                                                                                              Parameters
                                                                                                                              indexThe element's index.
                                                                                                                              ReturnsA pointer to the selected element if it existed and was of the specified type, or nullptr.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 42, "is the meaning of life, apparently."sv };
                                                                                                                              +if (toml::value<int64_t>* val = arr.get_as<int64_t>(0))
                                                                                                                              +    std::cout << "element [0] is an integer with value "sv << *val << "\n";
                                                                                                                              element [0] is an integer with value 42
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + const impl::wrap_node<ElemType>* toml::array::get_as(size_t index) const noexcept +

                                                                                                                              +

                                                                                                                              Gets a pointer to the element at a specific index if it is a particular type (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::table, toml::array, or a native TOML value type
                                                                                                                              Parameters
                                                                                                                              indexThe element's index.
                                                                                                                              ReturnsA pointer to the selected element if it existed and was of the specified type, or nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const array& rhs) +

                                                                                                                              +

                                                                                                                              Prints the array out to a stream as formatted TOML.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.3.0/classtoml_1_1json__formatter.html b/v3.3.0/classtoml_1_1json__formatter.html new file mode 100644 index 00000000..f5735410 --- /dev/null +++ b/v3.3.0/classtoml_1_1json__formatter.html @@ -0,0 +1,252 @@ + + + + toml::json_formatter class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::json_formatter class +

                                                                                                                              +

                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted JSON.

                                                                                                                              + +
                                                                                                                              auto some_toml = toml::parse(R"(
                                                                                                                              +    [fruit]
                                                                                                                              +    apple.color = "red"
                                                                                                                              +    apple.taste.sweet = true
                                                                                                                              +
                                                                                                                              +    [fruit.apple.texture]
                                                                                                                              +    smooth = true
                                                                                                                              +)"sv);
                                                                                                                              +std::cout << toml::json_formatter{ some_toml } << "\n";
                                                                                                                              {
                                                                                                                              +    "fruit" : {
                                                                                                                              +        "apple" : {
                                                                                                                              +            "color" : "red",
                                                                                                                              +            "taste" : {
                                                                                                                              +                "sweet" : true
                                                                                                                              +            },
                                                                                                                              +            "texture" : {
                                                                                                                              +                "smooth" : true
                                                                                                                              +            }
                                                                                                                              +        }
                                                                                                                              +    }
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public static variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + static format_flags default_flags constexpr +
                                                                                                                              +
                                                                                                                              The default flags for a json_formatter.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + json_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a JSON formatter and binds it to a TOML object.
                                                                                                                              +
                                                                                                                              + json_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a JSON formatter and binds it to a toml::parse_result.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + json_formatter& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as JSON.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + json_formatter&& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as JSON (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::json_formatter::json_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a JSON formatter and binds it to a TOML object.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              sourceThe source TOML object.
                                                                                                                              flagsFormat option flags.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::json_formatter::json_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a JSON formatter and binds it to a toml::parse_result.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              resultThe parse result.
                                                                                                                              flagsFormat option flags.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.3.0/classtoml_1_1key.html b/v3.3.0/classtoml_1_1key.html new file mode 100644 index 00000000..28186d6b --- /dev/null +++ b/v3.3.0/classtoml_1_1key.html @@ -0,0 +1,378 @@ + + + + toml::key class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::key class +

                                                                                                                              +

                                                                                                                              A key parsed from a TOML document.

                                                                                                                              + +

                                                                                                                              These are used as the internal keys for a toml::table:

                                                                                                                              const toml::table tbl = R"(
                                                                                                                              +    a = 1
                                                                                                                              +      b = 2
                                                                                                                              +        c = 3
                                                                                                                              +)"_toml;
                                                                                                                              +
                                                                                                                              +for (auto&& [k, v] : tbl)
                                                                                                                              +    std::cout << "key '"sv << k << "' defined at "sv << k.source() << "\n";
                                                                                                                              key 'a' defined at line 2, column 5
                                                                                                                              +key 'b' defined at line 3, column 7
                                                                                                                              +key 'c' defined at line 4, column 9
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + key() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Default constructor.
                                                                                                                              +
                                                                                                                              + key(std::string_view k, + source_region&& src = {}) explicit +
                                                                                                                              +
                                                                                                                              Constructs a key from a string view and source region.
                                                                                                                              +
                                                                                                                              + key(std::string_view k, + const source_region& src) explicit +
                                                                                                                              +
                                                                                                                              Constructs a key from a string view and source region.
                                                                                                                              +
                                                                                                                              + key(std::string&& k, + source_region&& src = {}) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a key from a string and source region.
                                                                                                                              +
                                                                                                                              + key(std::string&& k, + const source_region& src) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a key from a string and source region.
                                                                                                                              +
                                                                                                                              + key(const char* k, + source_region&& src = {}) explicit +
                                                                                                                              +
                                                                                                                              Constructs a key from a c-string and source region.
                                                                                                                              +
                                                                                                                              + key(const char* k, + const source_region& src) explicit +
                                                                                                                              +
                                                                                                                              Constructs a key from a c-string view and source region.
                                                                                                                              +
                                                                                                                              + key(std::wstring_view k, + source_region&& src = {}) explicit +
                                                                                                                              +
                                                                                                                              Constructs a key from a wide string view and source region.
                                                                                                                              +
                                                                                                                              + key(std::wstring_view k, + const source_region& src) explicit +
                                                                                                                              +
                                                                                                                              Constructs a key from a wide string and source region.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality and Comparison

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              + auto operator!=(const key& lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() != rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator!=(const key& lhs, + std::string_view rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() != rhs.
                                                                                                                              +
                                                                                                                              + auto operator!=(std::string_view lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs != rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator<(const key& lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() < rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator<(const key& lhs, + std::string_view rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() < rhs.
                                                                                                                              +
                                                                                                                              + auto operator<(std::string_view lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs < rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator<=(const key& lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() <= rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator<=(const key& lhs, + std::string_view rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() <= rhs.
                                                                                                                              +
                                                                                                                              + auto operator<=(std::string_view lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs <= rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator==(const key& lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() == rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator==(const key& lhs, + std::string_view rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() == rhs.
                                                                                                                              +
                                                                                                                              + auto operator==(std::string_view lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs == rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator>(const key& lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() > rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator>(const key& lhs, + std::string_view rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() > rhs.
                                                                                                                              +
                                                                                                                              + auto operator>(std::string_view lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs > rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator>=(const key& lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() >= rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator>=(const key& lhs, + std::string_view rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() >= rhs.
                                                                                                                              +
                                                                                                                              + auto operator>=(std::string_view lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs >= rhs.str().
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Iteration

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using const_iterator = const char* +
                                                                                                                              +
                                                                                                                              A const iterator for iterating over the characters in the key.
                                                                                                                              +
                                                                                                                              + using iterator = const_iterator +
                                                                                                                              +
                                                                                                                              A const iterator for iterating over the characters in the key.
                                                                                                                              +
                                                                                                                              + auto begin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first character in the key's backing string.
                                                                                                                              +
                                                                                                                              + auto end() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last character in the key's backing string.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Metadata

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the source region responsible for specifying this key during parsing.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              String operations

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto data() const -> const char* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the start of the key's underlying string.
                                                                                                                              +
                                                                                                                              + auto empty() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the key's underlying string is empty.
                                                                                                                              +
                                                                                                                              + auto length() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the length of the key's underlying string.
                                                                                                                              +
                                                                                                                              + operator std::string_view() const noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the key's underlying string.
                                                                                                                              +
                                                                                                                              + auto str() const -> std::string_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the key's underlying string.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const key& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the key's underlying string out to the stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::key::key(std::wstring_view k, + source_region&& src = {}) explicit +

                                                                                                                              +

                                                                                                                              Constructs a key from a wide string view and source region.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::key::key(std::wstring_view k, + const source_region& src) explicit +

                                                                                                                              +

                                                                                                                              Constructs a key from a wide string and source region.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.3.0/classtoml_1_1node.html b/v3.3.0/classtoml_1_1node.html new file mode 100644 index 00000000..df9f2e39 --- /dev/null +++ b/v3.3.0/classtoml_1_1node.html @@ -0,0 +1,1024 @@ + + + + toml::node class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::node class +

                                                                                                                              +

                                                                                                                              A TOML node.

                                                                                                                              + +

                                                                                                                              A parsed TOML document forms a tree made up of tables, arrays and values. This type is the base of each of those, providing a lot of the polymorphic plumbing.

                                                                                                                              +
                                                                                                                              +

                                                                                                                              Derived classes

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + class array +
                                                                                                                              +
                                                                                                                              A TOML array.
                                                                                                                              +
                                                                                                                              + class table +
                                                                                                                              +
                                                                                                                              A TOML table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ValueType>
                                                                                                                              + class value +
                                                                                                                              +
                                                                                                                              A TOML value.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Metadata

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the source region responsible for generating this node during parsing.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Node views

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const toml::path& path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const toml::path& path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) -> node_view<node> +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) const -> node_view<const node> +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + operator node_view<const node>() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node (const overload).
                                                                                                                              +
                                                                                                                              + operator node_view<node>() explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node.
                                                                                                                              +
                                                                                                                              + auto operator[](const toml::path& path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto operator[](const toml::path& path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type casts

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() -> impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() const -> const impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type (const overload).
                                                                                                                              +
                                                                                                                              + auto as_array() -> array* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::array, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_array() const -> const array* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::array, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_boolean() -> toml::value<bool>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<bool>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_boolean() const -> const toml::value<bool>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<bool>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date() -> toml::value<date>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<toml::date>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date() const -> const toml::value<date>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<toml::date>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date_time() -> toml::value<date_time>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<toml::date_time>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date_time() const -> const toml::value<date_time>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<toml::date_time>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() -> toml::value<double>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<double>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() const -> const toml::value<double>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<double>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_integer() -> toml::value<int64_t>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<int64_t>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_integer() const -> const toml::value<int64_t>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<int64_t>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_string() -> toml::value<std::string>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<std::string>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_string() const -> const toml::value<std::string>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<std::string>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_table() -> table* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::table, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_table() const -> const table* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::table, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_time() -> toml::value<time>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<toml::time>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_time() const -> const toml::value<time>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<toml::time>, if it is one.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type checks

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto is() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node is a specific type.
                                                                                                                              +
                                                                                                                              + auto is_array() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an array.
                                                                                                                              +
                                                                                                                              + auto is_array_of_tables() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an array containing only tables.
                                                                                                                              +
                                                                                                                              + auto is_boolean() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a boolean value.
                                                                                                                              +
                                                                                                                              + auto is_date() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a local date value.
                                                                                                                              +
                                                                                                                              + auto is_date_time() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a date-time value.
                                                                                                                              +
                                                                                                                              + auto is_floating_point() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an floating-point value.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + node*& first_nonmatch) -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + const node*& first_nonmatch) const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type (const overload).
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype) const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType = void>
                                                                                                                              + auto is_homogeneous() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_integer() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an integer value.
                                                                                                                              +
                                                                                                                              + auto is_number() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an integer or floating-point value.
                                                                                                                              +
                                                                                                                              + auto is_string() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a string value.
                                                                                                                              +
                                                                                                                              + auto is_table() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a table.
                                                                                                                              +
                                                                                                                              + auto is_time() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a local time value.
                                                                                                                              +
                                                                                                                              + auto is_value() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a value.
                                                                                                                              +
                                                                                                                              + auto type() const -> node_type pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns the node's type identifier.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Value retrieval

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_exact() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_or(T&& default_value) const -> auto noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the raw value contained by this node, or a default.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Visitation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::node::at_path(std::string_view path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              pathThe "TOML path" to traverse.
                                                                                                                              +
                                                                                                                              auto config = toml::parse(R"(
                                                                                                                              +
                                                                                                                              +[foo]
                                                                                                                              +bar = [ 0, 1, 2, [ 3 ], { kek = 4 } ]
                                                                                                                              +
                                                                                                                              +)"sv);
                                                                                                                              +
                                                                                                                              +std::cout << config.at_path("foo.bar[2]") << "\n";
                                                                                                                              +std::cout << config.at_path("foo.bar[3][0]") << "\n";
                                                                                                                              +std::cout << config.at_path("foo.bar[4].kek") << "\n";
                                                                                                                              2
                                                                                                                              +3
                                                                                                                              +4
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::node::at_path(std::string_view path) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::node::at_path(const toml::path& path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              pathThe "TOML path" to traverse.
                                                                                                                              +
                                                                                                                              auto config = toml::parse(R"(
                                                                                                                              +
                                                                                                                              +[foo]
                                                                                                                              +bar = [ 0, 1, 2, [ 3 ], { kek = 4 } ]
                                                                                                                              +
                                                                                                                              +)"sv);
                                                                                                                              +
                                                                                                                              +toml::path path1("foo.bar[2]");
                                                                                                                              +toml::path path2("foo.bar[4].kek");
                                                                                                                              +std::cout << config.at_path(path1) << "\n";
                                                                                                                              +std::cout << config.at_path(path1.parent_path()) << "\n";
                                                                                                                              +std::cout << config.at_path(path2) << "\n";
                                                                                                                              +std::cout << config.at_path(path2.parent_path()) << "\n";
                                                                                                                              2
                                                                                                                              +[ 0, 1, 2, [ 3 ], { kek = 4 } ]
                                                                                                                              +4
                                                                                                                              +{ kek  = 4 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::node::at_path(const toml::path& path) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::node::at_path(std::wstring_view path) +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::node::at_path(std::wstring_view path) const +

                                                                                                                              +

                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::node::operator[](const toml::path& path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              pathThe "TOML path" to the desired child.
                                                                                                                              ReturnsA view of the child node at the given path if one existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::node::operator[](const toml::path& path) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              pathThe "TOML path" to the desired child.
                                                                                                                              ReturnsA view of the child node at the given path if one existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + impl::wrap_node<T>* toml::node::as() noexcept +

                                                                                                                              +

                                                                                                                              Gets a pointer to the node as a more specific node type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TThe node type or TOML value type to cast to.
                                                                                                                              ReturnsA pointer to the node as the given type, or nullptr if it was a different type.
                                                                                                                              +
                                                                                                                              toml::value<int64_t>* int_value = node->as<int64_t>();
                                                                                                                              +toml::table* tbl = node->as<toml::table>();
                                                                                                                              +if (int_value)
                                                                                                                              +    std::cout << "Node is a value<int64_t>\n";
                                                                                                                              +else if (tbl)
                                                                                                                              +    std::cout << "Node is a table\n";
                                                                                                                              +
                                                                                                                              +// fully-qualified value node types also work (useful for template code):
                                                                                                                              +toml::value<int64_t>* int_value2 = node->as<toml::value<int64_t>>();
                                                                                                                              +if (int_value2)
                                                                                                                              +    std::cout << "Node is a value<int64_t>\n";
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::node::is() const noexcept +

                                                                                                                              +

                                                                                                                              Checks if a node is a specific type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TA TOML node or value type.
                                                                                                                              ReturnsReturns true if this node is an instance of the specified type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::node::is_homogeneous(node_type ntype, + node*& first_nonmatch) pure virtual noexcept +

                                                                                                                              +

                                                                                                                              Checks if a node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              first_nonmatchReference to a pointer in which the address of the first non-matching element will be stored if the return value is false.
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]");
                                                                                                                              +toml::array& arr = *cfg["arr"].as_array();
                                                                                                                              +
                                                                                                                              +toml::node* nonmatch{};
                                                                                                                              +if (arr.is_homogeneous(toml::node_type::integer, nonmatch))
                                                                                                                              +    std::cout << "array was homogeneous"sv << "\n";
                                                                                                                              +else
                                                                                                                              +    std::cout << "array was not homogeneous!\n"
                                                                                                                              +    << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
                                                                                                                              array was not homogeneous!
                                                                                                                              +first non-match was a floating-point at line 1, column 18
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::node::is_homogeneous(node_type ntype) const pure virtual noexcept +

                                                                                                                              +

                                                                                                                              Checks if the node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << "homogenous: "sv << arr.is_homogeneous(toml::node_type::none) << "\n";
                                                                                                                              +std::cout << "all floats: "sv << arr.is_homogeneous(toml::node_type::floating_point) << "\n";
                                                                                                                              +std::cout << "all arrays: "sv << arr.is_homogeneous(toml::node_type::array) << "\n";
                                                                                                                              +std::cout << "all ints:   "sv << arr.is_homogeneous(toml::node_type::integer) << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType = void> +
                                                                                                                              + bool toml::node::is_homogeneous() const noexcept +

                                                                                                                              +

                                                                                                                              Checks if the node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypeA TOML node or value type.
                                                                                                                              Left as void: "is every element the same type?"
                                                                                                                              Explicitly specified: "is every element a T?"
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << "homogenous:   "sv << arr.is_homogeneous() << "\n";
                                                                                                                              +std::cout << "all doubles:  "sv << arr.is_homogeneous<double>() << "\n";
                                                                                                                              +std::cout << "all arrays:   "sv << arr.is_homogeneous<toml::array>() << "\n";
                                                                                                                              +std::cout << "all integers: "sv << arr.is_homogeneous<int64_t>() << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + decltype(auto) toml::node::ref() & noexcept +

                                                                                                                              +

                                                                                                                              Gets a raw reference to a node's underlying data.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              Ttoml::table, toml::array, or one of the TOML value types.
                                                                                                                              ReturnsA reference to the underlying data.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + optional<T> toml::node::value() const noexcept(…) +

                                                                                                                              +

                                                                                                                              Gets the value contained by this node.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the native TOML value types, or a type capable of converting to one.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or convertible to it) and within the range of the output type, or an empty optional.
                                                                                                                              +

                                                                                                                              This function has 'permissive' retrieval semantics; some value types are allowed to convert to others (e.g. retrieving a boolean as an integer), and the specified return value type can be any type where a reasonable conversion from a native TOML value exists (e.g. std::wstring on Windows). If the source value cannot be represented by the destination type, an empty optional is returned.

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto tbl = toml::parse(R"( + int = -10 + flt = 25.0 + pi = 3.14159 + bool = false + huge = 9223372036854775807 + str = "foo" +)"sv); + +const auto print_value_with_typename = + [&](std::string_view key, std::string_view type_name, auto* dummy) + { + std::cout << "- " << std::setw(18) << std::left << type_name; + using type = std::remove_pointer_t<decltype(dummy)>; + if (auto val = tbl.get(key)->value<type>(); val) + std::cout << *val << "\n"; + else + std::cout << "n/a\n"; + }; + +#define print_value(key, T) print_value_with_typename(key, #T, (T*)nullptr) + +for (auto key : { "int", "flt", "pi", "bool", "huge", "str" }) +{ + std::cout << tbl[key].type() << " value '" << key << "' as:\n"; + print_value(key, bool); + print_value(key, int); + print_value(key, unsigned int); + print_value(key, long long); + print_value(key, float); + print_value(key, double); + print_value(key, std::string); + print_value(key, std::string_view); + print_value(key, const char*); + std::cout << "\n"; +}
                                                                                                                              integer value 'int' as:
                                                                                                                              +- bool              true
                                                                                                                              +- int               -10
                                                                                                                              +- unsigned int      n/a
                                                                                                                              +- long long         -10
                                                                                                                              +- float             -10
                                                                                                                              +- double            -10
                                                                                                                              +- std::string       n/a
                                                                                                                              +- std::string_view  n/a
                                                                                                                              +- const char*       n/a
                                                                                                                              +
                                                                                                                              +floating-point value 'flt' as:
                                                                                                                              +- bool              n/a
                                                                                                                              +- int               25
                                                                                                                              +- unsigned int      25
                                                                                                                              +- long long         25
                                                                                                                              +- float             25
                                                                                                                              +- double            25
                                                                                                                              +- std::string       n/a
                                                                                                                              +- std::string_view  n/a
                                                                                                                              +- const char*       n/a
                                                                                                                              +
                                                                                                                              +floating-point value 'pi' as:
                                                                                                                              +- bool              n/a
                                                                                                                              +- int               n/a
                                                                                                                              +- unsigned int      n/a
                                                                                                                              +- long long         n/a
                                                                                                                              +- float             3.14159
                                                                                                                              +- double            3.14159
                                                                                                                              +- std::string       n/a
                                                                                                                              +- std::string_view  n/a
                                                                                                                              +- const char*       n/a
                                                                                                                              +
                                                                                                                              +boolean value 'bool' as:
                                                                                                                              +- bool              false
                                                                                                                              +- int               0
                                                                                                                              +- unsigned int      0
                                                                                                                              +- long long         0
                                                                                                                              +- float             n/a
                                                                                                                              +- double            n/a
                                                                                                                              +- std::string       n/a
                                                                                                                              +- std::string_view  n/a
                                                                                                                              +- const char*       n/a
                                                                                                                              +
                                                                                                                              +integer value 'huge' as:
                                                                                                                              +- bool              true
                                                                                                                              +- int               n/a
                                                                                                                              +- unsigned int      n/a
                                                                                                                              +- long long         9223372036854775807
                                                                                                                              +- float             n/a
                                                                                                                              +- double            n/a
                                                                                                                              +- std::string       n/a
                                                                                                                              +- std::string_view  n/a
                                                                                                                              +- const char*       n/a
                                                                                                                              +
                                                                                                                              +string value 'str' as:
                                                                                                                              +- bool              n/a
                                                                                                                              +- int               n/a
                                                                                                                              +- unsigned int      n/a
                                                                                                                              +- long long         n/a
                                                                                                                              +- float             n/a
                                                                                                                              +- double            n/a
                                                                                                                              +- std::string       foo
                                                                                                                              +- std::string_view  foo
                                                                                                                              +- const char*       foo
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + optional<T> toml::node::value_exact() const noexcept(…) +

                                                                                                                              +

                                                                                                                              Gets the value contained by this node.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the native TOML value types, or a type capable of losslessly representing one.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or losslessly convertible to it), or an empty optional.
                                                                                                                              +

                                                                                                                              This function has 'exact' retrieval semantics; the only return value types allowed are the TOML native value types, or types that can losslessly represent a native value type (e.g. std::wstring on Windows).

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + auto toml::node::value_or(T&& default_value) const noexcept(…) +

                                                                                                                              +

                                                                                                                              Gets the raw value contained by this node, or a default.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TDefault value type. Must be one of the native TOML value types, or convertible to it.
                                                                                                                              Parameters
                                                                                                                              default_valueThe default value to return if the node wasn't a value, wasn't the correct type, or no conversion was possible.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or convertible to it) and within the range of the output type, or the provided default.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Func> +
                                                                                                                              + decltype(auto) toml::node::visit(Func&& visitor) & noexcept(…) +

                                                                                                                              +

                                                                                                                              Invokes a visitor on the node based on the node's concrete type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              FuncA callable type invocable with one or more of the toml++ node types.
                                                                                                                              Parameters
                                                                                                                              visitorThe visitor object.
                                                                                                                              ReturnsThe return value of the visitor. Can be void. Non-exhaustive visitors must return a default-constructible type.
                                                                                                                              +

                                                                                                                              Visitation is useful when you expect a node to be one of a set number of types and need to handle these types differently. Using visit() allows you to eliminate some of the casting/conversion boilerplate:

                                                                                                                              node.visit([](auto&& n)
                                                                                                                              +{
                                                                                                                              +    if constexpr (toml::is_string<decltype(n)>)
                                                                                                                              +        do_something_with_a_string(*n)); //n is a toml::value<std::string>
                                                                                                                              +    else if constexpr (toml::is_integer<decltype(n)>)
                                                                                                                              +        do_something_with_an_int(*n); //n is a toml::value<int64_t>
                                                                                                                              +});

                                                                                                                              Visitor functions need not be generic; specifying a concrete node type as the input argument type effectively acts a 'filter', only invoking the visitor if the concrete type is compatible. Thus the example above can be re-written as:

                                                                                                                              node.visit([](toml::value<std::string>& s) { do_something_with_a_string(*s)); });
                                                                                                                              +node.visit([](toml::value<int64_t>& i)     { do_something_with_an_int(*i)); });
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.3.0/classtoml_1_1node__view.html b/v3.3.0/classtoml_1_1node__view.html new file mode 100644 index 00000000..6366bb29 --- /dev/null +++ b/v3.3.0/classtoml_1_1node__view.html @@ -0,0 +1,942 @@ + + + + toml::node_view class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              template <typename ViewedType>
                                                                                                                              + toml::node_view class +

                                                                                                                              +

                                                                                                                              A view of a node.

                                                                                                                              + +

                                                                                                                              A node_view is like a std::optional<toml::node&> (if such a construct were legal), with lots of toml-specific stuff built-in. It may represent a node, and allows you to do many of the same operations that you'd do on nodes directly, as well as easily traversing the node tree by creating subviews (via node_view::operator[]).

                                                                                                                              auto tbl = toml::parse(R"(
                                                                                                                              +
                                                                                                                              +    title = "my hardware store"
                                                                                                                              +
                                                                                                                              +    [[products]]
                                                                                                                              +    name = "Hammer"
                                                                                                                              +    sku = 738594937
                                                                                                                              +    keywords = [ "hammer", "construction", "build" ]
                                                                                                                              +
                                                                                                                              +    [[products]]
                                                                                                                              +    name = "Nail"
                                                                                                                              +    sku = 284758393
                                                                                                                              +    color = "gray"
                                                                                                                              +
                                                                                                                              +)"sv);
                                                                                                                              +
                                                                                                                              +std::cout << tbl["title"] << "\n";
                                                                                                                              +std::cout << tbl["products"][0]["name"] << "\n";
                                                                                                                              +std::cout << tbl["products"][0]["keywords"] << "\n";
                                                                                                                              +std::cout << tbl["products"][0]["keywords"][2] << "\n";
                                                                                                                              +
                                                                                                                              +tbl["products"][0]["keywords"].as_array()->push_back("heavy");
                                                                                                                              +std::cout << tbl["products"][0]["keywords"] << "\n";
                                                                                                                              +std::cout << "has product[2]: "sv << !!tbl["products"][2] << "\n";
                                                                                                                              +std::cout << "product[2]: "sv << tbl["products"][2] << "\n";
                                                                                                                              "my hardware store"
                                                                                                                              +"Hammer"
                                                                                                                              +[ "hammer", "construction", "build" ]
                                                                                                                              +"build"
                                                                                                                              +[ "hammer", "construction", "build", "heavy" ]
                                                                                                                              +has product[2]: false
                                                                                                                              +product[2]:
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public types

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using viewed_type = ViewedType +
                                                                                                                              +
                                                                                                                              The node type being viewed - either node or const node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + node_view() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Constructs an empty node view.
                                                                                                                              +
                                                                                                                              + node_view(viewed_type* node) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs node_view of a specific node.
                                                                                                                              +
                                                                                                                              + node_view(viewed_type& node) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs node_view of a specific node.
                                                                                                                              +
                                                                                                                              + node_view(const node_view&) defaulted noexcept +
                                                                                                                              +
                                                                                                                              Copy constructor.
                                                                                                                              +
                                                                                                                              + node_view(node_view&&) defaulted noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              + operator bool() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the view references a node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto node() const -> viewed_type* noexcept +
                                                                                                                              +
                                                                                                                              Returns the node that's being referenced by the view.
                                                                                                                              +
                                                                                                                              + auto operator=(const node_view&) & -> node_view& defaulted noexcept +
                                                                                                                              +
                                                                                                                              Copy-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(node_view&&) & -> node_view& defaulted noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator!=(const node_view& lhs, + const node_view<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the two views do not refer to nodes of the same type and value.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const node_view& lhs, + const node_view<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the two views refer to nodes of the same type and value.
                                                                                                                              +
                                                                                                                              + auto operator==(const node_view& lhs, + const table& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a table with the same contents as RHS.
                                                                                                                              +
                                                                                                                              + auto operator==(const node_view& lhs, + const array& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is an array with the same contents as RHS.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const node_view& lhs, + const toml::value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a value with the same value as RHS.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const node_view& lhs, + const T& rhs) -> bool noexcept(…) +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a value with the same value as RHS.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const node_view& lhs, + const std::initializer_list<T>& rhs) -> bool noexcept(…) +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is an array with the same contents as the RHS initializer list.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const node_view& lhs, + const std::vector<T>& rhs) -> bool noexcept(…) +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is an array with the same contents as the RHS vector.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Subviews

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) const -> node_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const toml::path& path) const -> node_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) const -> node_view +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto operator[](std::string_view key) const -> node_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the selected subnode.
                                                                                                                              +
                                                                                                                              + auto operator[](const toml::path& path) const -> node_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the selected subnode.
                                                                                                                              +
                                                                                                                              + auto operator[](std::wstring_view key) const -> node_view +
                                                                                                                              +
                                                                                                                              Returns a view of the selected subnode.
                                                                                                                              +
                                                                                                                              + auto operator[](size_t index) const -> node_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the selected subnode.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type casts

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the viewed node as a more specific node type.
                                                                                                                              +
                                                                                                                              + auto as_array() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::array, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_boolean() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<bool>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<date>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date_time() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<date_time>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<double>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_integer() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<int64_t>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_string() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<string>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_table() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::table, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_time() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<time>, if it is one.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type checks

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto is() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if this view references a node of a specific type.
                                                                                                                              +
                                                                                                                              + auto is_array() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::array.
                                                                                                                              +
                                                                                                                              + auto is_array_of_tables() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::array that contains only tables.
                                                                                                                              +
                                                                                                                              + auto is_boolean() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<bool>.
                                                                                                                              +
                                                                                                                              + auto is_date() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<date>.
                                                                                                                              +
                                                                                                                              + auto is_date_time() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<date_time>.
                                                                                                                              +
                                                                                                                              + auto is_floating_point() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<double>.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + viewed_type*& first_nonmatch) const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the viewed node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype) const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the viewed node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType = void>
                                                                                                                              + auto is_homogeneous() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the viewed node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_integer() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<int64_t>.
                                                                                                                              +
                                                                                                                              + auto is_number() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<int64_t> or toml::value<double>.
                                                                                                                              +
                                                                                                                              + auto is_string() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<string>.
                                                                                                                              +
                                                                                                                              + auto is_table() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::table.
                                                                                                                              +
                                                                                                                              + auto is_time() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<time>.
                                                                                                                              +
                                                                                                                              + auto is_value() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<>.
                                                                                                                              +
                                                                                                                              + auto type() const -> node_type noexcept +
                                                                                                                              +
                                                                                                                              Returns the type identifier for the viewed node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Value retrieval

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to the viewed node's underlying data.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by the referenced node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_exact() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by the referenced node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_or(T&& default_value) const -> auto noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the raw value contained by the referenced node, or a default.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Visitation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the viewed node based on its concrete type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& os, + const node_view& nv) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the viewed node out to a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::at_path(std::string_view path) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::at_path(const toml::path& path) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::at_path(std::wstring_view path) const +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::operator[](std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the selected subnode.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key of the node to retrieve
                                                                                                                              ReturnsA view of the selected node if this node represented a table and it contained a value at the given key, or an empty view.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::operator[](const toml::path& path) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the selected subnode.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              pathA "TOML path" to the desired subnode
                                                                                                                              ReturnsA view of the selected node if this node represented a table and it contained a value at the given key, or an empty view.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::operator[](std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Returns a view of the selected subnode.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key of the node to retrieve
                                                                                                                              ReturnsA view of the selected node if this node represented a table and it contained a value at the given key, or an empty view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::operator[](size_t index) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the selected subnode.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              indexThe index of the node to retrieve
                                                                                                                              ReturnsA view of the selected node if this node represented an array and it contained a value at the given index, or an empty view.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + auto* toml::node_view::as() const noexcept +

                                                                                                                              +

                                                                                                                              Gets a pointer to the viewed node as a more specific node type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TThe node type or TOML value type to cast to.
                                                                                                                              ReturnsA pointer to the node as the given type, or nullptr if it was a different type.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::node_view::is() const noexcept +

                                                                                                                              +

                                                                                                                              Checks if this view references a node of a specific type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TA TOML node or value type.
                                                                                                                              ReturnsReturns true if the viewed node is an instance of the specified type.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + bool toml::node_view::is_homogeneous(node_type ntype, + viewed_type*& first_nonmatch) const noexcept +

                                                                                                                              +

                                                                                                                              Checks if the viewed node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              first_nonmatchReference to a pointer in which the address of the first non-matching element will be stored if the return value is false.
                                                                                                                              ReturnsTrue if the viewed node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]");
                                                                                                                              +
                                                                                                                              +toml::node* nonmatch{};
                                                                                                                              +if (cfg["arr"].is_homogeneous(toml::node_type::integer, nonmatch))
                                                                                                                              +    std::cout << "array was homogeneous"sv << "\n";
                                                                                                                              +else
                                                                                                                              +    std::cout << "array was not homogeneous!\n"
                                                                                                                              +    << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
                                                                                                                              array was not homogeneous!
                                                                                                                              +first non-match was a floating-point at line 1, column 18
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + bool toml::node_view::is_homogeneous(node_type ntype) const noexcept +

                                                                                                                              +

                                                                                                                              Checks if the viewed node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              ReturnsTrue if the viewed node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3 ]");
                                                                                                                              +std::cout << "homogenous: "sv << cfg["arr"].is_homogeneous(toml::node_type::none) << "\n";
                                                                                                                              +std::cout << "all floats: "sv << cfg["arr"].is_homogeneous(toml::node_type::floating_point) << "\n";
                                                                                                                              +std::cout << "all arrays: "sv << cfg["arr"].is_homogeneous(toml::node_type::array) << "\n";
                                                                                                                              +std::cout << "all ints:   "sv << cfg["arr"].is_homogeneous(toml::node_type::integer) << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename ElemType = void> +
                                                                                                                              + bool toml::node_view::is_homogeneous() const noexcept +

                                                                                                                              +

                                                                                                                              Checks if the viewed node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypeA TOML node or value type.
                                                                                                                              Left as void: "is every element the same type?"
                                                                                                                              Explicitly specified: "is every element a T?"
                                                                                                                              ReturnsTrue if the viewed node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3 ]");
                                                                                                                              +std::cout << "homogenous:   "sv << cfg["arr"].is_homogeneous() << "\n";
                                                                                                                              +std::cout << "all doubles:  "sv << cfg["arr"].is_homogeneous<double>() << "\n";
                                                                                                                              +std::cout << "all arrays:   "sv << cfg["arr"].is_homogeneous<toml::array>() << "\n";
                                                                                                                              +std::cout << "all integers: "sv << cfg["arr"].is_homogeneous<int64_t>() << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + decltype(auto) toml::node_view::ref() const noexcept +

                                                                                                                              +

                                                                                                                              Gets a raw reference to the viewed node's underlying data.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the TOML value types.
                                                                                                                              ReturnsA reference to the underlying data.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + optional<T> toml::node_view::value() const noexcept(…) +

                                                                                                                              +

                                                                                                                              Gets the value contained by the referenced node.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the native TOML value types, or a type capable of convertible to one.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or convertible to it) and within the range of the output type, or an empty optional.
                                                                                                                              +

                                                                                                                              This function has 'permissive' retrieval semantics; some value types are allowed to convert to others (e.g. retrieving a boolean as an integer), and the specified return value type can be any type where a reasonable conversion from a native TOML value exists (e.g. std::wstring on Windows). If the source value cannot be represented by the destination type, an empty optional is returned. See node::value() for examples.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + optional<T> toml::node_view::value_exact() const noexcept(…) +

                                                                                                                              +

                                                                                                                              Gets the value contained by the referenced node.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the native TOML value types, or a type capable of losslessly representing one.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or losslessly convertible to it), or an empty optional.
                                                                                                                              +

                                                                                                                              This function has 'exact' retrieval semantics; the only return value types allowed are the TOML native value types, or types that can losslessly represent a native value type (e.g. std::wstring on Windows).

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + auto toml::node_view::value_or(T&& default_value) const noexcept(…) +

                                                                                                                              +

                                                                                                                              Gets the raw value contained by the referenced node, or a default.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TDefault value type. Must be one of the native TOML value types, or convertible to it.
                                                                                                                              Parameters
                                                                                                                              default_valueThe default value to return if the node wasn't a value, wasn't the correct type, or no conversion was possible.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or convertible to it) and within the range of the output type, or the provided default.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename Func> +
                                                                                                                              + decltype(auto) toml::node_view::visit(Func&& visitor) const noexcept(…) +

                                                                                                                              +

                                                                                                                              Invokes a visitor on the viewed node based on its concrete type.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + std::ostream& operator<<(std::ostream& os, + const node_view& nv) +

                                                                                                                              +

                                                                                                                              Prints the viewed node out to a stream.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.3.0/classtoml_1_1parse__error.html b/v3.3.0/classtoml_1_1parse__error.html new file mode 100644 index 00000000..006686dd --- /dev/null +++ b/v3.3.0/classtoml_1_1parse__error.html @@ -0,0 +1,207 @@ + + + + toml::parse_error class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::parse_error class +

                                                                                                                              +

                                                                                                                              An error generated when parsing fails.

                                                                                                                              + + +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto description() const -> std::string_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a textual description of the error.
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the region of the source document responsible for the error.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const parse_error& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a parse_error to a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::string_view toml::parse_error::description() const noexcept +

                                                                                                                              +

                                                                                                                              Returns a textual description of the error.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const parse_error& rhs) +

                                                                                                                              +

                                                                                                                              Prints a parse_error to a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe stream.
                                                                                                                              rhsThe parse_error.
                                                                                                                              ReturnsThe input stream.
                                                                                                                              +
                                                                                                                              try
                                                                                                                              +{
                                                                                                                              +    auto tbl = toml::parse("enabled = trUe"sv);
                                                                                                                              +}
                                                                                                                              +catch (const toml::parse_error & err)
                                                                                                                              +{
                                                                                                                              +    std::cerr << "Parsing failed:\n"sv << err << "\n";
                                                                                                                              +}
                                                                                                                              Parsing failed:
                                                                                                                              +Encountered unexpected character while parsing boolean; expected 'true', saw 'trU'
                                                                                                                              +    (error occurred at line 1, column 13)
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.3.0/classtoml_1_1parse__result.html b/v3.3.0/classtoml_1_1parse__result.html new file mode 100644 index 00000000..5d846917 --- /dev/null +++ b/v3.3.0/classtoml_1_1parse__result.html @@ -0,0 +1,541 @@ + + + + toml::parse_result class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::parse_result class +

                                                                                                                              +

                                                                                                                              The result of a parsing operation.

                                                                                                                              + +

                                                                                                                              A parse_result is effectively a discriminated union containing either a toml::table or a toml::parse_error. Most member functions assume a particular one of these two states, and calling them when in the wrong state will cause errors (e.g. attempting to access the error object when parsing was successful).

                                                                                                                              toml::parse_result result = toml::parse_file("config.toml");
                                                                                                                              +if (result)
                                                                                                                              +    do_stuff_with_a_table(result); //implicitly converts to table&
                                                                                                                              +else
                                                                                                                              +    std::cerr << "Parse failed:\n"sv << result.error() << "\n";
                                                                                                                              example output:
                                                                                                                              +
                                                                                                                              +Parse failed:
                                                                                                                              +Encountered unexpected character while parsing boolean; expected 'true', saw 'trU'
                                                                                                                              +    (error occurred at line 1, column 13 of 'config.toml')

                                                                                                                              Getting node_views (operator[], at_path()) and using the iterator accessor functions (begin(), end() etc.) are unconditionally safe; when parsing fails these just return 'empty' values. A ranged-for loop on a failed parse_result is also safe since begin() and end() return the same iterator and will not lead to any dereferences and iterations.

                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + parse_result() noexcept +
                                                                                                                              +
                                                                                                                              Default constructs an 'error' result.
                                                                                                                              +
                                                                                                                              + parse_result(parse_result&& res) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              + ~parse_result() noexcept +
                                                                                                                              +
                                                                                                                              Destructor.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator=(parse_result&& rhs) -> parse_result& noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Failed parses

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              + auto error() & -> parse_error& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error.
                                                                                                                              +
                                                                                                                              + auto error() && -> parse_error&& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto error() const & -> const parse_error& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error (const lvalue overload).
                                                                                                                              +
                                                                                                                              + operator const parse_error&() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error (const lvalue overload).
                                                                                                                              +
                                                                                                                              + operator parse_error&() explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error.
                                                                                                                              +
                                                                                                                              + operator parse_error&&() explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Iteration

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using const_iterator = const_table_iterator +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over const key-value pairs in a wrapped toml::table.
                                                                                                                              +
                                                                                                                              + using iterator = table_iterator +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over key-value pairs in a wrapped toml::table.
                                                                                                                              +
                                                                                                                              + auto begin() -> table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto begin() const -> const_table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto cbegin() const -> const_table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto cend() const -> const_table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto end() -> table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto end() const -> const_table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Node views

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const toml::path& path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const toml::path& path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) -> node_view<node> +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) const -> node_view<const node> +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto operator[](const toml::path& path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto operator[](const toml::path& path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto operator[](std::string_view key) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto operator[](std::string_view key) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table (const overload).
                                                                                                                              +
                                                                                                                              + auto operator[](std::wstring_view key) -> node_view<node> +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto operator[](std::wstring_view key) const -> node_view<const node> +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Result state

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto failed() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if parsing failed.
                                                                                                                              +
                                                                                                                              + operator bool() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns true if parsing succeeded.
                                                                                                                              +
                                                                                                                              + auto succeeded() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if parsing succeeeded.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Successful parses

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              + operator const toml::table&() const noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table (const lvalue overload).
                                                                                                                              +
                                                                                                                              + operator toml::table&() noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table.
                                                                                                                              +
                                                                                                                              + operator toml::table&&() noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto table() & -> toml::table& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table.
                                                                                                                              +
                                                                                                                              + auto table() && -> toml::table&& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto table() const & -> const toml::table& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& os, + const parse_result& result) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the held error or table object out to a text stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + table_iterator toml::parse_result::begin() noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_table_iterator toml::parse_result::begin() const noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_table_iterator toml::parse_result::cbegin() const noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::parse_result::at_path(std::string_view path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::parse_result::at_path(std::string_view path) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::parse_result::at_path(const toml::path& path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::parse_result::at_path(const toml::path& path) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::parse_result::at_path(std::wstring_view path) +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::parse_result::at_path(std::wstring_view path) const +

                                                                                                                              +

                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::parse_result::operator[](const toml::path& path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::parse_result::operator[](const toml::path& path) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::parse_result::operator[](std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if parsing was successful and a matching key existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::parse_result::operator[](std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if parsing was successful and a matching key existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::parse_result::operator[](std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if parsing was successful and a matching key existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::parse_result::operator[](std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if parsing was successful and a matching key existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& os, + const parse_result& result) +

                                                                                                                              +

                                                                                                                              Prints the held error or table object out to a text stream.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.3.0/classtoml_1_1path.html b/v3.3.0/classtoml_1_1path.html new file mode 100644 index 00000000..30ca5ddc --- /dev/null +++ b/v3.3.0/classtoml_1_1path.html @@ -0,0 +1,645 @@ + + + + toml::path class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::path class +

                                                                                                                              +

                                                                                                                              A TOML path.

                                                                                                                              + +

                                                                                                                              This type parses and represents a path to a TOML node. It validates the syntax of the path but does not ensure that the path refers to a valid node in any particular TOML document. If parsing fails, the object will evaluate as 'falsy', and will be empty.

                                                                                                                              toml::path the_path("animals.cats[1]");
                                                                                                                              +
                                                                                                                              +// can use with tbl.at_path or operator[]
                                                                                                                              +std::cout << "second cat: " << tbl[the_path] << "\n";
                                                                                                                              +std::cout << "cats: " << tbl.at_path(the_path.parent_path()) << "\n";
                                                                                                                              second cat: lion
                                                                                                                              +cats: ['tiger', 'lion', 'puma']
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + operator bool() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the path has one or more components.
                                                                                                                              +
                                                                                                                              + path() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Default constructor.
                                                                                                                              +
                                                                                                                              + path(std::string_view) explicit +
                                                                                                                              +
                                                                                                                              Construct a path by parsing from a string.
                                                                                                                              +
                                                                                                                              + path(std::wstring_view) explicit +
                                                                                                                              +
                                                                                                                              Construct a path by parsing from a string.
                                                                                                                              +
                                                                                                                              + path(const path&) defaulted +
                                                                                                                              +
                                                                                                                              Copy constructor.
                                                                                                                              +
                                                                                                                              + path(path&&) defaulted noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              + ~path() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Default destructor.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto empty() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Whether (true) or not (false) the path is empty.
                                                                                                                              +
                                                                                                                              + auto operator[](size_t index) -> path_component& noexcept +
                                                                                                                              +
                                                                                                                              Fetch a path component by index.
                                                                                                                              +
                                                                                                                              + auto operator[](size_t index) const -> const path_component& noexcept +
                                                                                                                              +
                                                                                                                              Fetch a path component by index (const overload).
                                                                                                                              +
                                                                                                                              + auto size() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the number of components in the path.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Appending

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto append(const path& p) -> path& +
                                                                                                                              +
                                                                                                                              Appends another path onto the end of this one.
                                                                                                                              +
                                                                                                                              + auto append(path&& p) -> path& +
                                                                                                                              +
                                                                                                                              Appends another path onto the end of this one.
                                                                                                                              +
                                                                                                                              + auto append(std::string_view str) -> path& +
                                                                                                                              +
                                                                                                                              Parses a path and appends it onto the end of this one.
                                                                                                                              +
                                                                                                                              + auto append(std::wstring_view str) -> path& +
                                                                                                                              +
                                                                                                                              Parses a path and appends it onto the end of this one.
                                                                                                                              +
                                                                                                                              + auto operator+=(const path&) -> path& +
                                                                                                                              +
                                                                                                                              Appends another path onto the end of this one.
                                                                                                                              +
                                                                                                                              + auto operator+=(path&&) -> path& +
                                                                                                                              +
                                                                                                                              Appends another path onto the end of this one.
                                                                                                                              +
                                                                                                                              + auto operator+=(std::string_view) -> path& +
                                                                                                                              +
                                                                                                                              Parses a path and appends it onto the end of this one.
                                                                                                                              +
                                                                                                                              + auto operator+=(std::wstring_view) -> path& +
                                                                                                                              +
                                                                                                                              Parses a path and appends it onto the end of this one.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Assignment

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto assign(const path& p) -> path& +
                                                                                                                              +
                                                                                                                              Replaces the contents of the path with that of another.
                                                                                                                              +
                                                                                                                              + auto assign(path&& p) -> path& noexcept +
                                                                                                                              +
                                                                                                                              Replaces the contents of the path with that of another.
                                                                                                                              +
                                                                                                                              + auto assign(std::string_view str) -> path& +
                                                                                                                              +
                                                                                                                              Replaces the contents of the path object by a new path.
                                                                                                                              +
                                                                                                                              + auto assign(std::wstring_view str) -> path& +
                                                                                                                              +
                                                                                                                              Replaces the contents of the path object by a new path.
                                                                                                                              +
                                                                                                                              + auto operator=(const path&) -> path& defaulted +
                                                                                                                              +
                                                                                                                              Copy-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(path&&) -> path& defaulted noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(std::string_view) -> path& +
                                                                                                                              +
                                                                                                                              Replaces the contents of the path by parsing from a string.
                                                                                                                              +
                                                                                                                              + auto operator=(std::wstring_view) -> path& +
                                                                                                                              +
                                                                                                                              Replaces the contents of the path by parsing from a string.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Concatenation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator+(const path& lhs, + const path& rhs) -> path +
                                                                                                                              +
                                                                                                                              Concatenates two paths.
                                                                                                                              +
                                                                                                                              + auto operator+(const path& lhs, + std::string_view rhs) -> path +
                                                                                                                              +
                                                                                                                              Concatenates two paths.
                                                                                                                              +
                                                                                                                              + auto operator+(std::string_view lhs, + const path& rhs) -> path +
                                                                                                                              +
                                                                                                                              Concatenates two paths.
                                                                                                                              +
                                                                                                                              + auto operator+(const path& lhs, + std::wstring_view rhs) -> path +
                                                                                                                              +
                                                                                                                              Concatenates two paths.
                                                                                                                              +
                                                                                                                              + auto operator+(std::wstring_view lhs, + const path& rhs) -> path +
                                                                                                                              +
                                                                                                                              Concatenates two paths.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const path& lhs, + const path& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns whether two paths are not the same.
                                                                                                                              +
                                                                                                                              + auto operator!=(const path& lhs, + std::string_view rhs) -> bool +
                                                                                                                              +
                                                                                                                              Returns whether two paths are not the same.
                                                                                                                              +
                                                                                                                              + auto operator!=(std::string_view lhs, + const path& rhs) -> bool +
                                                                                                                              +
                                                                                                                              Returns whether two paths are not the same.
                                                                                                                              +
                                                                                                                              + auto operator!=(const path& lhs, + std::wstring_view rhs) -> bool +
                                                                                                                              +
                                                                                                                              Returns whether two paths are not the same.
                                                                                                                              +
                                                                                                                              + auto operator!=(std::wstring_view lhs, + const path& rhs) -> bool +
                                                                                                                              +
                                                                                                                              Returns whether two paths are not the same.
                                                                                                                              +
                                                                                                                              + auto operator==(const path& lhs, + const path& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns whether two paths are the same.
                                                                                                                              +
                                                                                                                              + auto operator==(const path& lhs, + std::string_view rhs) -> bool +
                                                                                                                              +
                                                                                                                              Returns whether two paths are the same.
                                                                                                                              +
                                                                                                                              + auto operator==(std::string_view lhs, + const path& rhs) -> bool +
                                                                                                                              +
                                                                                                                              Returns whether two paths are the same.
                                                                                                                              +
                                                                                                                              + auto operator==(const path& lhs, + std::wstring_view rhs) -> bool +
                                                                                                                              +
                                                                                                                              Returns whether two paths are the same.
                                                                                                                              +
                                                                                                                              + auto operator==(std::wstring_view lhs, + const path& rhs) -> bool +
                                                                                                                              +
                                                                                                                              Returns whether two paths are the same.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Iteration

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using const_iterator = std::vector<path_component>::const_iterator +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using iterator = std::vector<path_component>::iterator +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto begin() -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first component in the path.
                                                                                                                              +
                                                                                                                              + auto begin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns a const iterator to the first component in the path.
                                                                                                                              +
                                                                                                                              + auto cbegin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns a const iterator to the first component in the path.
                                                                                                                              +
                                                                                                                              + auto cend() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns a const iterator to one-past-the-last component in the path.
                                                                                                                              +
                                                                                                                              + auto end() -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last component in the path.
                                                                                                                              +
                                                                                                                              + auto end() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns a const iterator to one-past-the-last component in the path.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Prepending

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto prepend(const path&) -> path& +
                                                                                                                              +
                                                                                                                              Prepends another path onto the beginning of this one.
                                                                                                                              +
                                                                                                                              + auto prepend(path&&) -> path& +
                                                                                                                              +
                                                                                                                              Prepends another path onto the beginning of this one.
                                                                                                                              +
                                                                                                                              + auto prepend(std::string_view) -> path& +
                                                                                                                              +
                                                                                                                              Parses a path and prepends it onto the beginning of this one.
                                                                                                                              +
                                                                                                                              + auto prepend(std::wstring_view) -> path& +
                                                                                                                              +
                                                                                                                              Parses a path and prepends it onto the beginning of this one.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              String conversion

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + operator std::string() const explicit +
                                                                                                                              +
                                                                                                                              Returns a string representation of this path.
                                                                                                                              +
                                                                                                                              + operator std::wstring() const explicit +
                                                                                                                              +
                                                                                                                              Returns a string representation of this path.
                                                                                                                              +
                                                                                                                              + auto str() const -> std::string +
                                                                                                                              +
                                                                                                                              Returns a string representation of this path.
                                                                                                                              +
                                                                                                                              + auto wide_str() const -> std::wstring +
                                                                                                                              +
                                                                                                                              Returns a string representation of this path.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& os, + const path& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the string representation of a toml::path out to a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Subpaths and Truncation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + void clear() noexcept +
                                                                                                                              +
                                                                                                                              Erases the contents of the path.
                                                                                                                              +
                                                                                                                              + auto leaf(size_t n = 1) const -> path +
                                                                                                                              +
                                                                                                                              Returns a toml::path object representing terminal n-parts of a TOML path.
                                                                                                                              +
                                                                                                                              + auto parent() const -> path +
                                                                                                                              +
                                                                                                                              Returns a toml::path object representing the path of the parent node.
                                                                                                                              +
                                                                                                                              + auto subpath(const_iterator start, + const_iterator end) const -> path +
                                                                                                                              +
                                                                                                                              Returns a toml::path object that is a specified subpath of the current path, representing the range of path components from [start, end).
                                                                                                                              +
                                                                                                                              + auto subpath(size_t start, + size_t length) const -> path +
                                                                                                                              +
                                                                                                                              Returns a toml::path object that is a specified subpath of the current path, representing the range of path components with indexes from [start, start + length].
                                                                                                                              +
                                                                                                                              + auto truncate(size_t n) -> path& +
                                                                                                                              +
                                                                                                                              Removes the number of terminal path components specified by n.
                                                                                                                              +
                                                                                                                              + auto truncated(size_t n) const -> path +
                                                                                                                              +
                                                                                                                              Returns a toml::path object which has had n terminal path components removed.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Typedef documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + using toml::path::const_iterator = std::vector<path_component>::const_iterator +

                                                                                                                              +

                                                                                                                              A const iterator for iterating over the components in the path.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + using toml::path::iterator = std::vector<path_component>::iterator +

                                                                                                                              +

                                                                                                                              An iterator for iterating over the components in the path.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::path::path(std::wstring_view) explicit +

                                                                                                                              +

                                                                                                                              Construct a path by parsing from a string.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + path& toml::path::append(std::wstring_view str) +

                                                                                                                              +

                                                                                                                              Parses a path and appends it onto the end of this one.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + path& toml::path::operator+=(std::wstring_view) +

                                                                                                                              +

                                                                                                                              Parses a path and appends it onto the end of this one.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + path& toml::path::assign(std::wstring_view str) +

                                                                                                                              +

                                                                                                                              Replaces the contents of the path object by a new path.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + path& toml::path::operator=(std::wstring_view) +

                                                                                                                              +

                                                                                                                              Replaces the contents of the path by parsing from a string.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + path toml::path::operator+(const path& lhs, + std::wstring_view rhs) +

                                                                                                                              +

                                                                                                                              Concatenates two paths.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + path toml::path::operator+(std::wstring_view lhs, + const path& rhs) +

                                                                                                                              +

                                                                                                                              Concatenates two paths.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::path::operator!=(const path& lhs, + std::wstring_view rhs) +

                                                                                                                              +

                                                                                                                              Returns whether two paths are not the same.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::path::operator!=(std::wstring_view lhs, + const path& rhs) +

                                                                                                                              +

                                                                                                                              Returns whether two paths are not the same.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::path::operator==(const path& lhs, + std::wstring_view rhs) +

                                                                                                                              +

                                                                                                                              Returns whether two paths are the same.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::path::operator==(std::wstring_view lhs, + const path& rhs) +

                                                                                                                              +

                                                                                                                              Returns whether two paths are the same.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::path::begin() noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to the first component in the path.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_iterator toml::path::begin() const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const iterator to the first component in the path.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_iterator toml::path::cbegin() const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const iterator to the first component in the path.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_iterator toml::path::cend() const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const iterator to one-past-the-last component in the path.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::path::end() noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to one-past-the-last component in the path.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_iterator toml::path::end() const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const iterator to one-past-the-last component in the path.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + path& toml::path::prepend(std::wstring_view) +

                                                                                                                              +

                                                                                                                              Parses a path and prepends it onto the beginning of this one.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::path::operator std::wstring() const explicit +

                                                                                                                              +

                                                                                                                              Returns a string representation of this path.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::wstring toml::path::wide_str() const +

                                                                                                                              +

                                                                                                                              Returns a string representation of this path.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.3.0/classtoml_1_1path__component.html b/v3.3.0/classtoml_1_1path__component.html new file mode 100644 index 00000000..029edeb8 --- /dev/null +++ b/v3.3.0/classtoml_1_1path__component.html @@ -0,0 +1,260 @@ + + + + toml::path_component class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::path_component class +

                                                                                                                              +

                                                                                                                              Represents a single component of a complete 'TOML-path': either a key or an array index.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + path_component() +
                                                                                                                              +
                                                                                                                              Default constructor (creates an empty key).
                                                                                                                              +
                                                                                                                              + path_component(size_t index) noexcept +
                                                                                                                              +
                                                                                                                              Constructor for a path component that is an array index.
                                                                                                                              +
                                                                                                                              + path_component(std::string_view key) +
                                                                                                                              +
                                                                                                                              Constructor for a path component that is a key string.
                                                                                                                              +
                                                                                                                              + path_component(std::wstring_view key) +
                                                                                                                              +
                                                                                                                              Constructor for a path component that is a key string.
                                                                                                                              +
                                                                                                                              + path_component(const path_component& pc) +
                                                                                                                              +
                                                                                                                              Copy constructor.
                                                                                                                              +
                                                                                                                              + path_component(path_component&& pc) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              + ~path_component() noexcept +
                                                                                                                              +
                                                                                                                              Destructor.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator=(const path_component& rhs) -> path_component& +
                                                                                                                              +
                                                                                                                              Copy-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(path_component&& rhs) -> path_component& noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(size_t new_index) -> path_component& noexcept +
                                                                                                                              +
                                                                                                                              Assigns an array index to this path component.
                                                                                                                              +
                                                                                                                              + auto operator=(std::string_view new_key) -> path_component& +
                                                                                                                              +
                                                                                                                              Assigns a path key to this path component.
                                                                                                                              +
                                                                                                                              + auto operator=(std::wstring_view new_key) -> path_component& +
                                                                                                                              +
                                                                                                                              Assigns a path key to this path component.
                                                                                                                              +
                                                                                                                              + auto type() const -> path_component_type noexcept +
                                                                                                                              +
                                                                                                                              Retrieve the type of this path component, either path_component::key or path_component::array_index.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Array index accessors

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              + auto index() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the array index (const lvalue overload).
                                                                                                                              +
                                                                                                                              + operator size_t() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns the array index (const lvalue).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const path_component& lhs, + const path_component& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if two path components do not represent the same key or array index.
                                                                                                                              +
                                                                                                                              + auto operator==(const path_component& lhs, + const path_component& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if two path components represent the same key or array index.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Key accessors

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              + auto key() const -> const std::string& noexcept +
                                                                                                                              +
                                                                                                                              Returns the key string.
                                                                                                                              +
                                                                                                                              + operator const std::string&() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns the key string.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::path_component::path_component(std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Constructor for a path component that is a key string.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + path_component& toml::path_component::operator=(std::wstring_view new_key) +

                                                                                                                              +

                                                                                                                              Assigns a path key to this path component.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.3.0/classtoml_1_1table.html b/v3.3.0/classtoml_1_1table.html new file mode 100644 index 00000000..878bb810 --- /dev/null +++ b/v3.3.0/classtoml_1_1table.html @@ -0,0 +1,2150 @@ + + + + toml::table class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::table class +

                                                                                                                              +

                                                                                                                              A TOML table.

                                                                                                                              + +

                                                                                                                              The interface of this type is modeled after std::map, with some additional considerations made for the heterogeneous nature of a TOML table.

                                                                                                                              toml::table tbl = toml::parse(R"(
                                                                                                                              +
                                                                                                                              +    [animals]
                                                                                                                              +    cats = [ "tiger", "lion", "puma" ]
                                                                                                                              +    birds = [ "macaw", "pigeon", "canary" ]
                                                                                                                              +    fish = [ "salmon", "trout", "carp" ]
                                                                                                                              +
                                                                                                                              +)"sv);
                                                                                                                              +
                                                                                                                              +// operator[] retrieves node-views
                                                                                                                              +std::cout << "cats: " << tbl["animals"]["cats"] << "\n";
                                                                                                                              +std::cout << "fish[1]: " << tbl["animals"]["fish"][1] << "\n";
                                                                                                                              +
                                                                                                                              +// at_path() does fully-qualified "toml path" lookups
                                                                                                                              +std::cout << "cats: " << tbl.at_path("animals.cats") << "\n";
                                                                                                                              +std::cout << "fish[1]: " << tbl.at_path("animals.fish[1]") << "\n";
                                                                                                                              cats: ['tiger', 'lion', 'puma']
                                                                                                                              +fish[1] : 'trout'
                                                                                                                              +cats : ['tiger', 'lion', 'puma']
                                                                                                                              +fish[1] : 'trout'
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Base classes

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + class node +
                                                                                                                              +
                                                                                                                              A TOML node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + table() noexcept +
                                                                                                                              +
                                                                                                                              Default constructor.
                                                                                                                              +
                                                                                                                              + table(const table&) +
                                                                                                                              +
                                                                                                                              Copy constructor.
                                                                                                                              +
                                                                                                                              + table(table&& other) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              + table(std::initializer_list<impl::table_init_pair> kvps) explicit +
                                                                                                                              +
                                                                                                                              Constructs a table with one or more initial key-value pairs.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator=(const table&) -> table& +
                                                                                                                              +
                                                                                                                              Copy-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(table&& rhs) -> table& noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const table& lhs, + const table& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const table& lhs, + const table& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Erasure

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + void clear() noexcept +
                                                                                                                              +
                                                                                                                              Removes all key-value pairs from the table.
                                                                                                                              +
                                                                                                                              + auto erase(iterator pos) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Removes the specified key-value pair from the table.
                                                                                                                              +
                                                                                                                              + auto erase(const_iterator pos) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Removes the specified key-value pair from the table (const iterator overload).
                                                                                                                              +
                                                                                                                              + auto erase(const_iterator begin, + const_iterator end) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Removes the key-value pairs in the range [first, last) from the table.
                                                                                                                              +
                                                                                                                              + auto erase(std::string_view key) -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Removes the value with the given key from the table.
                                                                                                                              +
                                                                                                                              + auto erase(std::wstring_view key) -> size_t +
                                                                                                                              +
                                                                                                                              Removes the value with the given key from the table.
                                                                                                                              +
                                                                                                                              + auto prune(bool recursive = true) & -> table& noexcept +
                                                                                                                              +
                                                                                                                              Removes empty child arrays and tables.
                                                                                                                              +
                                                                                                                              + auto prune(bool recursive = true) && -> table&& noexcept +
                                                                                                                              +
                                                                                                                              Removes empty child arrays and tables (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Insertion and Emplacement

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ValueType = void, typename KeyType, typename... ValueArgs>
                                                                                                                              + auto emplace(KeyType&& key, + ValueArgs && ... args) -> std::pair<iterator, bool> +
                                                                                                                              +
                                                                                                                              Emplaces a new value at a specific key if one did not already exist.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ValueType = void, typename KeyType, typename... ValueArgs>
                                                                                                                              + auto emplace_hint(const_iterator hint, + KeyType&& key, + ValueArgs && ... args) -> iterator +
                                                                                                                              +
                                                                                                                              Emplaces a new value at a specific key if one did not already exist.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename KeyType, typename ValueType>
                                                                                                                              + auto insert(KeyType&& key, + ValueType&& val, + value_flags flags = preserve_source_value_flags) -> std::pair<iterator, bool> +
                                                                                                                              +
                                                                                                                              Inserts a new value at a specific key if one did not already exist.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Iter>
                                                                                                                              + void insert(Iter begin, + Iter end, + value_flags flags = preserve_source_value_flags) +
                                                                                                                              +
                                                                                                                              Inserts a series of key-value pairs into the table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename KeyType, typename ValueType>
                                                                                                                              + auto insert_or_assign(KeyType&& key, + ValueType&& val, + value_flags flags = preserve_source_value_flags) -> std::pair<iterator, bool> +
                                                                                                                              +
                                                                                                                              Inserts or assigns a value at a specific key.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Iteration

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using const_iterator = toml::const_table_iterator +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over const key-value pairs in a toml::table.
                                                                                                                              +
                                                                                                                              + using iterator = toml::table_iterator +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over key-value pairs in a toml::table.
                                                                                                                              +
                                                                                                                              + auto begin() -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair.
                                                                                                                              +
                                                                                                                              + auto begin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair.
                                                                                                                              +
                                                                                                                              + auto cbegin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair.
                                                                                                                              +
                                                                                                                              + auto cend() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair.
                                                                                                                              +
                                                                                                                              + auto end() -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair.
                                                                                                                              +
                                                                                                                              + auto end() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto for_each(Func&& visitor) & -> table& noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on each key-value pair in the table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto for_each(Func&& visitor) && -> table&& noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on each key-value pair in the table (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto for_each(Func&& visitor) const & -> const table& noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on each key-value pair in the table (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto for_each(Func&& visitor) const && -> const table&& noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on each key-value pair in the table (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Metadata

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto is_inline() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this table is an inline table.
                                                                                                                              +
                                                                                                                              + void is_inline(bool val) noexcept +
                                                                                                                              +
                                                                                                                              Sets whether this table is a TOML inline table.
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the source region responsible for generating this node during parsing.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Node views

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const toml::path& path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const toml::path& path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) -> node_view<node> +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) const -> node_view<const node> +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + operator node_view<const node>() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node (const overload).
                                                                                                                              +
                                                                                                                              + operator node_view<node>() explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node.
                                                                                                                              +
                                                                                                                              + auto operator[](std::string_view key) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected value.
                                                                                                                              +
                                                                                                                              + auto operator[](std::string_view key) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected value (const overload).
                                                                                                                              +
                                                                                                                              + auto operator[](std::wstring_view key) -> node_view<node> +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected value.
                                                                                                                              +
                                                                                                                              + auto operator[](std::wstring_view key) const -> node_view<const node> +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected value (const overload).
                                                                                                                              +
                                                                                                                              + auto operator[](const toml::path& path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto operator[](const toml::path& path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Searching

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto contains(std::string_view key) const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the table contains a node at the given key.
                                                                                                                              +
                                                                                                                              + auto contains(std::wstring_view key) const -> bool +
                                                                                                                              +
                                                                                                                              Returns true if the table contains a node at the given key.
                                                                                                                              +
                                                                                                                              + auto find(std::string_view key) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Gets an iterator to the node at a specific key.
                                                                                                                              +
                                                                                                                              + auto find(std::string_view key) const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Gets an iterator to the node at a specific key (const overload)
                                                                                                                              +
                                                                                                                              + auto find(std::wstring_view key) -> iterator +
                                                                                                                              +
                                                                                                                              Gets an iterator to the node at a specific key.
                                                                                                                              +
                                                                                                                              + auto find(std::wstring_view key) const -> const_iterator +
                                                                                                                              +
                                                                                                                              Gets an iterator to the node at a specific key (const overload).
                                                                                                                              +
                                                                                                                              + auto lower_bound(std::string_view key) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair with key that is not less than the given key.
                                                                                                                              +
                                                                                                                              + auto lower_bound(std::string_view key) const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns a const iterator to the first key-value pair with key that is not less than the given key.
                                                                                                                              +
                                                                                                                              + auto lower_bound(std::wstring_view key) -> iterator +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair with key that is not less than the given key.
                                                                                                                              +
                                                                                                                              + auto lower_bound(std::wstring_view key) const -> const_iterator +
                                                                                                                              +
                                                                                                                              Returns a const iterator to the first key-value pair with key that is not less than the given key.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Size and Capacity

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto empty() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the table is empty.
                                                                                                                              +
                                                                                                                              + auto size() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the number of key-value pairs in the table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type casts

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() -> impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() const -> const impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type (const overload).
                                                                                                                              +
                                                                                                                              + auto as_array() -> array* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_array() const -> const array* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_boolean() -> toml::value<bool>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_boolean() const -> const toml::value<bool>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date() -> toml::value<date>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date() const -> const toml::value<date>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date_time() -> toml::value<date_time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date_time() const -> const toml::value<date_time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() -> toml::value<double>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() const -> const toml::value<double>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_integer() -> toml::value<int64_t>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_integer() const -> const toml::value<int64_t>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_string() -> toml::value<std::string>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_string() const -> const toml::value<std::string>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_table() -> table* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the table.
                                                                                                                              +
                                                                                                                              + auto as_table() const -> const table* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the table.
                                                                                                                              +
                                                                                                                              + auto as_time() -> toml::value<time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_time() const -> const toml::value<time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type checks

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto is() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node is a specific type.
                                                                                                                              +
                                                                                                                              + auto is_array() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_array_of_tables() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_boolean() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_date() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_date_time() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_floating_point() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype) const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + node*& first_nonmatch) -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + const node*& first_nonmatch) const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType = void>
                                                                                                                              + auto is_homogeneous() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_integer() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_number() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_string() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_table() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true.
                                                                                                                              +
                                                                                                                              + auto is_time() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_value() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto type() const -> node_type final noexcept +
                                                                                                                              +
                                                                                                                              Returns toml::node_type::table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Value retrieval

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at(std::string_view key) -> node& +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific key, throwing std::out_of_range if none existed.
                                                                                                                              +
                                                                                                                              + auto at(std::string_view key) const -> const node& +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific key, throwing std::out_of_range if none existed.
                                                                                                                              +
                                                                                                                              + auto at(std::wstring_view key) -> node& +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific key, throwing std::out_of_range if none existed.
                                                                                                                              +
                                                                                                                              + auto at(std::wstring_view key) const -> const node& +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific key, throwing std::out_of_range if none existed.
                                                                                                                              +
                                                                                                                              + auto get(std::string_view key) -> node* noexcept +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key.
                                                                                                                              +
                                                                                                                              + auto get(std::string_view key) const -> const node* noexcept +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key (const overload).
                                                                                                                              +
                                                                                                                              + auto get(std::wstring_view key) -> node* +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key.
                                                                                                                              +
                                                                                                                              + auto get(std::wstring_view key) const -> const node* +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto get_as(std::string_view key) -> impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key if it is a particular type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto get_as(std::string_view key) const -> const impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key if it is a particular type (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto get_as(std::wstring_view key) -> impl::wrap_node<T>* +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key if it is a particular type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto get_as(std::wstring_view key) const -> const impl::wrap_node<T>* +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key if it is a particular type (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_exact() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_or(T&& default_value) const -> auto noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the raw value contained by this node, or a default.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Visitation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const table& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the table out to a stream as formatted TOML.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::table::table(std::initializer_list<impl::table_init_pair> kvps) explicit +

                                                                                                                              +

                                                                                                                              Constructs a table with one or more initial key-value pairs.

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              kvpsA list of key-value pairs used to initialize the table.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "foo", 1 },
                                                                                                                              +    { "bar", 2.0 },
                                                                                                                              +    { "kek", "three" }
                                                                                                                              +};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { foo = 1, bar = 2.0, kek = "three" }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::operator!=(const table& lhs, + const table& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Inequality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS table.
                                                                                                                              rhsThe RHS table.
                                                                                                                              ReturnsTrue if the tables did not contain the same keys and map.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::operator==(const table& lhs, + const table& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Equality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS table.
                                                                                                                              rhsThe RHS table.
                                                                                                                              ReturnsTrue if the tables contained the same keys and map.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::erase(iterator pos) noexcept +

                                                                                                                              +

                                                                                                                              Removes the specified key-value pair from the table.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              posIterator to the key-value pair being erased.
                                                                                                                              ReturnsIterator to the first key-value pair immediately following the removed key-value pair.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 1 },
                                                                                                                              +    { "b", 2 },
                                                                                                                              +    { "c", 3 }
                                                                                                                              +};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +
                                                                                                                              +tbl.erase(tbl.begin() + 1);
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { a = 1, b = 2, c = 3 }
                                                                                                                              +{ a = 1, c = 3 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::erase(const_iterator pos) noexcept +

                                                                                                                              +

                                                                                                                              Removes the specified key-value pair from the table (const iterator overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              posIterator to the key-value pair being erased.
                                                                                                                              ReturnsIterator to the first key-value pair immediately following the removed key-value pair.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 1 },
                                                                                                                              +    { "b", 2 },
                                                                                                                              +    { "c", 3 }
                                                                                                                              +};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +
                                                                                                                              +tbl.erase(tbl.cbegin() + 1);
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { a = 1, b = 2, c = 3 }
                                                                                                                              +{ a = 1, c = 3 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::erase(const_iterator begin, + const_iterator end) noexcept +

                                                                                                                              +

                                                                                                                              Removes the key-value pairs in the range [first, last) from the table.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              beginIterator to the first key-value pair being erased.
                                                                                                                              endIterator to the one-past-the-last key-value pair being erased.
                                                                                                                              ReturnsIterator to the first key-value pair immediately following the last removed key-value pair.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 1 },
                                                                                                                              +    { "b", "bad" },
                                                                                                                              +    { "c", "karma" },
                                                                                                                              +    { "d", 2 }
                                                                                                                              +};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +
                                                                                                                              +tbl.erase(tbl.cbegin() + 1, tbl.cbegin() + 3);
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { a = 1, b = "bad", c = "karma", d = 2 }
                                                                                                                              +{ a = 1, d = 2 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + size_t toml::table::erase(std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Removes the value with the given key from the table.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyKey to erase.
                                                                                                                              ReturnsNumber of elements removed (0 or 1).
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 1 },
                                                                                                                              +    { "b", 2 },
                                                                                                                              +    { "c", 3 }
                                                                                                                              +};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +
                                                                                                                              +std::cout << tbl.erase("b") << "\n";
                                                                                                                              +std::cout << tbl.erase("not an existing key") << "\n";
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { a = 1, b = 2, c = 3 }
                                                                                                                              +true
                                                                                                                              +false
                                                                                                                              +{ a = 1, c = 3 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + size_t toml::table::erase(std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Removes the value with the given key from the table.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyKey to erase.
                                                                                                                              ReturnsNumber of elements removed (0 or 1).
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + table& toml::table::prune(bool recursive = true) & noexcept +

                                                                                                                              +

                                                                                                                              Removes empty child arrays and tables.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              recursiveShould child arrays and tables themselves be pruned?
                                                                                                                              ReturnsA reference to the table.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{ { "a", 1 }, { "b", toml::array{ } }, { "c", toml::array{ toml::table{}, toml::array{} } } };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +
                                                                                                                              +arr.prune();
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              { a = 1, b = [], c = [ {}, [] ] }
                                                                                                                              +{ a = 1 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + table&& toml::table::prune(bool recursive = true) && noexcept +

                                                                                                                              +

                                                                                                                              Removes empty child arrays and tables (rvalue overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              recursiveShould child arrays and tables themselves be pruned?
                                                                                                                              ReturnsAn rvalue reference to the table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType = void, typename KeyType, typename... ValueArgs> +
                                                                                                                              + std::pair<iterator, bool> toml::table::emplace(KeyType&& key, + ValueArgs && ... args) +

                                                                                                                              +

                                                                                                                              Emplaces a new value at a specific key if one did not already exist.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ValueTypetoml::table, toml::array, or any native TOML value type.
                                                                                                                              KeyTypeA toml::key or any compatible string type.
                                                                                                                              ValueArgsValue constructor argument types.
                                                                                                                              Parameters
                                                                                                                              keyThe key at which to emplace the new value.
                                                                                                                              argsArguments to forward to the value's constructor.
                                                                                                                              Returns

                                                                                                                              A std::pair containing:

                                                                                                                              • An iterator to the emplacement position (or the position of the value that prevented emplacement)
                                                                                                                              • A boolean indicating if the emplacement was successful.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 1 },
                                                                                                                              +    { "b", 2 },
                                                                                                                              +    { "c", 3 }
                                                                                                                              +};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +
                                                                                                                              +for (auto k : { "a", "d" })
                                                                                                                              +{
                                                                                                                              +    // add a string using std::string's substring constructor
                                                                                                                              +    auto result = tbl.emplace<std::string>(k, "this is not a drill"sv, 14, 5);
                                                                                                                              +    std::cout << "emplaced with key '"sv << k << "': "sv << result.second << "\n";
                                                                                                                              +}
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { a = 1, b = 2, c = 3 }
                                                                                                                              +emplaced with key 'a': false
                                                                                                                              +emplaced with key 'd': true
                                                                                                                              +{ a = 1, b = 2, c = 3, d = "drill" }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType = void, typename KeyType, typename... ValueArgs> +
                                                                                                                              + iterator toml::table::emplace_hint(const_iterator hint, + KeyType&& key, + ValueArgs && ... args) +

                                                                                                                              +

                                                                                                                              Emplaces a new value at a specific key if one did not already exist.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ValueTypetoml::table, toml::array, or any native TOML value type.
                                                                                                                              KeyTypeA toml::key or any compatible string type.
                                                                                                                              ValueArgsValue constructor argument types.
                                                                                                                              Parameters
                                                                                                                              hintIterator to the position before which the new element will be emplaced.
                                                                                                                              keyThe key at which to emplace the new value.
                                                                                                                              argsArguments to forward to the value's constructor.
                                                                                                                              ReturnsAn iterator to the emplacement position (or the position of the value that prevented emplacement)
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename KeyType, typename ValueType> +
                                                                                                                              + std::pair<iterator, bool> toml::table::insert(KeyType&& key, + ValueType&& val, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Inserts a new value at a specific key if one did not already exist.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              KeyTypeA toml::key or any compatible string type.
                                                                                                                              ValueTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              keyThe key at which to insert the new value.
                                                                                                                              valThe new value to insert.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              Returns

                                                                                                                              Valid input:

                                                                                                                              • An iterator to the insertion position (or the position of the value that prevented insertion)
                                                                                                                              • A boolean indicating if the insertion was successful.
                                                                                                                              +

                                                                                                                              Input is a null toml::node_view: + { end(), false }

                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto tbl = toml::table{ + { "a", 1 }, + { "b", 2 }, + { "c", 3 } +}; +std::cout << tbl << "\n"; + +for (auto k : { "a", "d" }) +{ + auto result = tbl.insert(k, 42); + std::cout << "inserted with key '"sv << k << "': "sv << result.second << "\n"; +} +std::cout << tbl << "\n";
                                                                                                                              a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +
                                                                                                                              +inserted with key 'a': false
                                                                                                                              +inserted with key 'd': true
                                                                                                                              +a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +d = 42
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Iter> +
                                                                                                                              + void toml::table::insert(Iter begin, + Iter end, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Inserts a series of key-value pairs into the table.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              IterAn InputIterator to a collection of key-value pairs.
                                                                                                                              Parameters
                                                                                                                              beginAn iterator to the first value in the input collection.
                                                                                                                              endAn iterator to one-past-the-last value in the input collection.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto tbl = toml::table{ + { "a", 1 }, + { "b", 2 }, + { "c", 3 } +}; +std::cout << tbl << "\n"; + +auto kvps = std::array<std::pair<std::string, int>, 2>{{ + { "d", 42 }, + { "a", 43 } // won't be inserted, 'a' already exists +}}; +tbl.insert(kvps.begin(), kvps.end()); +std::cout << tbl << "\n";
                                                                                                                              a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +
                                                                                                                              +a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +d = 42
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename KeyType, typename ValueType> +
                                                                                                                              + std::pair<iterator, bool> toml::table::insert_or_assign(KeyType&& key, + ValueType&& val, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Inserts or assigns a value at a specific key.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              KeyTypeA toml::key or any compatible string type.
                                                                                                                              ValueTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              keyThe key at which to insert or assign the value.
                                                                                                                              valThe value to insert/assign.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              Returns

                                                                                                                              Valid input:

                                                                                                                              • An iterator to the value's position
                                                                                                                              • true if the value was inserted, false if it was assigned.
                                                                                                                              +

                                                                                                                              Input is a null toml::node_view: + { end(), false }

                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto tbl = toml::table{ + { "a", 1 }, + { "b", 2 }, + { "c", 3 } +}; +std::cout << tbl << "\n"; + +for (auto k : { "a", "d" }) +{ + auto result = tbl.insert_or_assign(k, 42); + std::cout << "value at key '"sv << k + << "' was "sv << (result.second ? "inserted"sv : "assigned"sv) << "\n"; +} +std::cout << tbl << "\n";
                                                                                                                              a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +
                                                                                                                              +value at key 'a' was assigned
                                                                                                                              +value at key 'd' was inserted
                                                                                                                              +a = 42
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +d = 42
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Func> +
                                                                                                                              + table& toml::table::for_each(Func&& visitor) & noexcept(…) +

                                                                                                                              +

                                                                                                                              Invokes a visitor on each key-value pair in the table.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              Func

                                                                                                                              A callable type invocable with one of the following signatures:

                                                                                                                              • func(key, val)
                                                                                                                              • func(val)

                                                                                                                              Where:

                                                                                                                              • key will recieve a const reference to a toml::key
                                                                                                                              • val will recieve the value as it's concrete type with cvref-qualifications matching the table

                                                                                                                              Visitors returning bool (or something convertible to bool) will cause iteration to stop if they return false.

                                                                                                                              Parameters
                                                                                                                              visitorThe visitor object.
                                                                                                                              ReturnsA reference to the table.
                                                                                                                              +
                                                                                                                              toml::table tbl{
                                                                                                                              +    { "0",  0      },
                                                                                                                              +    { "1",  1      },
                                                                                                                              +    { "2",  2      },
                                                                                                                              +    { "3",  3.0    },
                                                                                                                              +    { "4",  "four" },
                                                                                                                              +    { "5",  "five" },
                                                                                                                              +    { "6",  6      }
                                                                                                                              +};
                                                                                                                              +
                                                                                                                              +// select only the integers using a strongly-typed visitor
                                                                                                                              +tbl.for_each([](toml::value<int64_t>& val)
                                                                                                                              +{
                                                                                                                              +    std::cout << val << ", ";
                                                                                                                              +});
                                                                                                                              +std::cout << "\n";
                                                                                                                              +
                                                                                                                              +// select all the numeric values using a generic visitor + is_number<> metafunction
                                                                                                                              +tbl.for_each([](auto&& val)
                                                                                                                              +{
                                                                                                                              +    if constexpr (toml::is_number<decltype(val)>)
                                                                                                                              +        std::cout << val << ", ";
                                                                                                                              +});
                                                                                                                              +std::cout << "\n";
                                                                                                                              +
                                                                                                                              +// select all the numeric values until we encounter something non-numeric
                                                                                                                              +tbl.for_each([](auto&& val)
                                                                                                                              +{
                                                                                                                              +    if constexpr (toml::is_number<decltype(val)>)
                                                                                                                              +    {
                                                                                                                              +        std::cout << val << ", ";
                                                                                                                              +        return true; // "keep going"
                                                                                                                              +    }
                                                                                                                              +    else
                                                                                                                              +        return false; // "stop!"
                                                                                                                              +
                                                                                                                              +});
                                                                                                                              +std::cout << "\n\n";
                                                                                                                              +
                                                                                                                              +// visitors may also recieve the key
                                                                                                                              +tbl.for_each([](const toml::key& key, auto&& val)
                                                                                                                              +{
                                                                                                                              +    std::cout << key << ": " << val << "\n";
                                                                                                                              +});
                                                                                                                              0, 1, 2, 6,
                                                                                                                              +0, 1, 2, 3.0, 6,
                                                                                                                              +0, 1, 2, 3.0,
                                                                                                                              +
                                                                                                                              +0: 0
                                                                                                                              +1: 1
                                                                                                                              +2: 2
                                                                                                                              +3: 3.0
                                                                                                                              +4: 'four'
                                                                                                                              +5: 'five'
                                                                                                                              +6: 6
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::is_inline() const noexcept +

                                                                                                                              +

                                                                                                                              Returns true if this table is an inline table.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + void toml::table::is_inline(bool val) noexcept +

                                                                                                                              +

                                                                                                                              Sets whether this table is a TOML inline table.

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              valThe new value for 'inline'.
                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto tbl = toml::table{ + { "a", 1 }, + { "b", 2 }, + { "c", 3 }, + { "d", toml::table{ { "e", 4 } } } +}; +std::cout << "is inline? "sv << tbl.is_inline() << "\n"; +std::cout << tbl << "\n\n"; + +tbl.is_inline(!tbl.is_inline()); +std::cout << "is inline? "sv << tbl.is_inline() << "\n"; +std::cout << tbl << "\n";
                                                                                                                              is inline? false
                                                                                                                              +a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +
                                                                                                                              +[d]
                                                                                                                              +e = 4
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +is inline? true
                                                                                                                              +{ a = 1, b = 2, c = 3, d = { e = 4 } }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::table::operator[](std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected value.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if one existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::table::operator[](std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected value (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if one existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::table::operator[](std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected value.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if one existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::table::operator[](std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected value (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if one existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::contains(std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Returns true if the table contains a node at the given key.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::find(std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets an iterator to the node at a specific key.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsAn iterator to the node at the specified key, or end().
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_iterator toml::table::find(std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets an iterator to the node at a specific key (const overload)

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA const iterator to the node at the specified key, or cend().
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::find(std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Gets an iterator to the node at a specific key.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsAn iterator to the node at the specified key, or end().
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_iterator toml::table::find(std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Gets an iterator to the node at a specific key (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA const iterator to the node at the specified key, or cend().
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::lower_bound(std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to the first key-value pair with key that is not less than the given key.

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsAn iterator to the first matching key-value pair, or end().
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_iterator toml::table::lower_bound(std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const iterator to the first key-value pair with key that is not less than the given key.

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsAn iterator to the first matching key-value pair, or end().
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::lower_bound(std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Returns an iterator to the first key-value pair with key that is not less than the given key.

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsAn iterator to the first matching key-value pair, or end().
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_iterator toml::table::lower_bound(std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Returns a const iterator to the first key-value pair with key that is not less than the given key.

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsAn iterator to the first matching key-value pair, or end().
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::is_homogeneous(node_type ntype) const final noexcept +

                                                                                                                              +

                                                                                                                              Checks if the node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << "homogenous: "sv << arr.is_homogeneous(toml::node_type::none) << "\n";
                                                                                                                              +std::cout << "all floats: "sv << arr.is_homogeneous(toml::node_type::floating_point) << "\n";
                                                                                                                              +std::cout << "all arrays: "sv << arr.is_homogeneous(toml::node_type::array) << "\n";
                                                                                                                              +std::cout << "all ints:   "sv << arr.is_homogeneous(toml::node_type::integer) << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::is_homogeneous(node_type ntype, + node*& first_nonmatch) final noexcept +

                                                                                                                              +

                                                                                                                              Checks if a node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              first_nonmatchReference to a pointer in which the address of the first non-matching element will be stored if the return value is false.
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]");
                                                                                                                              +toml::array& arr = *cfg["arr"].as_array();
                                                                                                                              +
                                                                                                                              +toml::node* nonmatch{};
                                                                                                                              +if (arr.is_homogeneous(toml::node_type::integer, nonmatch))
                                                                                                                              +    std::cout << "array was homogeneous"sv << "\n";
                                                                                                                              +else
                                                                                                                              +    std::cout << "array was not homogeneous!\n"
                                                                                                                              +    << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
                                                                                                                              array was not homogeneous!
                                                                                                                              +first non-match was a floating-point at line 1, column 18
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node& toml::table::at(std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Gets a reference to the element at a specific key, throwing std::out_of_range if none existed.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const node& toml::table::at(std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Gets a reference to the element at a specific key, throwing std::out_of_range if none existed.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node* toml::table::get(std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key, or nullptr.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 42, },
                                                                                                                              +    { "b", "is the meaning of life, apparently." }
                                                                                                                              +};
                                                                                                                              +std::cout << R"(node ["a"] exists: )"sv << !!arr.get("a") << "\n";
                                                                                                                              +std::cout << R"(node ["b"] exists: )"sv << !!arr.get("b") << "\n";
                                                                                                                              +std::cout << R"(node ["c"] exists: )"sv << !!arr.get("c") << "\n";
                                                                                                                              +if (auto val = arr.get("a"))
                                                                                                                              +    std::cout << R"(node ["a"] was an )"sv << val->type() << "\n";
                                                                                                                              node ["a"] exists: true
                                                                                                                              +node ["b"] exists: true
                                                                                                                              +node ["c"] exists: false
                                                                                                                              +node ["a"] was an integer
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const node* toml::table::get(std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key, or nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node* toml::table::get(std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key, or nullptr.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const node* toml::table::get(std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key, or nullptr.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + impl::wrap_node<T>* toml::table::get_as(std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key if it is a particular type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the TOML node or value types.
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key if it was of the given type, or nullptr.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 42, },
                                                                                                                              +    { "b", "is the meaning of life, apparently." }
                                                                                                                              +};
                                                                                                                              +if (auto val = arr.get_as<int64_t>("a"))
                                                                                                                              +    std::cout << R"(node ["a"] was an integer with value )"sv << **val << "\n";
                                                                                                                              node ["a"] was an integer with value 42
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + const impl::wrap_node<T>* toml::table::get_as(std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key if it is a particular type (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the TOML node or value types.
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key if it was of the given type, or nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + impl::wrap_node<T>* toml::table::get_as(std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key if it is a particular type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the TOML node or value types.
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key if it was of the given type, or nullptr.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + const impl::wrap_node<T>* toml::table::get_as(std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key if it is a particular type (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the TOML node or value types.
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key if it was of the given type, or nullptr.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const table& rhs) +

                                                                                                                              +

                                                                                                                              Prints the table out to a stream as formatted TOML.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.3.0/classtoml_1_1toml__formatter.html b/v3.3.0/classtoml_1_1toml__formatter.html new file mode 100644 index 00000000..b461ff67 --- /dev/null +++ b/v3.3.0/classtoml_1_1toml__formatter.html @@ -0,0 +1,244 @@ + + + + toml::toml_formatter class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::toml_formatter class +

                                                                                                                              +

                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted TOML.

                                                                                                                              + +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "description", "This is some TOML, yo." },
                                                                                                                              +    { "fruit", toml::array{ "apple", "orange", "pear" } },
                                                                                                                              +    { "numbers", toml::array{ 1, 2, 3, 4, 5 } },
                                                                                                                              +    { "table", toml::table{ { "foo", "bar" } } }
                                                                                                                              +};
                                                                                                                              +
                                                                                                                              +// these two lines are equivalent:
                                                                                                                              +std::cout << toml::toml_formatter{ tbl } << "\n";
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              description = "This is some TOML, yo."
                                                                                                                              +fruit = ["apple", "orange", "pear"]
                                                                                                                              +numbers = [1, 2, 3, 4, 5]
                                                                                                                              +
                                                                                                                              +[table]
                                                                                                                              +foo = "bar"
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public static variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + static format_flags default_flags constexpr +
                                                                                                                              +
                                                                                                                              The default flags for a toml_formatter.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + toml_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a TOML formatter and binds it to a TOML object.
                                                                                                                              +
                                                                                                                              + toml_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a TOML formatter and binds it to a toml::parse_result.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + toml_formatter& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as formatted TOML.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + toml_formatter&& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as formatted TOML (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::toml_formatter::toml_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a TOML formatter and binds it to a TOML object.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              sourceThe source TOML object.
                                                                                                                              flagsFormat option flags.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::toml_formatter::toml_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a TOML formatter and binds it to a toml::parse_result.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              resultThe parse result.
                                                                                                                              flagsFormat option flags.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.3.0/classtoml_1_1value.html b/v3.3.0/classtoml_1_1value.html new file mode 100644 index 00000000..90c699c7 --- /dev/null +++ b/v3.3.0/classtoml_1_1value.html @@ -0,0 +1,1064 @@ + + + + toml::value class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              template <typename ValueType>
                                                                                                                              + toml::value class +

                                                                                                                              +

                                                                                                                              A TOML value.

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ValueType

                                                                                                                              The value's native TOML data type. Can be one of:

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Base classes

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + class node +
                                                                                                                              +
                                                                                                                              A TOML node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public types

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using value_arg = /* ... */ +
                                                                                                                              +
                                                                                                                              A type alias for 'value arguments'.
                                                                                                                              +
                                                                                                                              + using value_type = ValueType +
                                                                                                                              +
                                                                                                                              The value's underlying data type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename... Args>
                                                                                                                              + value(Args && ... args) explicit noexcept(…) +
                                                                                                                              +
                                                                                                                              Constructs a toml value.
                                                                                                                              +
                                                                                                                              + value(const value& other) noexcept +
                                                                                                                              +
                                                                                                                              Copy constructor.
                                                                                                                              +
                                                                                                                              + value(const value& other, + value_flags flags) noexcept +
                                                                                                                              +
                                                                                                                              Copy constructor with flags override.
                                                                                                                              +
                                                                                                                              + value(value&& other) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              + value(value&& other, + value_flags flags) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor with flags override.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator=(const value& rhs) -> value& noexcept +
                                                                                                                              +
                                                                                                                              Copy-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(value&& rhs) -> value& noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(value_arg rhs) -> value& noexcept +
                                                                                                                              +
                                                                                                                              Value-assignment operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality and Comparison

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator!=(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(const value& lhs, + value_arg rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<(value_arg lhs, + const value& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value less-than operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator<(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<=(const value& lhs, + value_arg rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator<=(value_arg lhs, + const value& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator<=(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const value& lhs, + value_arg rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value equality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(const value& lhs, + value_arg rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>(value_arg lhs, + const value& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value greater-than operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator>(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(const value& lhs, + value_arg rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(value_arg lhs, + const value& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator>=(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Metadata

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto flags() const -> value_flags noexcept +
                                                                                                                              +
                                                                                                                              Returns the metadata flags associated with this value.
                                                                                                                              +
                                                                                                                              + auto flags(value_flags new_flags) -> value& noexcept +
                                                                                                                              +
                                                                                                                              Sets the metadata flags associated with this value.
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the source region responsible for generating this node during parsing.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Node views

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const toml::path& path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const toml::path& path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) -> node_view<node> +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) const -> node_view<const node> +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + operator node_view<const node>() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node (const overload).
                                                                                                                              +
                                                                                                                              + operator node_view<node>() explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node.
                                                                                                                              +
                                                                                                                              + auto operator[](const toml::path& path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto operator[](const toml::path& path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type casts

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() -> impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() const -> const impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type (const overload).
                                                                                                                              +
                                                                                                                              + auto as_array() -> array* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_array() const -> const array* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_boolean() -> value<bool>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<bool>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_boolean() const -> const value<bool>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<bool>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date() -> value<date>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<date>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date() const -> const value<date>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<date>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date_time() -> value<date_time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<date_time>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date_time() const -> const value<date_time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<date_time>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() -> value<double>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<double>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() const -> const value<double>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<double>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_integer() -> value<int64_t>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<int64_t>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_integer() const -> const value<int64_t>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<int64_t>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_string() -> value<std::string>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<std::string>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_string() const -> const value<std::string>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<std::string>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_table() -> table* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_table() const -> const table* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_time() -> value<time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<time>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_time() const -> const value<time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<time>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type checks

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto is() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node is a specific type.
                                                                                                                              +
                                                                                                                              + auto is_array() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_array_of_tables() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_boolean() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is bool.
                                                                                                                              +
                                                                                                                              + auto is_date() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is toml::date.
                                                                                                                              +
                                                                                                                              + auto is_date_time() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is toml_date_time.
                                                                                                                              +
                                                                                                                              + auto is_floating_point() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is double.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype) const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + node*& first_nonmatch) -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + const node*& first_nonmatch) const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType = void>
                                                                                                                              + auto is_homogeneous() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_integer() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is int64_t.
                                                                                                                              +
                                                                                                                              + auto is_number() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is int64_t or double.
                                                                                                                              +
                                                                                                                              + auto is_string() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is std::string.
                                                                                                                              +
                                                                                                                              + auto is_table() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_time() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is toml::time.
                                                                                                                              +
                                                                                                                              + auto is_value() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true.
                                                                                                                              +
                                                                                                                              + auto type() const -> node_type final noexcept +
                                                                                                                              +
                                                                                                                              Returns the value's node type identifier.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Value retrieval

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto get() & -> value_type& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value.
                                                                                                                              +
                                                                                                                              + auto get() && -> value_type&& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto get() const & -> const value_type& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const overload).
                                                                                                                              +
                                                                                                                              + auto get() const && -> const value_type&& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const rvalue overload).
                                                                                                                              +
                                                                                                                              + operator const value_type&() const & explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const overload).
                                                                                                                              +
                                                                                                                              + operator const value_type&&() && explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const rvalue overload).
                                                                                                                              +
                                                                                                                              + operator value_type&() & explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value.
                                                                                                                              +
                                                                                                                              + operator value_type&&() && explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto operator*() & -> value_type& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value.
                                                                                                                              +
                                                                                                                              + auto operator*() && -> value_type&& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto operator*() const & -> const value_type& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const overload).
                                                                                                                              +
                                                                                                                              + auto operator*() const && -> const value_type&& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const rvalue overload).
                                                                                                                              +
                                                                                                                              + auto operator->() -> value_type* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the underlying value.
                                                                                                                              +
                                                                                                                              + auto operator->() const -> const value_type* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the underlying value (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_exact() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_or(T&& default_value) const -> auto noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the raw value contained by this node, or a default.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Visitation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const value& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the value out to a stream as formatted TOML.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Typedef documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + using toml::value::value_arg = /* ... */ +

                                                                                                                              +

                                                                                                                              A type alias for 'value arguments'.

                                                                                                                              +

                                                                                                                              This differs according to the value's type argument:

                                                                                                                              • ints, floats, booleans: value_type
                                                                                                                              • strings: string_view
                                                                                                                              • everything else: const value_type&
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename... Args> +
                                                                                                                              + toml::value::value(Args && ... args) explicit noexcept(…) +

                                                                                                                              +

                                                                                                                              Constructs a toml value.

                                                                                                                              + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ArgsConstructor argument types.
                                                                                                                              Parameters
                                                                                                                              argsArguments to forward to the internal value's constructor.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator!=(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Inequality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS value.
                                                                                                                              rhsThe RHS value.
                                                                                                                              ReturnsTrue if the values were not of the same type, or did not contain the same value.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator<(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Less-than operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS toml::value.
                                                                                                                              rhsThe RHS toml::value.
                                                                                                                              ReturnsSame value types: + lhs.get() < rhs.get()Different value types: + lhs.type() < rhs.type()
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator<=(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Less-than-or-equal-to operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS toml::value.
                                                                                                                              rhsThe RHS toml::value.
                                                                                                                              ReturnsSame value types: + lhs.get() <= rhs.get()Different value types: + lhs.type() <= rhs.type()
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator==(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Equality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS value.
                                                                                                                              rhsThe RHS value.
                                                                                                                              ReturnsTrue if the values were of the same type and contained the same value.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator>(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Greater-than operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS toml::value.
                                                                                                                              rhsThe RHS toml::value.
                                                                                                                              ReturnsSame value types: + lhs.get() > rhs.get()Different value types: + lhs.type() > rhs.type()
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator>=(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Greater-than-or-equal-to operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS toml::value.
                                                                                                                              rhsThe RHS toml::value.
                                                                                                                              ReturnsSame value types: + lhs.get() >= rhs.get()Different value types: + lhs.type() >= rhs.type()
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + value& toml::value::flags(value_flags new_flags) noexcept +

                                                                                                                              +

                                                                                                                              Sets the metadata flags associated with this value.

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsA reference to the value object.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + bool toml::value::is_homogeneous(node_type ntype) const final noexcept +

                                                                                                                              +

                                                                                                                              Checks if the node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << "homogenous: "sv << arr.is_homogeneous(toml::node_type::none) << "\n";
                                                                                                                              +std::cout << "all floats: "sv << arr.is_homogeneous(toml::node_type::floating_point) << "\n";
                                                                                                                              +std::cout << "all arrays: "sv << arr.is_homogeneous(toml::node_type::array) << "\n";
                                                                                                                              +std::cout << "all ints:   "sv << arr.is_homogeneous(toml::node_type::integer) << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + bool toml::value::is_homogeneous(node_type ntype, + node*& first_nonmatch) final noexcept +

                                                                                                                              +

                                                                                                                              Checks if a node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              first_nonmatchReference to a pointer in which the address of the first non-matching element will be stored if the return value is false.
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]");
                                                                                                                              +toml::array& arr = *cfg["arr"].as_array();
                                                                                                                              +
                                                                                                                              +toml::node* nonmatch{};
                                                                                                                              +if (arr.is_homogeneous(toml::node_type::integer, nonmatch))
                                                                                                                              +    std::cout << "array was homogeneous"sv << "\n";
                                                                                                                              +else
                                                                                                                              +    std::cout << "array was not homogeneous!\n"
                                                                                                                              +    << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
                                                                                                                              array was not homogeneous!
                                                                                                                              +first non-match was a floating-point at line 1, column 18
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + node_type toml::value::type() const final noexcept +

                                                                                                                              +

                                                                                                                              Returns the value's node type identifier.

                                                                                                                              + + + + + + + +
                                                                                                                              Returns

                                                                                                                              One of:

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + value_type* toml::value::operator->() noexcept +

                                                                                                                              +

                                                                                                                              Returns a pointer to the underlying value.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + const value_type* toml::value::operator->() const noexcept +

                                                                                                                              +

                                                                                                                              Returns a pointer to the underlying value (const overload).

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const value& rhs) +

                                                                                                                              +

                                                                                                                              Prints the value out to a stream as formatted TOML.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.3.0/classtoml_1_1yaml__formatter.html b/v3.3.0/classtoml_1_1yaml__formatter.html new file mode 100644 index 00000000..70e874e5 --- /dev/null +++ b/v3.3.0/classtoml_1_1yaml__formatter.html @@ -0,0 +1,244 @@ + + + + toml::yaml_formatter class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::yaml_formatter class +

                                                                                                                              +

                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted YAML.

                                                                                                                              + +
                                                                                                                              auto some_toml = toml::parse(R"(
                                                                                                                              +    [fruit]
                                                                                                                              +    apple.color = "red"
                                                                                                                              +    apple.taste.sweet = true
                                                                                                                              +
                                                                                                                              +    [fruit.apple.texture]
                                                                                                                              +    smooth = true
                                                                                                                              +)"sv);
                                                                                                                              +std::cout << toml::yaml_formatter{ some_toml } << "\n";
                                                                                                                              fruit:
                                                                                                                              +  apple:
                                                                                                                              +    color: red
                                                                                                                              +    taste:
                                                                                                                              +      sweet: true
                                                                                                                              +    texture:
                                                                                                                              +      smooth: true
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public static variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + static format_flags default_flags constexpr +
                                                                                                                              +
                                                                                                                              The default flags for a yaml_formatter.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + yaml_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a YAML formatter and binds it to a TOML object.
                                                                                                                              +
                                                                                                                              + yaml_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a YAML formatter and binds it to a toml::parse_result.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + yaml_formatter& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as YAML.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + yaml_formatter&& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as YAML (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::yaml_formatter::yaml_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a YAML formatter and binds it to a TOML object.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              sourceThe source TOML object.
                                                                                                                              flagsFormat option flags.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::yaml_formatter::yaml_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a YAML formatter and binds it to a toml::parse_result.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              resultThe parse result.
                                                                                                                              flagsFormat option flags.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.3.0/concepts.html b/v3.3.0/concepts.html new file mode 100644 index 00000000..cd148de3 --- /dev/null +++ b/v3.3.0/concepts.html @@ -0,0 +1,138 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Concepts

                                                                                                                              +
                                                                                                                                +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.3.0/favicon.ico b/v3.3.0/favicon.ico new file mode 100644 index 00000000..518213d1 Binary files /dev/null and b/v3.3.0/favicon.ico differ diff --git a/v3.3.0/files.html b/v3.3.0/files.html new file mode 100644 index 00000000..75a2e89c --- /dev/null +++ b/v3.3.0/files.html @@ -0,0 +1,138 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Files

                                                                                                                              +
                                                                                                                                +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.3.0/group__configuration.html b/v3.3.0/group__configuration.html new file mode 100644 index 00000000..ee201a92 --- /dev/null +++ b/v3.3.0/group__configuration.html @@ -0,0 +1,346 @@ + + + + Library Configuration module | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + Library Configuration module

                                                                                                                              +

                                                                                                                              Preprocessor macros for configuring library functionality.

                                                                                                                              + +

                                                                                                                              Define these before including toml++ to alter the way it functions.

                                                                                                                              +
                                                                                                                              +

                                                                                                                              Defines

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + #define TOML_ASSERT(expr) +
                                                                                                                              +
                                                                                                                              Sets the assert function used by the library.
                                                                                                                              +
                                                                                                                              + #define TOML_CALLCONV +
                                                                                                                              +
                                                                                                                              Calling convention to apply to exported free/static functions.
                                                                                                                              +
                                                                                                                              + #define TOML_CONFIG_HEADER +
                                                                                                                              +
                                                                                                                              An additional header to include before any other toml++ header files.
                                                                                                                              +
                                                                                                                              + #define TOML_ENABLE_FLOAT16 +
                                                                                                                              +
                                                                                                                              Enable support for the built-in _Float16 type.
                                                                                                                              +
                                                                                                                              + #define TOML_ENABLE_FORMATTERS +
                                                                                                                              +
                                                                                                                              Sets whether the various formatter classes are enabled.
                                                                                                                              +
                                                                                                                              + #define TOML_ENABLE_PARSER +
                                                                                                                              +
                                                                                                                              Sets whether the parser-related parts of the library are included.
                                                                                                                              +
                                                                                                                              + #define TOML_ENABLE_UNRELEASED_FEATURES +
                                                                                                                              +
                                                                                                                              Enables support for unreleased TOML language features not yet part of a numbered version.
                                                                                                                              +
                                                                                                                              + #define TOML_ENABLE_WINDOWS_COMPAT +
                                                                                                                              +
                                                                                                                              Enables the use of wide strings (wchar_t, std::wstring) in various places throughout the library when building for Windows.
                                                                                                                              +
                                                                                                                              + #define TOML_EXCEPTIONS +
                                                                                                                              +
                                                                                                                              Sets whether the library uses exceptions to report parsing failures.
                                                                                                                              +
                                                                                                                              + #define TOML_EXPORTED_CLASS +
                                                                                                                              +
                                                                                                                              An 'export' annotation to add to classes.
                                                                                                                              +
                                                                                                                              + #define TOML_EXPORTED_FREE_FUNCTION +
                                                                                                                              +
                                                                                                                              An 'export' annotation to add to free functions.
                                                                                                                              +
                                                                                                                              + #define TOML_EXPORTED_MEMBER_FUNCTION +
                                                                                                                              +
                                                                                                                              An 'export' annotation to add to non-static class member functions.
                                                                                                                              +
                                                                                                                              + #define TOML_EXPORTED_STATIC_FUNCTION +
                                                                                                                              +
                                                                                                                              An 'export' annotation to add to static class member functions.
                                                                                                                              +
                                                                                                                              + #define TOML_HEADER_ONLY +
                                                                                                                              +
                                                                                                                              Sets whether the library is entirely inline.
                                                                                                                              +
                                                                                                                              + #define TOML_IMPLEMENTATION +
                                                                                                                              +
                                                                                                                              Enables the library's implementation when TOML_HEADER_ONLY is disabled.
                                                                                                                              +
                                                                                                                              + #define TOML_OPTIONAL_TYPE +
                                                                                                                              +
                                                                                                                              Overrides the optional<T> type used by the library.
                                                                                                                              +
                                                                                                                              + #define TOML_SMALL_FLOAT_TYPE +
                                                                                                                              +
                                                                                                                              If your codebase has an additional 'small' float type (e.g. half-precision), this tells toml++ about it.
                                                                                                                              +
                                                                                                                              + #define TOML_SMALL_INT_TYPE +
                                                                                                                              +
                                                                                                                              If your codebase has an additional 'small' integer type (e.g. 24-bits), this tells toml++ about it.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Define documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_ASSERT(expr) +

                                                                                                                              +

                                                                                                                              Sets the assert function used by the library.

                                                                                                                              +

                                                                                                                              Defaults to the standard C assert().

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_CALLCONV +

                                                                                                                              +

                                                                                                                              Calling convention to apply to exported free/static functions.

                                                                                                                              +

                                                                                                                              Not defined by default (let the compiler decide).

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_CONFIG_HEADER +

                                                                                                                              +

                                                                                                                              An additional header to include before any other toml++ header files.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_ENABLE_FLOAT16 +

                                                                                                                              +

                                                                                                                              Enable support for the built-in _Float16 type.

                                                                                                                              +

                                                                                                                              Defaults to 0.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_ENABLE_FORMATTERS +

                                                                                                                              +

                                                                                                                              Sets whether the various formatter classes are enabled.

                                                                                                                              +

                                                                                                                              Defaults to 1.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_ENABLE_PARSER +

                                                                                                                              +

                                                                                                                              Sets whether the parser-related parts of the library are included.

                                                                                                                              +

                                                                                                                              Defaults to 1.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_ENABLE_UNRELEASED_FEATURES +

                                                                                                                              +

                                                                                                                              Enables support for unreleased TOML language features not yet part of a numbered version.

                                                                                                                              +

                                                                                                                              Defaults to 0.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_ENABLE_WINDOWS_COMPAT +

                                                                                                                              +

                                                                                                                              Enables the use of wide strings (wchar_t, std::wstring) in various places throughout the library when building for Windows.

                                                                                                                              +

                                                                                                                              Defaults to 1 when building for Windows, 0 otherwise. Has no effect when building for anything other than Windows.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_EXCEPTIONS +

                                                                                                                              +

                                                                                                                              Sets whether the library uses exceptions to report parsing failures.

                                                                                                                              +

                                                                                                                              Defaults to 1 or 0 according to your compiler's exception mode.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_EXPORTED_CLASS +

                                                                                                                              +

                                                                                                                              An 'export' annotation to add to classes.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_EXPORTED_FREE_FUNCTION +

                                                                                                                              +

                                                                                                                              An 'export' annotation to add to free functions.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_EXPORTED_MEMBER_FUNCTION +

                                                                                                                              +

                                                                                                                              An 'export' annotation to add to non-static class member functions.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_EXPORTED_STATIC_FUNCTION +

                                                                                                                              +

                                                                                                                              An 'export' annotation to add to static class member functions.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_HEADER_ONLY +

                                                                                                                              +

                                                                                                                              Sets whether the library is entirely inline.

                                                                                                                              +

                                                                                                                              Defaults to 1.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_IMPLEMENTATION +

                                                                                                                              +

                                                                                                                              Enables the library's implementation when TOML_HEADER_ONLY is disabled.

                                                                                                                              +

                                                                                                                              Not defined by default. Meaningless when TOML_HEADER_ONLY is enabled.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_OPTIONAL_TYPE +

                                                                                                                              +

                                                                                                                              Overrides the optional<T> type used by the library.

                                                                                                                              +

                                                                                                                              Not defined by default (use std::optional).

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_SMALL_FLOAT_TYPE +

                                                                                                                              +

                                                                                                                              If your codebase has an additional 'small' float type (e.g. half-precision), this tells toml++ about it.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_SMALL_INT_TYPE +

                                                                                                                              +

                                                                                                                              If your codebase has an additional 'small' integer type (e.g. 24-bits), this tells toml++ about it.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.3.0/index.html b/v3.3.0/index.html new file mode 100644 index 00000000..24450de1 --- /dev/null +++ b/v3.3.0/index.html @@ -0,0 +1,428 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + banner + +

                                                                                                                              Features

                                                                                                                              • Header-only (optional!)
                                                                                                                              • Supports the latest TOML release (v1.0.0), plus optional support for some unreleased TOML features
                                                                                                                              • Passes all tests in the toml-test suite
                                                                                                                              • Supports serializing to JSON and YAML
                                                                                                                              • Proper UTF-8 handling (incl. BOM)
                                                                                                                              • C++17 (plus some C++20 features where available, e.g. experimental support for char8_t strings)
                                                                                                                              • Doesn't require RTTI
                                                                                                                              • Works with or without exceptions
                                                                                                                              • Tested on Clang (6+), GCC (7+) and MSVC (VS2019)
                                                                                                                              • Tested on x64, x86 and ARM

                                                                                                                              API documentation

                                                                                                                              You're looking at it! Browse the docs using the links at the top of the page. You can search from anywhere by pressing the TAB key.

                                                                                                                              Basic examples

                                                                                                                              Parsing files

                                                                                                                              Call toml::parse_file() and work with the toml::table you get back, or handle any toml::parse_error that gets thrown:

                                                                                                                              #include <iostream>
                                                                                                                              +#include <toml++/toml.h>
                                                                                                                              +
                                                                                                                              +int main(int argc, char** argv)
                                                                                                                              +{
                                                                                                                              +    toml::table tbl;
                                                                                                                              +    try
                                                                                                                              +    {
                                                                                                                              +        tbl = toml::parse_file(argv[1]);
                                                                                                                              +            std::cout << tbl << "\n";
                                                                                                                              +    }
                                                                                                                              +    catch (const toml::parse_error& err)
                                                                                                                              +    {
                                                                                                                              +        std::cerr << "Parsing failed:\n" << err << "\n";
                                                                                                                              +        return 1;
                                                                                                                              +    }
                                                                                                                              +
                                                                                                                              +    return 0;
                                                                                                                              +}

                                                                                                                              Parsing strings and iostreams

                                                                                                                              Call toml::parse() and work with the toml::table you get back, or handle any toml::parse_error that gets thrown:

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              #include <iostream> +#include <sstream> +#include <toml++/toml.h> +using namespace std::string_view_literals; + +int main() +{ + static constexpr std::string_view some_toml = R"( + [library] + name = "toml++" + authors = ["Mark Gillard <mark.gillard@outlook.com.au>"] + cpp = 17 + )"sv; + + try + { + // parse directly from a string view: + { + toml::table tbl = toml::parse(some_toml); + std::cout << tbl << "\n"; + } + + // parse from a string stream: + { + std::stringstream ss{ std::string{ some_toml } }; + toml::table tbl = toml::parse(ss); + std::cout << tbl << "\n"; + } + } + catch (const toml::parse_error& err) + { + std::cerr << "Parsing failed:\n" << err << "\n"; + return 1; + } + + return 0; +}
                                                                                                                              [library]
                                                                                                                              +authors = [ 'Mark Gillard <mark.gillard@outlook.com.au>' ]
                                                                                                                              +cpp = 17
                                                                                                                              +name = 'toml++'
                                                                                                                              +
                                                                                                                              +[library]
                                                                                                                              +authors = [ 'Mark Gillard <mark.gillard@outlook.com.au>' ]
                                                                                                                              +cpp = 17
                                                                                                                              +name = 'toml++'

                                                                                                                              Handling errors without exceptions

                                                                                                                              Can't (or won't) use exceptions? That's fine too. You can disable exceptions in your compiler flags and/or explicitly disable the library's use of them by setting the option TOML_EXCEPTIONS to 0. In either case, the parsing functions return a toml::parse_result instead of a toml::table:

                                                                                                                              #include <iostream>
                                                                                                                              +
                                                                                                                              +#define TOML_EXCEPTIONS 0 // only necessary if you've left them enabled in your compiler
                                                                                                                              +#include <toml++/toml.h>
                                                                                                                              +
                                                                                                                              +int main()
                                                                                                                              +{
                                                                                                                              +    toml::parse_result result = toml::parse_file("configuration.toml");
                                                                                                                              +    if (!result)
                                                                                                                              +    {
                                                                                                                              +        std::cerr << "Parsing failed:\n" << result.error() << "\n";
                                                                                                                              +        return 1;
                                                                                                                              +    }
                                                                                                                              +
                                                                                                                              +    do_stuff_with_your_config(std::move(result).table()); // 'steal' the table from the result
                                                                                                                              +    return 0;
                                                                                                                              +}

                                                                                                                              Custom error formatting

                                                                                                                              The examples above use an overloaded operator<< with ostreams to print basic error messages, and look like this:

                                                                                                                              Error while parsing key: expected bare key starting character or string delimiter, saw '?'
                                                                                                                              +    (error occurred at line 2, column 5)

                                                                                                                              The library doesn't natively support error colouring in TTY environments, but instead provides the requisite information for you to build that and any other custom error handling yourself if necessary via toml::parse_error's source() and description() members:

                                                                                                                              toml::table tbl;
                                                                                                                              +try
                                                                                                                              +{
                                                                                                                              +    tbl = toml::parse_file("configuration.toml");
                                                                                                                              +}
                                                                                                                              +catch (const toml::parse_error& err)
                                                                                                                              +{
                                                                                                                              +    std::cerr
                                                                                                                              +        << "Error parsing file '" << *err.source().path
                                                                                                                              +        << "':\n" << err.description()
                                                                                                                              +        << "\n  (" << err.source().begin << ")\n";
                                                                                                                              +    return 1;
                                                                                                                              +}

                                                                                                                              Working with TOML data

                                                                                                                              A TOML document is a tree of values, arrays and tables, represented as the toml::value, toml::array and toml::table, respectively. All three inherit from toml::node, and can be easily accessed via the toml::node_view:

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              #include <iostream> +#include <toml++/toml.h> +using namespace std::string_view_literals; + +int main() +{ + static constexpr auto source = R"( + str = "hello world" + + numbers = [ 1, 2, 3, "four", 5.0 ] + vegetables = [ "tomato", "onion", "mushroom", "lettuce" ] + minerals = [ "quartz", "iron", "copper", "diamond" ] + + [animals] + cats = [ "tiger", "lion", "puma" ] + birds = [ "macaw", "pigeon", "canary" ] + fish = [ "salmon", "trout", "carp" ] + + )"sv; + toml::table tbl = toml::parse(source); + + // different ways of directly querying data + std::optional<std::string_view> str1 = tbl["str"].value<std::string_view>(); + std::optional<std::string> str2 = tbl["str"].value<std::string>(); + std::string_view str3 = tbl["str"].value_or(""sv); + std::string& str4 = tbl["str"].ref<std::string>(); // ~~dangerous~~ + + std::cout << *str1 << "\n"; + std::cout << *str2 << "\n"; + std::cout << str3 << "\n"; + std::cout << str4 << "\n"; + + // get a toml::node_view of the element 'numbers' using operator[] + auto numbers = tbl["numbers"]; + std::cout << "table has 'numbers': " << !!numbers << "\n"; + std::cout << "numbers is an: " << numbers.type() << "\n"; + std::cout << "numbers: " << numbers << "\n"; + + // get the underlying array object to do some more advanced stuff + if (toml::array* arr = numbers.as_array()) + { + // visitation with for_each() helps deal with heterogeneous data + arr->for_each([](auto&& el) + { + if constexpr (toml::is_number<decltype(el)>) + (*el)++; + else if constexpr (toml::is_string<decltype(el)>) + el = "five"sv; + }); + + // arrays are very similar to std::vector + arr->push_back(7); + arr->emplace_back<toml::array>(8, 9); + std::cout << "numbers: " << numbers << "\n"; + } + + // node-views can be chained to quickly query deeper + std::cout << "cats: " << tbl["animals"]["cats"] << "\n"; + std::cout << "fish[1]: " << tbl["animals"]["fish"][1] << "\n"; + + // can also be retrieved via absolute path + std::cout << "cats: " << tbl.at_path("animals.cats") << "\n"; + std::cout << "fish[1]: " << tbl.at_path("animals.fish[1]") << "\n"; + + // ...even if the element doesn't exist + std::cout << "dinosaurs: " << tbl["animals"]["dinosaurs"] << "\n"; //no dinosaurs :( + + return 0; +}
                                                                                                                              hello world
                                                                                                                              +hello world
                                                                                                                              +hello world
                                                                                                                              +hello world
                                                                                                                              +table has 'numbers': 1
                                                                                                                              +numbers is an: array
                                                                                                                              +numbers: [ 1, 2, 3, 'four', 5.0 ]
                                                                                                                              +numbers: [ 2, 3, 4, 'five', 6.0, 7, [ 8, 9 ] ]
                                                                                                                              +cats: [ 'tiger', 'lion', 'puma' ]
                                                                                                                              +fish[1]: 'trout'
                                                                                                                              +dinosaurs:

                                                                                                                              Serializing as TOML, JSON and YAML

                                                                                                                              All toml++ data types have overloaded operator<< for ostreams, so 'serializing' a set of TOML data to actual TOML is done just by printing it to an ostream. Converting it to JSON and YAML is done in much the same way, but via a toml::json_formatter and toml::yaml_formatter.

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              #include <iostream> +#include <toml++/toml.h> + +int main() +{ + auto tbl = toml::table{ + { "lib", "toml++" }, + { "cpp", toml::array{ 17, 20, "and beyond" } }, + { "toml", toml::array{ "1.0.0", "and beyond" } }, + { "repo", "https://github.com/marzer/tomlplusplus/" }, + { "author", toml::table{ + { "name", "Mark Gillard" }, + { "github", "https://github.com/marzer" }, + { "twitter", "https://twitter.com/marzer8789" } + } + }, + }; + + // serializing as TOML + std::cout << "###### TOML ######" << "\n\n"; + std::cout << tbl << "\n\n"; + + // serializing as JSON using toml::json_formatter: + std::cout << "###### JSON ######" << "\n\n"; + std::cout << toml::json_formatter{ tbl } << "\n\n"; + + // serializing as YAML using toml::yaml_formatter: + std::cout << "###### YAML ######" << "\n\n"; + std::cout << toml::yaml_formatter{ tbl } << "\n\n"; + + return 0; +}
                                                                                                                              ###### TOML ######
                                                                                                                              +
                                                                                                                              +cpp = [ 17, 20, 'and beyond' ]
                                                                                                                              +lib = 'toml++'
                                                                                                                              +repo = 'https://github.com/marzer/tomlplusplus/'
                                                                                                                              +toml = [ '1.0.0', 'and beyond' ]
                                                                                                                              +
                                                                                                                              +[author]
                                                                                                                              +github = 'https://github.com/marzer'
                                                                                                                              +name = 'Mark Gillard'
                                                                                                                              +twitter = 'https://twitter.com/marzer8789'
                                                                                                                              +
                                                                                                                              +###### JSON ######
                                                                                                                              +
                                                                                                                              +{
                                                                                                                              +    "author" : {
                                                                                                                              +        "github" : "https://github.com/marzer",
                                                                                                                              +        "name" : "Mark Gillard",
                                                                                                                              +        "twitter" : "https://twitter.com/marzer8789"
                                                                                                                              +    },
                                                                                                                              +    "cpp" : [
                                                                                                                              +        17,
                                                                                                                              +        20,
                                                                                                                              +        "and beyond"
                                                                                                                              +    ],
                                                                                                                              +    "lib" : "toml++",
                                                                                                                              +    "repo" : "https://github.com/marzer/tomlplusplus/",
                                                                                                                              +    "toml" : [
                                                                                                                              +        "1.0.0",
                                                                                                                              +        "and beyond"
                                                                                                                              +    ]
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +###### YAML ######
                                                                                                                              +
                                                                                                                              +author:
                                                                                                                              +  github: 'https://github.com/marzer'
                                                                                                                              +  name: 'Mark Gillard'
                                                                                                                              +  twitter: 'https://twitter.com/marzer8789'
                                                                                                                              +cpp:
                                                                                                                              +  - 17
                                                                                                                              +  - 20
                                                                                                                              +  - 'and beyond'
                                                                                                                              +lib: 'toml++'
                                                                                                                              +repo: 'https://github.com/marzer/tomlplusplus/'
                                                                                                                              +toml:
                                                                                                                              +  - '1.0.0'
                                                                                                                              +  - 'and beyond'

                                                                                                                              Speeding up compilation

                                                                                                                              Because toml++ is a header-only library of nontrivial size you might find that compilation times noticeably increase after you add it to your project, especially if you add the library's header somewhere that's visible from a large number of translation units. You can counter this by disabling header-only mode and explicitly controlling where the library's implementation is compiled.

                                                                                                                              Step 1: Set TOML_HEADER_ONLY to 0 before including toml++

                                                                                                                              This must be the same everywhere, so either set it as a global #define in your build system, or do it manually before including toml++ in some global header that's used everywhere in your project:

                                                                                                                              // global_header_that_includes_toml++.h
                                                                                                                              +
                                                                                                                              +#define TOML_HEADER_ONLY 0
                                                                                                                              +#include <toml.hpp>

                                                                                                                              Step 2: Define TOML_IMPLEMENTATION before including toml++ in one specific translation unit

                                                                                                                              // some_code_file.cpp
                                                                                                                              +
                                                                                                                              +#define TOML_IMPLEMENTATION
                                                                                                                              +#include "global_header_that_includes_toml++.h"

                                                                                                                              Bonus Step: Disable any library features you don't need

                                                                                                                              Some library features can be disabled wholesale so you can avoid paying their the compilation cost if you don't need them. For example, if all you need to do is serialize some code-generated TOML and don't actually need the parser at all you, can set TOML_ENABLE_PARSER to 0 to disable the parser altogether. This can yield fairly significant compilation speedups since the parser accounts for a good chunk of the library's code.

                                                                                                                              Adding toml++ to your project

                                                                                                                              The library comes in two flavours, 🍦️ Single-header and 🍨️ Regular. The API is the same for both.

                                                                                                                              "The old fashioned way"

                                                                                                                              🍦️ Single-header flavour

                                                                                                                              1. Drop toml.hpp wherever you like in your source tree
                                                                                                                              2. There is no step two

                                                                                                                              🍨️ Regular flavour

                                                                                                                              1. Clone the repository from GitHub
                                                                                                                              2. Add tomlplusplus/include to your include paths
                                                                                                                              3. #include <toml++/toml.h>

                                                                                                                              Conan

                                                                                                                              Add tomlplusplus/3.3.0 to your conanfile.

                                                                                                                              DDS

                                                                                                                              Add tomlpp to your package.json5, e.g.:

                                                                                                                              depends: [
                                                                                                                              +    'tomlpp^3.3.0',
                                                                                                                              +]

                                                                                                                              Meson

                                                                                                                              You can install the wrap with:

                                                                                                                              meson wrap install tomlplusplus

                                                                                                                              After that, you can use it like a regular dependency:

                                                                                                                              tomlplusplus_dep = dependency('tomlplusplus')

                                                                                                                              You can also add it as a subproject directly.

                                                                                                                              Tipi.build

                                                                                                                              tomlplusplus can be easily used in tipi.build projects by adding the following entry to your .tipi/deps:

                                                                                                                              {
                                                                                                                              +    "marzer/tomlplusplus": { }
                                                                                                                              +}

                                                                                                                              Vcpkg

                                                                                                                              vcpkg install tomlplusplus

                                                                                                                              CMake FetchContent

                                                                                                                              include(FetchContent)
                                                                                                                              +FetchContent_Declare(
                                                                                                                              +    tomlplusplus
                                                                                                                              +    GIT_REPOSITORY https://github.com/marzer/tomlplusplus.git
                                                                                                                              +    GIT_TAG        v3.3.0
                                                                                                                              +)
                                                                                                                              +FetchContent_MakeAvailable(tomlplusplus)

                                                                                                                              Git submodules

                                                                                                                              git submodule add --depth 1 https://github.com/marzer/tomlplusplus.git tomlplusplus

                                                                                                                              Other environments and package managers

                                                                                                                              The C++ tooling ecosystem is a fractal nightmare of unbridled chaos so naturally I'm not up-to-speed with all of the available packaging and integration options. I'm always happy to see new ones supported, though! If there's some integration you'd like to see and have the technical know-how to make it happen, feel free to make a pull request.

                                                                                                                              Special mention: Python

                                                                                                                              There exists a python wrapper library built around toml++ called pytomlpp which is, at the time of writing, one of only two natively-compiled TOML libraries available for python, and thus one of the fastest options available:

                                                                                                                              Parsing data.toml 5000 times:
                                                                                                                              +    pytomlpp:  0.694 s
                                                                                                                              +    rtoml:     0.871 s ( 1.25x)
                                                                                                                              +    tomli:     2.625 s ( 3.78x)
                                                                                                                              +    toml:      5.642 s ( 8.12x)
                                                                                                                              +    qtoml:     7.760 s (11.17x)
                                                                                                                              +    tomlkit:  32.708 s (47.09x)

                                                                                                                              Install it using pip:

                                                                                                                              pip install pytomlpp

                                                                                                                              Note that I'm not the owner of that project, so if you wish to report a bug relating to the python implementation please do so at their repository, not on the main toml++ one.

                                                                                                                              Library configuration options

                                                                                                                              The library exposes a number of configuration options in the form of compiler #defines. Things like changing the optional<T> type, disabling header-only mode, et cetera. The full list of configurables can be found on the Library Configuration page.

                                                                                                                              Contributing

                                                                                                                              Contributions are very welcome! Either by reporting issues or submitting pull requests. If you wish to submit a pull request, please see CONTRIBUTING for all the details you need to get going.

                                                                                                                              License

                                                                                                                              toml++ is licensed under the terms of the MIT license - see LICENSE.

                                                                                                                              If you're using the single-header version of the library you don't need to explicitly distribute the license file; it is embedded in the preamble at the top of the header.

                                                                                                                              Contacting the author

                                                                                                                              For bug reports and feature requests please use the Github Issues system. For anything else you're welcome to reach out via other means. In order of likely response speed:

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.3.0/logo.svg b/v3.3.0/logo.svg new file mode 100644 index 00000000..5941d793 --- /dev/null +++ b/v3.3.0/logo.svg @@ -0,0 +1,15 @@ + + + + + + + \ No newline at end of file diff --git a/v3.3.0/modules.html b/v3.3.0/modules.html new file mode 100644 index 00000000..66a9e011 --- /dev/null +++ b/v3.3.0/modules.html @@ -0,0 +1,139 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Modules

                                                                                                                              + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.3.0/namespaces.html b/v3.3.0/namespaces.html new file mode 100644 index 00000000..95b877ec --- /dev/null +++ b/v3.3.0/namespaces.html @@ -0,0 +1,144 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Namespaces

                                                                                                                              +
                                                                                                                                +
                                                                                                                              • + namespace toml The root namespace for all toml++ functions and types. +
                                                                                                                                  +
                                                                                                                                • namespace literals inline Convenience literal operators for working with toml++.
                                                                                                                                • +
                                                                                                                                +
                                                                                                                              • +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.3.0/namespacetoml.html b/v3.3.0/namespacetoml.html new file mode 100644 index 00000000..3acaeed8 --- /dev/null +++ b/v3.3.0/namespacetoml.html @@ -0,0 +1,1266 @@ + + + + toml namespace | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml namespace +

                                                                                                                              +

                                                                                                                              The root namespace for all toml++ functions and types.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Namespaces

                                                                                                                              +
                                                                                                                              +
                                                                                                                              namespace literals inline
                                                                                                                              +
                                                                                                                              Convenience literal operators for working with toml++.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Classes

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + class array +
                                                                                                                              +
                                                                                                                              A TOML array.
                                                                                                                              +
                                                                                                                              + struct date +
                                                                                                                              +
                                                                                                                              A local date.
                                                                                                                              +
                                                                                                                              + struct date_time +
                                                                                                                              +
                                                                                                                              A date-time.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + struct inserter +
                                                                                                                              +
                                                                                                                              Helper class for suppressing move-construction in single-argument array constructors.
                                                                                                                              +
                                                                                                                              + class json_formatter +
                                                                                                                              +
                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted JSON.
                                                                                                                              +
                                                                                                                              + class key +
                                                                                                                              +
                                                                                                                              A key parsed from a TOML document.
                                                                                                                              +
                                                                                                                              + class node +
                                                                                                                              +
                                                                                                                              A TOML node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ViewedType>
                                                                                                                              + class node_view +
                                                                                                                              +
                                                                                                                              A view of a node.
                                                                                                                              +
                                                                                                                              + class parse_error +
                                                                                                                              +
                                                                                                                              An error generated when parsing fails.
                                                                                                                              +
                                                                                                                              + class parse_result +
                                                                                                                              +
                                                                                                                              The result of a parsing operation.
                                                                                                                              +
                                                                                                                              + class path +
                                                                                                                              +
                                                                                                                              A TOML path.
                                                                                                                              +
                                                                                                                              + class path_component +
                                                                                                                              +
                                                                                                                              Represents a single component of a complete 'TOML-path': either a key or an array index.
                                                                                                                              +
                                                                                                                              + struct source_position +
                                                                                                                              +
                                                                                                                              A source document line-and-column pair.
                                                                                                                              +
                                                                                                                              + struct source_region +
                                                                                                                              +
                                                                                                                              A source document region.
                                                                                                                              +
                                                                                                                              + class table +
                                                                                                                              +
                                                                                                                              A TOML table.
                                                                                                                              +
                                                                                                                              + struct time +
                                                                                                                              +
                                                                                                                              A local time-of-day.
                                                                                                                              +
                                                                                                                              + struct time_offset +
                                                                                                                              +
                                                                                                                              A timezone offset.
                                                                                                                              +
                                                                                                                              + class toml_formatter +
                                                                                                                              +
                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted TOML.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ValueType>
                                                                                                                              + class value +
                                                                                                                              +
                                                                                                                              A TOML value.
                                                                                                                              +
                                                                                                                              + class yaml_formatter +
                                                                                                                              +
                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted YAML.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Enums

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + enum class format_flags: uint64_t { none, + quote_dates_and_times = (1ull << 0), + quote_infinities_and_nans = (1ull << 1), + allow_literal_strings = (1ull << 2), + allow_multi_line_strings = (1ull << 3), + allow_real_tabs_in_strings = (1ull << 4), + allow_unicode_strings = (1ull << 5), + allow_binary_integers = (1ull << 6), + allow_octal_integers = (1ull << 7), + allow_hexadecimal_integers = (1ull << 8), + indent_sub_tables = (1ull << 9), + indent_array_elements = (1ull << 10), + indentation = indent_sub_tables | indent_array_elements, + relaxed_float_precision = (1ull << 11), + terse_key_value_pairs = (1ull << 12) } +
                                                                                                                              +
                                                                                                                              Format flags for modifying how TOML data is printed to streams.
                                                                                                                              +
                                                                                                                              + enum class node_type: uint8_t { none, + table, + array, + string, + integer, + floating_point, + boolean, + date, + time, + date_time } +
                                                                                                                              +
                                                                                                                              TOML node type identifiers.
                                                                                                                              +
                                                                                                                              + enum class path_component_type: uint8_t { key = 0x1, + array_index = 0x2 } +
                                                                                                                              +
                                                                                                                              Indicates type of path component, either a key, an index in an array, or invalid.
                                                                                                                              +
                                                                                                                              + enum class value_flags: uint16_t { none, + format_as_binary = 1, + format_as_octal = 2, + format_as_hexadecimal = 3 } +
                                                                                                                              +
                                                                                                                              Metadata associated with TOML values.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Typedefs

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using array_iterator = /* ... */ +
                                                                                                                              +
                                                                                                                              A RandomAccessIterator for iterating over elements in a toml::array.
                                                                                                                              +
                                                                                                                              + using const_array_iterator = /* ... */ +
                                                                                                                              +
                                                                                                                              A RandomAccessIterator for iterating over const elements in a toml::array.
                                                                                                                              +
                                                                                                                              + using const_table_iterator = /* ... */ +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over const key-value pairs in a toml::table.
                                                                                                                              +
                                                                                                                              + using default_formatter = toml_formatter +
                                                                                                                              +
                                                                                                                              The 'default' formatter used by TOML objects when they are printed to a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + using inserted_type_of = /* ... */ +
                                                                                                                              +
                                                                                                                              Metafunction for determining which node type would be constructed if an object of this type was inserted into a toml::table or toml::array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + using optional = std::optional<T> +
                                                                                                                              +
                                                                                                                              The 'optional' type used throughout the library.
                                                                                                                              +
                                                                                                                              + using source_index = uint32_t +
                                                                                                                              +
                                                                                                                              The integer type used to tally line numbers and columns.
                                                                                                                              +
                                                                                                                              + using source_path_ptr = std::shared_ptr<const std::string> +
                                                                                                                              +
                                                                                                                              A pointer to a shared string resource containing a source path.
                                                                                                                              +
                                                                                                                              + using table_iterator = /* ... */ +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over key-value pairs in a toml::table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(node& root, + std::string_view path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the node matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const node& root, + std::string_view path) -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the node matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(node& root, + std::wstring_view path) -> node_view<node> +
                                                                                                                              +
                                                                                                                              Returns a view of the node matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const node& root, + std::wstring_view path) -> node_view<const node> +
                                                                                                                              +
                                                                                                                              Returns a const view of the node matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(node& root, + const toml::path& path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the node matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const node& root, + const toml::path& path) -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the node matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto operator""_toml(const char* str, + size_t len) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses TOML data from a string literal.
                                                                                                                              +
                                                                                                                              + auto operator""_toml(const char8_t* str, + size_t len) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses TOML data from a UTF-8 string literal.
                                                                                                                              +
                                                                                                                              + auto operator""_tpath(const char* str, + size_t len) -> path +
                                                                                                                              +
                                                                                                                              Parses a TOML path from a string literal.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char>
                                                                                                                              + auto operator<<(std::basic_ostream<Char>& lhs, + node_type rhs) -> std::basic_ostream<Char>& +
                                                                                                                              +
                                                                                                                              Pretty-prints the value of a node_type to a stream.
                                                                                                                              +
                                                                                                                              + auto parse(std::string_view doc, + std::string_view source_path = {}) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::string_view doc, + std::string&& source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::u8string_view doc, + std::string_view source_path = {}) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a char8_t string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::u8string_view doc, + std::string&& source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a char8_t string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::string_view doc, + std::wstring_view source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::istream& doc, + std::wstring_view source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a stream.
                                                                                                                              +
                                                                                                                              + auto parse(std::u8string_view doc, + std::wstring_view source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a char8_t string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::istream& doc, + std::string_view source_path = {}) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a stream.
                                                                                                                              +
                                                                                                                              + auto parse(std::istream& doc, + std::string&& source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a stream.
                                                                                                                              +
                                                                                                                              + auto parse_file(std::string_view file_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a file.
                                                                                                                              +
                                                                                                                              + auto parse_file(std::u8string_view file_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a file.
                                                                                                                              +
                                                                                                                              + auto parse_file(std::wstring_view file_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a file.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_array constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_boolean constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a bool or toml::value<bool>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_chronological constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type satisfies any of toml::is_date, toml::is_time or toml::is_date_time.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_container constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type satisfies either toml::is_table or toml::is_array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_date constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::date or toml::value<date>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_date_time constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::date_time or toml::value<date_time>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_floating_point constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a double or toml::value<double>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_integer constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a int64_t or toml::value<int64_t>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_key constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::key.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_key_or_convertible constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::key, or is implicitly or explicitly convertible to one.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_node constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::node (or one of its subclasses).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_node_view constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::node_view.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_number constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type satisfies either toml::is_integer or toml::is_floating_point.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_string constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a std::string or toml::value<std::string>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_table constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_time constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::time or toml::value<time>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_value constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, any of the toml value types. Excludes tables and arrays.
                                                                                                                              +
                                                                                                                              + value_flags preserve_source_value_flags constexpr +
                                                                                                                              +
                                                                                                                              Special toml::value_flags constant used for array + table insert functions to specify that any value nodes being copied should not have their flags property overridden by the inserting function's flags argument.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Enum documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + enum class toml::format_flags: uint64_t +

                                                                                                                              +

                                                                                                                              Format flags for modifying how TOML data is printed to streams.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Enumerators
                                                                                                                              none +

                                                                                                                              None.

                                                                                                                              +
                                                                                                                              quote_dates_and_times +

                                                                                                                              Dates and times will be emitted as quoted strings.

                                                                                                                              +
                                                                                                                              quote_infinities_and_nans +

                                                                                                                              Infinities and NaNs will be emitted as quoted strings.

                                                                                                                              +
                                                                                                                              allow_literal_strings +

                                                                                                                              Strings will be emitted as single-quoted literal strings where possible.

                                                                                                                              +
                                                                                                                              allow_multi_line_strings +

                                                                                                                              Strings containing newlines will be emitted as triple-quoted 'multi-line' strings where possible.

                                                                                                                              +
                                                                                                                              allow_real_tabs_in_strings +

                                                                                                                              Allow real tab characters in string literals (as opposed to the escaped form \t).

                                                                                                                              +
                                                                                                                              allow_unicode_strings +

                                                                                                                              Allow non-ASCII characters in strings (as opposed to their escaped form, e.g. \u00DA).

                                                                                                                              +
                                                                                                                              allow_binary_integers +

                                                                                                                              Allow integers with value_flags::format_as_binary to be emitted as binary.

                                                                                                                              +
                                                                                                                              allow_octal_integers +

                                                                                                                              Allow integers with value_flags::format_as_octal to be emitted as octal.

                                                                                                                              +
                                                                                                                              allow_hexadecimal_integers +

                                                                                                                              Allow integers with value_flags::format_as_hexadecimal to be emitted as hexadecimal.

                                                                                                                              +
                                                                                                                              indent_sub_tables +

                                                                                                                              Apply indentation to tables nested within other tables/arrays.

                                                                                                                              +
                                                                                                                              indent_array_elements +

                                                                                                                              Apply indentation to array elements when the array is forced to wrap over multiple lines.

                                                                                                                              +
                                                                                                                              indentation +

                                                                                                                              Combination mask of all indentation-enabling flags.

                                                                                                                              +
                                                                                                                              relaxed_float_precision +

                                                                                                                              Emit floating-point values with relaxed (human-friendly) precision.

                                                                                                                              + +
                                                                                                                              terse_key_value_pairs +

                                                                                                                              Avoids the use of whitespace around key-value pairs.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + enum class toml::node_type: uint8_t +

                                                                                                                              +

                                                                                                                              TOML node type identifiers.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Enumerators
                                                                                                                              none +

                                                                                                                              Not-a-node.

                                                                                                                              +
                                                                                                                              table +

                                                                                                                              The node is a toml::table.

                                                                                                                              +
                                                                                                                              array +

                                                                                                                              The node is a toml::array.

                                                                                                                              +
                                                                                                                              string +

                                                                                                                              The node is a toml::value<std::string>.

                                                                                                                              +
                                                                                                                              integer +

                                                                                                                              The node is a toml::value<int64_t>.

                                                                                                                              +
                                                                                                                              floating_point +

                                                                                                                              The node is a toml::value<double>.

                                                                                                                              +
                                                                                                                              boolean +

                                                                                                                              The node is a toml::value<bool>.

                                                                                                                              +
                                                                                                                              date +

                                                                                                                              The node is a toml::value<date>.

                                                                                                                              +
                                                                                                                              time +

                                                                                                                              The node is a toml::value<time>.

                                                                                                                              +
                                                                                                                              date_time +

                                                                                                                              The node is a toml::value<date_time>.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + enum class toml::value_flags: uint16_t +

                                                                                                                              +

                                                                                                                              Metadata associated with TOML values.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Enumerators
                                                                                                                              none +

                                                                                                                              None.

                                                                                                                              +
                                                                                                                              format_as_binary +

                                                                                                                              Format integer values as binary.

                                                                                                                              +
                                                                                                                              format_as_octal +

                                                                                                                              Format integer values as octal.

                                                                                                                              +
                                                                                                                              format_as_hexadecimal +

                                                                                                                              Format integer values as hexadecimal.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Typedef documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + using toml::default_formatter = toml_formatter +

                                                                                                                              +

                                                                                                                              The 'default' formatter used by TOML objects when they are printed to a stream.

                                                                                                                              +

                                                                                                                              This is an alias for toml::toml_formatter.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + using toml::inserted_type_of = /* ... */ +

                                                                                                                              +

                                                                                                                              Metafunction for determining which node type would be constructed if an object of this type was inserted into a toml::table or toml::array.

                                                                                                                              +
                                                                                                                              static_assert(std::is_same_v<toml::inserted_type_of<const char*>, toml::value<std::string>);
                                                                                                                              +static_assert(std::is_same_v<toml::inserted_type_of<int>,         toml::value<int64_t>);
                                                                                                                              +static_assert(std::is_same_v<toml::inserted_type_of<float>,       toml::value<double>);
                                                                                                                              +static_assert(std::is_same_v<toml::inserted_type_of<bool>,        toml::value<bool>);
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + using toml::optional = std::optional<T> +

                                                                                                                              +

                                                                                                                              The 'optional' type used throughout the library.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::at_path(node& root, + std::string_view path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the node matching a fully-qualified "TOML path".

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              rootThe root node from which the path will be traversed.
                                                                                                                              pathThe "TOML path" to traverse.
                                                                                                                              +
                                                                                                                              auto config = toml::parse(R"(
                                                                                                                              +
                                                                                                                              +[foo]
                                                                                                                              +bar = [ 0, 1, 2, [ 3 ], { kek = 4 } ]
                                                                                                                              +
                                                                                                                              +)"sv);
                                                                                                                              +
                                                                                                                              +std::cout << toml::at_path(config, "foo.bar[2]") << "\n";
                                                                                                                              +std::cout << toml::at_path(config, "foo.bar[3][0]") << "\n";
                                                                                                                              +std::cout << toml::at_path(config, "foo.bar[4].kek") << "\n";
                                                                                                                              2
                                                                                                                              +3
                                                                                                                              +4
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::at_path(const node& root, + std::string_view path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a const view of the node matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::at_path(node& root, + std::wstring_view path) +

                                                                                                                              +

                                                                                                                              Returns a view of the node matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::at_path(const node& root, + std::wstring_view path) +

                                                                                                                              +

                                                                                                                              Returns a const view of the node matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::at_path(node& root, + const toml::path& path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the node matching a fully-qualified "TOML path".

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              rootThe root node from which the path will be traversed.
                                                                                                                              pathThe "TOML path" to traverse.
                                                                                                                              +
                                                                                                                              auto config = toml::parse(R"(
                                                                                                                              +
                                                                                                                              +[foo]
                                                                                                                              +bar = [ 0, 1, 2, [ 3 ], { kek = 4 } ]
                                                                                                                              +
                                                                                                                              +)"sv);
                                                                                                                              +
                                                                                                                              +toml::path path1("foo.bar[2]");
                                                                                                                              +toml::path path2("foo.bar[4].kek");
                                                                                                                              +std::cout << toml::at_path(config, path1) << "\n";
                                                                                                                              +std::cout << toml::at_path(config, path1.parent_path()) << "\n";
                                                                                                                              +std::cout << toml::at_path(config, path2) << "\n";
                                                                                                                              +std::cout << toml::at_path(config, path2.parent_path()) << "\n";
                                                                                                                              2
                                                                                                                              +[ 0, 1, 2, [ 3 ], { kek = 4 } ]
                                                                                                                              +4
                                                                                                                              +{ kek  = 4 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::at_path(const node& root, + const toml::path& path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a const view of the node matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Char> +
                                                                                                                              + std::basic_ostream<Char>& toml::operator<<(std::basic_ostream<Char>& lhs, + node_type rhs) +

                                                                                                                              +

                                                                                                                              Pretty-prints the value of a node_type to a stream.

                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2.0, "3", false };
                                                                                                                              +for (size_t i = 0; i < arr.size() i++)
                                                                                                                              +    std::cout << "Element ["sv << i << "] is: "sv << arr[i].type() << "\n";
                                                                                                                              Element [0] is: integer
                                                                                                                              +Element [1] is: floating-point
                                                                                                                              +Element [2] is: string
                                                                                                                              +Element [3] is: boolean
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::string_view doc, + std::string_view source_path = {}) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse("a = 3"sv);
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::string_view doc, + std::string&& source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse("a = 3"sv, "foo.toml");
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::u8string_view doc, + std::string_view source_path = {}) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a char8_t string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse(u8"a = 3"sv);
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::u8string_view doc, + std::string&& source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a char8_t string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse(u8"a = 3"sv, "foo.toml");
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::string_view doc, + std::wstring_view source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse("a = 3"sv, L"foo.toml");
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::istream& doc, + std::wstring_view source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              std::stringstream ss;
                                                                                                                              +ss << "a = 3"sv;
                                                                                                                              +
                                                                                                                              +auto tbl = toml::parse(ss);
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::u8string_view doc, + std::wstring_view source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a char8_t string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse(u8"a = 3"sv, L"foo.toml");
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::istream& doc, + std::string_view source_path = {}) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              std::stringstream ss;
                                                                                                                              +ss << "a = 3"sv;
                                                                                                                              +
                                                                                                                              +auto tbl = toml::parse(ss);
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::istream& doc, + std::string&& source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              std::stringstream ss;
                                                                                                                              +ss << "a = 3"sv;
                                                                                                                              +
                                                                                                                              +auto tbl = toml::parse(ss, "foo.toml");
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse_file(std::string_view file_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a file.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              file_pathThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              toml::parse_result get_foo_toml()
                                                                                                                              +{
                                                                                                                              +    return toml::parse_file("foo.toml");
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse_file(std::u8string_view file_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a file.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              file_pathThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              toml::parse_result get_foo_toml()
                                                                                                                              +{
                                                                                                                              +    return toml::parse_file(u8"foo.toml");
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse_file(std::wstring_view file_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a file.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              file_pathThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              toml::parse_result get_foo_toml()
                                                                                                                              +{
                                                                                                                              +    return toml::parse_file(L"foo.toml");
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.3.0/namespacetoml_1_1literals.html b/v3.3.0/namespacetoml_1_1literals.html new file mode 100644 index 00000000..1d96f923 --- /dev/null +++ b/v3.3.0/namespacetoml_1_1literals.html @@ -0,0 +1,264 @@ + + + + toml::literals namespace | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::literals namespace inline +

                                                                                                                              +

                                                                                                                              Convenience literal operators for working with toml++.

                                                                                                                              + +

                                                                                                                              This namespace exists so you can safely hoist the toml++ literal operators into another scope without dragging in everything from the toml namespace:

                                                                                                                              #include <toml++/toml.h>
                                                                                                                              +using namespace toml::literals;
                                                                                                                              +
                                                                                                                              +int main()
                                                                                                                              +{
                                                                                                                              +    toml::table tbl = "vals = [1, 2, 3]"_toml;
                                                                                                                              +
                                                                                                                              +    // ... do stuff with the table generated by the "_toml" literal ...
                                                                                                                              +
                                                                                                                              +    return 0;
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator""_toml(const char* str, + size_t len) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses TOML data from a string literal.
                                                                                                                              +
                                                                                                                              + auto operator""_toml(const char8_t* str, + size_t len) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses TOML data from a UTF-8 string literal.
                                                                                                                              +
                                                                                                                              + auto operator""_tpath(const char* str, + size_t len) -> path +
                                                                                                                              +
                                                                                                                              Parses a TOML path from a string literal.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::literals::operator""_toml(const char* str, + size_t len) +

                                                                                                                              +

                                                                                                                              Parses TOML data from a string literal.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              strThe string data. Must be valid UTF-8.
                                                                                                                              lenThe string length.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              using namespace toml::literals;
                                                                                                                              +
                                                                                                                              +auto tbl = "a = 3"_toml;
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::literals::operator""_toml(const char8_t* str, + size_t len) +

                                                                                                                              +

                                                                                                                              Parses TOML data from a UTF-8 string literal.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              strThe string data. Must be valid UTF-8.
                                                                                                                              lenThe string length.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              using namespace toml::literals;
                                                                                                                              +
                                                                                                                              +auto tbl = u8"a = 3"_toml;
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + path toml::literals::operator""_tpath(const char* str, + size_t len) +

                                                                                                                              +

                                                                                                                              Parses a TOML path from a string literal.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              strThe string data.
                                                                                                                              lenThe string length.
                                                                                                                              ReturnsA toml::path generated from the string literal.
                                                                                                                              +
                                                                                                                              using namespace toml::literals;
                                                                                                                              +
                                                                                                                              +auto path = "main.settings.devices[2]"_tpath;
                                                                                                                              +std::cout << path.parent_path() << "\n";
                                                                                                                              main.settings.devices
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.3.0/pages.html b/v3.3.0/pages.html new file mode 100644 index 00000000..1a9d1ea9 --- /dev/null +++ b/v3.3.0/pages.html @@ -0,0 +1,139 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Pages

                                                                                                                              + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.3.0/search-v2.js b/v3.3.0/search-v2.js new file mode 100644 index 00000000..1fb71e1f --- /dev/null +++ b/v3.3.0/search-v2.js @@ -0,0 +1,897 @@ +/* + This file is part of m.css. + + Copyright © 2017, 2018, 2019, 2020, 2021, 2022, 2023 + Vladimír Vondruš + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +*/ + +"use strict"; /* it summons the Cthulhu in a proper way, they say */ + +var Search = { + formatVersion: 2, /* the data filename contains this number too */ + + dataSize: 0, /* used mainly by tests, not here */ + symbolCount: '…', + trie: null, + map: null, + mapFlagsOffset: null, + typeMap: null, + maxResults: 0, + + /* Type sizes and masks. The data is always fetched as 16/32bit number and + then masked to 1, 2, 3 or 4 bytes. Fortunately on LE a mask is enough, + on BE we'd have to read N bytes before and then mask. */ + nameSizeBytes: null, + nameSizeMask: null, + resultIdBytes: null, + resultIdMask: null, + fileOffsetBytes: null, + fileOffsetMask: null, + lookaheadBarrierMask: null, + + /* Always contains at least the root node offset and then one node offset + per entered character */ + searchString: '', + searchStack: [], + + /* So items don't get selected right away when a cursor is over results but + only after mouse moves */ + mouseMovedSinceLastRender: false, + + /* Whether we can go back in history in order to hide the search box or + not. We can't do that if we arrived directly on #search from outside. */ + canGoBackToHideSearch: false, + + /* Autocompletion in the input field is whitelisted only for character + input (so not deletion, cut, or anything else). This is flipped in the + onkeypress event and reset after each oninput event. */ + autocompleteNextInputEvent: false, + + init: function(buffer, maxResults) { + let view = new DataView(buffer); + + /* The file is too short to contain at least the headers and empty + sections */ + if(view.byteLength < 31) { + console.error("Search data too short"); + return false; + } + + if(view.getUint8(0) != 'M'.charCodeAt(0) || + view.getUint8(1) != 'C'.charCodeAt(0) || + view.getUint8(2) != 'S'.charCodeAt(0)) { + console.error("Invalid search data signature"); + return false; + } + + if(view.getUint8(3) != this.formatVersion) { + console.error("Invalid search data version"); + return false; + } + + /* Fetch type sizes. The only value that can fail is result ID byte + count, where value of 3 has no assigned meaning. */ + let typeSizes = view.getUint8(4, true); + if((typeSizes & 0x01) >> 0 == 0) { + this.fileOffsetBytes = 3; + this.fileOffsetMask = 0x00ffffff; + this.lookaheadBarrierMask = 0x00800000; + } else /* (typeSizes & 0x01) >> 0 == 1 */ { + this.fileOffsetBytes = 4; + this.fileOffsetMask = 0xffffffff; + this.lookaheadBarrierMask = 0x80000000; + } + if((typeSizes & 0x06) >> 1 == 0) { + this.resultIdBytes = 2; + this.resultIdMask = 0x0000ffff; + } else if((typeSizes & 0x06) >> 1 == 1) { + this.resultIdBytes = 3; + this.resultIdMask = 0x00ffffff; + } else if((typeSizes & 0x06) >> 1 == 2) { + this.resultIdBytes = 4; + this.resultIdMask = 0xffffffff; + } else /* (typeSizes & 0x06) >> 1 == 3 */ { + console.error("Invalid search data result ID byte value"); + return false; + } + if((typeSizes & 0x08) >> 3 == 0) { + this.nameSizeBytes = 1; + this.nameSizeMask = 0x00ff; + } else /* (typeSizes & 0x08) >> 3 == 1 */ { + this.nameSizeBytes = 2; + this.nameSizeMask = 0xffff; + } + + /* Separate the data into the trie and the result / type map. Because + we're reading larger values than there might be and then masking out + the high bytes, keep extra 1/2 byte padding at the end to avoid + OOB errors. */ + let mapOffset = view.getUint32(12, true); + let typeMapOffset = view.getUint32(16, true); + /* There may be a 3-byte file offset at the end of the trie which we'll + read as 32-bit, add one safety byte in that case */ + this.trie = new DataView(buffer, 20, mapOffset - 20 + (4 - this.fileOffsetBytes)); + /* There may be a 3-byte file size (for zero results) which we'll read + as 32-bit, add one safety byte in that case */ + this.map = new DataView(buffer, mapOffset, typeMapOffset - mapOffset + (4 - this.fileOffsetBytes)); + /* No variable-size types in the type map at the moment */ + this.typeMap = new DataView(buffer, typeMapOffset); + + /* Offset of the first result map item is after N + 1 offsets and N + flags, calculate flag offset from that */ + this.mapFlagsOffset = this.fileOffsetBytes*(((this.map.getUint32(0, true) & this.fileOffsetMask) - this.fileOffsetBytes)/(this.fileOffsetBytes + 1) + 1); + + /* Set initial properties */ + this.dataSize = buffer.byteLength; + this.symbolCount = view.getUint32(8, true) + " symbols (" + Math.round(this.dataSize/102.4)/10 + " kB)"; + this.maxResults = maxResults ? maxResults : 100; + this.searchString = ''; + this.searchStack = [this.trie.getUint32(0, true)]; + + /* istanbul ignore if */ + if(typeof document !== 'undefined') { + document.getElementById('search-symbolcount').innerHTML = this.symbolCount; + document.getElementById('search-input').disabled = false; + document.getElementById('search-input').placeholder = "Type something here …"; + document.getElementById('search-input').focus(); + + /* Search for the input value (there might be something already, + for example when going back in the browser) */ + let value = document.getElementById('search-input').value; + + /* Otherwise check the GET parameters for `q` and fill the input + with that */ + if(!value.length) { + var args = decodeURIComponent(window.location.search.substr(1)).trim().split('&'); + for(var i = 0; i != args.length; ++i) { + if(args[i].substring(0, 2) != 'q=') continue; + + value = document.getElementById('search-input').value = args[i].substring(2); + break; + } + } + + if(value.length) Search.searchAndRender(value); + } + + return true; + }, + + download: /* istanbul ignore next */ function(url) { + var req = window.XDomainRequest ? new XDomainRequest() : new XMLHttpRequest(); + if(!req) return; + + req.open("GET", url, true); + req.responseType = 'arraybuffer'; + req.onreadystatechange = function() { + if(req.readyState != 4) return; + + Search.init(req.response); + } + req.send(); + }, + + base85decode: function(base85string) { + function charValue(char) { + if(char >= 48 && char < 58) /* 0-9 -> 0-9 */ + return char - 48 + 0; + if(char >= 65 && char < 91) /* A-Z -> 10-35 */ + return char - 65 + 10; + if(char >= 97 && char < 123) /* a-z -> 36-61 */ + return char - 97 + 36; + if(char == 33) /* ! -> 62 */ + return 62; + /* skipping 34 (') */ + if(char >= 35 && char < 39) /* #-& -> 63-66 */ + return char - 35 + 63; + /* skipping 39 (") */ + if(char >= 40 && char < 44) /* (-+ -> 67-70 */ + return char - 40 + 67; + /* skipping 44 (,) */ + if(char == 45) /* - -> 71 */ + return 71; + if(char >= 59 && char < 65) /* ;-@ -> 72-77 */ + return char - 59 + 72; + if(char >= 94 && char < 97) /* ^-` -> 78-80 */ + return char - 94 + 78; + if(char >= 123 && char < 127) /* {-~ -> 81-84 */ + return char - 123 + 81; + + return 0; /* Interpret padding values as zeros */ + } + + /* Pad the string for easier decode later. We don't read past the file + end, so it doesn't matter what garbage is there. */ + if(base85string.length % 5) { + console.log("Expected properly padded base85 data"); + return; + } + + let buffer = new ArrayBuffer(base85string.length*4/5); + let data8 = new DataView(buffer); + for(let i = 0; i < base85string.length; i += 5) { + let char1 = charValue(base85string.charCodeAt(i + 0)); + let char2 = charValue(base85string.charCodeAt(i + 1)); + let char3 = charValue(base85string.charCodeAt(i + 2)); + let char4 = charValue(base85string.charCodeAt(i + 3)); + let char5 = charValue(base85string.charCodeAt(i + 4)); + + data8.setUint32(i*4/5, char5 + + char4*85 + + char3*85*85 + + char2*85*85*85 + + char1*85*85*85*85, false); /* BE, yes */ + } + + return buffer; + }, + + load: function(base85string) { + return this.init(this.base85decode(base85string)); + }, + + /* http://ecmanaut.blogspot.com/2006/07/encoding-decoding-utf8-in-javascript.html */ + toUtf8: function(string) { return unescape(encodeURIComponent(string)); }, + fromUtf8: function(string) { return decodeURIComponent(escape(string)); }, + + autocompletedCharsToUtf8: function(chars) { + /* Strip incomplete UTF-8 chars from the autocompletion end */ + for(let i = chars.length - 1; i >= 0; --i) { + let c = chars[i]; + + /* We're safe, finish */ + if( + /* ASCII value at the end */ + (c < 128 && i + 1 == chars.length) || + + /* Full two-byte character at the end */ + ((c & 0xe0) == 0xc0 && i + 2 == chars.length) || + + /* Full three-byte character at the end */ + ((c & 0xf0) == 0xe0 && i + 3 == chars.length) || + + /* Full four-byte character at the end */ + ((c & 0xf8) == 0xf0 && i + 4 == chars.length) + ) break; + + /* Continuing UTF-8 character, go further back */ + if((c & 0xc0) == 0x80) continue; + + /* Otherwise the character is not complete, drop it from the end */ + chars.length = i; + break; + } + + /* Convert the autocompleted UTF-8 sequence to a string */ + let suggestedTabAutocompletionString = ''; + for(let i = 0; i != chars.length; ++i) + suggestedTabAutocompletionString += String.fromCharCode(chars[i]); + return suggestedTabAutocompletionString; + }, + + /* Returns the values in UTF-8, but input is in whatever shitty 16bit + encoding JS has */ + search: function(searchString) { + /* Normalize the search string first, convert to UTF-8 and trim spaces + from the left. From the right they're trimmed only if nothing is + found, see below. */ + searchString = this.toUtf8(searchString.toLowerCase().replace(/^\s+/,'')); + + /* TODO: maybe i could make use of InputEvent.data and others here */ + + /* Find longest common prefix of previous and current value so we don't + need to needlessly search again */ + let max = Math.min(searchString.length, this.searchString.length); + let commonPrefix = 0; + for(; commonPrefix != max; ++commonPrefix) + if(searchString[commonPrefix] != this.searchString[commonPrefix]) break; + + /* Drop items off the stack if it has has more than is needed for the + common prefix (it needs to have at least one item, though) */ + if(commonPrefix + 1 < this.searchStack.length) + this.searchStack.splice(commonPrefix + 1, this.searchStack.length - commonPrefix - 1); + + /* Add new characters from the search string */ + let foundPrefix = commonPrefix; + for(; foundPrefix != searchString.length; ++foundPrefix) { + /* Calculate offset and count of children */ + let offset = this.searchStack[this.searchStack.length - 1]; + + /* If there's a lot of results, the result count is a 16bit BE value + instead */ + let resultCount = this.trie.getUint8(offset); + let resultCountSize = 1; + if(resultCount & 0x80) { + resultCount = this.trie.getUint16(offset, false) & ~0x8000; + ++resultCountSize; + } + + let childCount = this.trie.getUint8(offset + resultCountSize); + + /* Go through all children and find the next offset */ + let childOffset = offset + resultCountSize + 1 + resultCount*this.resultIdBytes; + let found = false; + for(let j = 0; j != childCount; ++j) { + if(String.fromCharCode(this.trie.getUint8(childOffset + j)) != searchString[foundPrefix]) + continue; + + this.searchStack.push(this.trie.getUint32(childOffset + childCount + j*this.fileOffsetBytes, true) & this.fileOffsetMask & ~this.lookaheadBarrierMask); + found = true; + break; + } + + /* Character not found */ + if(!found) { + /* If we found everything except spaces at the end, pretend the + spaces aren't there. On the other hand, we *do* want to + try searching with the spaces first -- it can narrow down + the result list for page names or show subpages (which are + after a lookahead barrier that's a space). */ + if(!searchString.substr(foundPrefix).trim().length) + searchString = searchString.substr(0, foundPrefix); + + break; + } + } + + /* Save the whole found prefix for next time */ + this.searchString = searchString.substr(0, foundPrefix); + + /* If the whole thing was not found, return an empty result and offer + external search */ + if(foundPrefix != searchString.length) { + /* istanbul ignore if */ + if(typeof document !== 'undefined') { + let link = document.getElementById('search-external'); + if(link) + link.href = link.dataset.searchEngine.replace('{query}', encodeURIComponent(searchString)); + } + return [[], '']; + } + + /* Otherwise gather the results */ + let suggestedTabAutocompletionChars = []; + let results = []; + let leaves = [[this.searchStack[this.searchStack.length - 1], 0]]; + while(leaves.length) { + /* Pop offset from the queue */ + let current = leaves.shift(); + let offset = current[0]; + let suffixLength = current[1]; + + /* Calculate child count. If there's a lot of results, the count + "leaks over" to the child count storage. */ + /* TODO: hmmm. this is helluvalot duplicated code. hmm. */ + let resultCount = this.trie.getUint8(offset); + let resultCountSize = 1; + if(resultCount & 0x80) { + resultCount = this.trie.getUint16(offset, false) & ~0x8000; + ++resultCountSize; + } + + let childCount = this.trie.getUint8(offset + resultCountSize); + + /* Populate the results with all values associated with this node */ + for(let i = 0; i != resultCount; ++i) { + let index = this.trie.getUint32(offset + resultCountSize + 1 + i*this.resultIdBytes, true) & this.resultIdMask; + results.push(this.gatherResult(index, suffixLength, 0xffffff)); /* should be enough haha */ + + /* 'nuff said. */ + if(results.length >= this.maxResults) + return [results, this.autocompletedCharsToUtf8(suggestedTabAutocompletionChars)]; + } + + /* Dig deeper */ + let childOffset = offset + resultCountSize + 1 + resultCount*this.resultIdBytes; + for(let j = 0; j != childCount; ++j) { + let offsetBarrier = this.trie.getUint32(childOffset + childCount + j*this.fileOffsetBytes, true) & this.fileOffsetMask; + + /* Lookahead barrier, don't dig deeper */ + if(offsetBarrier & this.lookaheadBarrierMask) continue; + + /* Append to the queue */ + leaves.push([offsetBarrier & ~this.lookaheadBarrierMask, suffixLength + 1]); + + /* We don't have anything yet and this is the only path + forward, add the char to suggested Tab autocompletion. Can't + extract it from the leftmost 8 bits of offsetBarrier because + that would make it negative, have to load as Uint8 instead. + Also can't use String.fromCharCode(), because later doing + str.charCodeAt() would give me back UTF-16 values, which is + absolutely unwanted when all I want is check for truncated + UTF-8. */ + if(!results.length && leaves.length == 1 && childCount == 1) + suggestedTabAutocompletionChars.push(this.trie.getUint8(childOffset + j)); + } + } + + return [results, this.autocompletedCharsToUtf8(suggestedTabAutocompletionChars)]; + }, + + gatherResult: function(index, suffixLength, maxUrlPrefix) { + let flags = this.map.getUint8(this.mapFlagsOffset + index); + let resultOffset = this.map.getUint32(index*this.fileOffsetBytes, true) & this.fileOffsetMask; + + /* The result is an alias, parse the aliased prefix */ + let aliasedIndex = null; + if((flags & 0xf0) == 0x00) { + aliasedIndex = this.map.getUint32(resultOffset, true) & this.resultIdMask; + resultOffset += this.resultIdBytes; + } + + /* The result has a prefix, parse that first, recursively */ + let name = ''; + let url = ''; + if(flags & (1 << 3)) { + let prefixIndex = this.map.getUint32(resultOffset, true) & this.resultIdMask; + let prefixUrlPrefixLength = Math.min(this.map.getUint16(resultOffset + this.resultIdBytes, true) & this.nameSizeMask, maxUrlPrefix); + + let prefix = this.gatherResult(prefixIndex, 0 /*ignored*/, prefixUrlPrefixLength); + name = prefix.name; + url = prefix.url; + + resultOffset += this.resultIdBytes + this.nameSizeBytes; + } + + /* The result has a suffix, extract its length */ + let resultSuffixLength = 0; + if(flags & (1 << 0)) { + resultSuffixLength = this.map.getUint16(resultOffset, true) & this.nameSizeMask; + resultOffset += this.nameSizeBytes; + } + + let nextResultOffset = this.map.getUint32((index + 1)*this.fileOffsetBytes, true) & this.fileOffsetMask; + + /* Extract name */ + let j = resultOffset; + for(; j != nextResultOffset; ++j) { + let c = this.map.getUint8(j); + + /* End of null-delimited name */ + if(!c) { + ++j; + break; /* null-delimited */ + } + + name += String.fromCharCode(c); /* eheh. IS THIS FAST?! */ + } + + /* The result is an alias and we're not deep inside resolving a prefix, + extract the aliased name and URL */ + /* TODO: this abuses 0xffffff to guess how the call stack is deep and + that's just wrong, fix! */ + if(aliasedIndex != null && maxUrlPrefix == 0xffffff) { + let alias = this.gatherResult(aliasedIndex, 0 /* ignored */, 0xffffff); /* should be enough haha */ + + /* Keeping in UTF-8, as we need that for proper slicing (and concatenating) */ + return {name: name, + alias: alias.name, + url: alias.url, + flags: alias.flags, + cssClass: alias.cssClass, + typeName: alias.typeName, + suffixLength: suffixLength + resultSuffixLength}; + } + + /* Otherwise extract URL from here */ + let max = Math.min(j + maxUrlPrefix - url.length, nextResultOffset); + for(; j != max; ++j) { + url += String.fromCharCode(this.map.getUint8(j)); + } + + /* This is an alias, return what we have, without parsed CSS class and + type name as those are retrieved from the final target type */ + if(!(flags >> 4)) + return {name: name, + url: url, + flags: flags & 0x0f, + suffixLength: suffixLength + resultSuffixLength}; + + /* Otherwise, get CSS class and type name for the result label */ + let typeMapIndex = (flags >> 4) - 1; + let cssClass = [ + /* Keep in sync with _search.py */ + 'm-default', + 'm-primary', + 'm-success', + 'm-warning', + 'm-danger', + 'm-info', + 'm-dim' + ][this.typeMap.getUint8(typeMapIndex*2)]; + let typeNameOffset = this.typeMap.getUint8(typeMapIndex*2 + 1); + let nextTypeNameOffset = this.typeMap.getUint8((typeMapIndex + 1)*2 + 1); + let typeName = ''; + for(let j = typeNameOffset; j != nextTypeNameOffset; ++j) + typeName += String.fromCharCode(this.typeMap.getUint8(j)); + + /* Keeping in UTF-8, as we need that for proper slicing (and + concatenating). Strip the type from the flags, as it's now expressed + directly. */ + return {name: name, + url: url, + flags: flags & 0x0f, + cssClass: cssClass, + typeName: typeName, + suffixLength: suffixLength + resultSuffixLength}; + }, + + escape: function(name) { + return name.replace(/[\"&<>]/g, function (a) { + return { '"': '"', '&': '&', '<': '<', '>': '>' }[a]; + }); + }, + escapeForRtl: function(name) { + /* Besides the obvious escaping of HTML entities we also need + to escape punctuation, because due to the RTL hack to cut + text off on left side the punctuation characters get + reordered (of course). Prepending ‎ works for most + characters, parentheses we need to *soak* in it. But only + the right ones. And that for some reason needs to be also for &. + Huh. https://en.wikipedia.org/wiki/Right-to-left_mark */ + return this.escape(name).replace(/[:=]/g, '‎$&').replace(/(\)|>|&|\/)/g, '‎$&‎'); + }, + + renderResults: /* istanbul ignore next */ function(resultsSuggestedTabAutocompletion) { + if(!this.searchString.length) { + document.getElementById('search-help').style.display = 'block'; + document.getElementById('search-results').style.display = 'none'; + document.getElementById('search-notfound').style.display = 'none'; + return; + } + + document.getElementById('search-help').style.display = 'none'; + + /* Results found */ + if(resultsSuggestedTabAutocompletion[0].length) { + let results = resultsSuggestedTabAutocompletion[0]; + + document.getElementById('search-results').style.display = 'block'; + document.getElementById('search-notfound').style.display = 'none'; + + let list = ''; + for(let i = 0; i != results.length; ++i) { + /* Labels + */ + list += '
                                                                                                                              ' + results[i].typeName + '
                                                                                                                              ' + (results[i].flags & 2 ? '
                                                                                                                              deprecated
                                                                                                                              ' : '') + (results[i].flags & 4 ? '
                                                                                                                              deleted
                                                                                                                              ' : ''); + + /* Render the alias (cut off from the right) */ + if(results[i].alias) { + list += '
                                                                                                                              ' + this.escape(results[i].name.substr(0, results[i].name.length - this.searchString.length - results[i].suffixLength)) + '' + this.escape(results[i].name.substr(results[i].name.length - this.searchString.length - results[i].suffixLength, this.searchString.length)) + '' + this.escapeForRtl(results[i].name.substr(results[i].name.length - results[i].suffixLength)) + ': ' + this.escape(results[i].alias) + ''; + + /* Render the normal thing (cut off from the left, have to + escape for RTL) */ + } else { + list += '
                                                                                                                              ' + this.escapeForRtl(results[i].name.substr(0, results[i].name.length - this.searchString.length - results[i].suffixLength)) + '' + this.escapeForRtl(results[i].name.substr(results[i].name.length - this.searchString.length - results[i].suffixLength, this.searchString.length)) + '' + this.escapeForRtl(results[i].name.substr(results[i].name.length - results[i].suffixLength)); + } + + /* The closing */ + list += '
                                                                                                                              '; + } + document.getElementById('search-results').innerHTML = this.fromUtf8(list); + document.getElementById('search-current').scrollIntoView(true); + + /* Append the suggested tab autocompletion, if any, and if the user + didn't just delete it */ + let searchInput = document.getElementById('search-input'); + if(this.autocompleteNextInputEvent && resultsSuggestedTabAutocompletion[1].length && searchInput.selectionEnd == searchInput.value.length) { + let suggestedTabAutocompletion = this.fromUtf8(resultsSuggestedTabAutocompletion[1]); + + let lengthBefore = searchInput.value.length; + searchInput.value += suggestedTabAutocompletion; + searchInput.setSelectionRange(lengthBefore, searchInput.value.length); + } + + /* Nothing found */ + } else { + document.getElementById('search-results').innerHTML = ''; + document.getElementById('search-results').style.display = 'none'; + document.getElementById('search-notfound').style.display = 'block'; + } + + /* Don't allow things to be selected just by motionless mouse cursor + suddenly appearing over a search result */ + this.mouseMovedSinceLastRender = false; + + /* Reset autocompletion, if it was allowed. It'll get whitelisted next + time a character gets inserted. */ + this.autocompleteNextInputEvent = false; + }, + + searchAndRender: /* istanbul ignore next */ function(value) { + let prev = performance.now(); + let results = this.search(value); + let after = performance.now(); + this.renderResults(results); + if(this.searchString.length) { + document.getElementById('search-symbolcount').innerHTML = + results[0].length + (results[0].length >= this.maxResults ? '+' : '') + " results (" + Math.round((after - prev)*10)/10 + " ms)"; + } else + document.getElementById('search-symbolcount').innerHTML = this.symbolCount; + }, +}; + +/* istanbul ignore next */ +function selectResult(event) { + if(!Search.mouseMovedSinceLastRender) return; + + if(event.currentTarget.parentNode.id == 'search-current') return; + + let current = document.getElementById('search-current'); + current.removeAttribute('id'); + event.currentTarget.parentNode.id = 'search-current'; +} + +/* This is separated from showSearch() because we need non-destructive behavior + when appearing directly on a URL with #search */ /* istanbul ignore next */ +function updateForSearchVisible() { + /* Prevent accidental scrolling of the body, prevent page layout jumps */ + let scrolledBodyWidth = document.body.offsetWidth; + document.body.style.overflow = 'hidden'; + document.body.style.paddingRight = (document.body.offsetWidth - scrolledBodyWidth) + 'px'; + + document.getElementById('search-input').value = ''; + document.getElementById('search-input').focus(); + document.getElementById('search-results').style.display = 'none'; + document.getElementById('search-notfound').style.display = 'none'; + document.getElementById('search-help').style.display = 'block'; +} + +/* istanbul ignore next */ +function showSearch() { + window.location.hash = '#search'; + Search.canGoBackToHideSearch = true; + + updateForSearchVisible(); + document.getElementById('search-symbolcount').innerHTML = Search.symbolCount; + return false; +} + +/* istanbul ignore next */ +function hideSearch() { + /* If the search box was opened using showSearch(), we can go back in the + history. Otherwise (for example when we landed to #search from a + bookmark or another server), going back would not do the right thing and + in that case we simply replace the current history state. */ + if(Search.canGoBackToHideSearch) { + Search.canGoBackToHideSearch = false; + window.history.back(); + } else { + window.location.hash = '#!'; + window.history.replaceState('', '', window.location.pathname); + } + + /* Restore scrollbar, prevent page layout jumps */ + document.body.style.overflow = 'auto'; + document.body.style.paddingRight = '0'; + + return false; +} + +/* istanbul ignore next */ +function copyToKeyboard(text) { + /* Append to the popup, appending to document.body would cause it to + scroll when focused */ + let searchPopup = document.getElementsByClassName('m-doc-search')[0]; + let textarea = document.createElement("textarea"); + textarea.value = text; + searchPopup.appendChild(textarea); + textarea.focus(); + textarea.select(); + + document.execCommand('copy'); + + searchPopup.removeChild(textarea); + document.getElementById('search-input').focus(); +} + +/* Only in case we're running in a browser. Why a simple if(document) doesn't + work is beyond me. */ /* istanbul ignore if */ +if(typeof document !== 'undefined') { + document.getElementById('search-input').oninput = function(event) { + Search.searchAndRender(document.getElementById('search-input').value); + }; + + document.onkeydown = function(event) { + /* Search shown */ + if(window.location.hash == '#search') { + /* Close the search */ + if(event.key == 'Escape') { + hideSearch(); + + /* Focus the search input, if not already, using T or Tab */ + } else if((!document.activeElement || document.activeElement.id != 'search-input') && (event.key.toLowerCase() == 't' || event.key == 'Tab') && !event.shiftKey && !event.ctrlKey && !event.altKey && !event.metaKey) { + document.getElementById('search-input').focus(); + return false; /* so T doesn't get entered into the box */ + + /* Fill in the autocompleted selection */ + } else if(event.key == 'Tab' && !event.shiftKey && !event.ctrlKey && !event.altKey && !event.metaKey) { + /* But only if the input has selection at the end */ + let input = document.getElementById('search-input'); + if(input.selectionEnd == input.value.length && input.selectionStart != input.selectionEnd) { + input.setSelectionRange(input.value.length, input.value.length); + return false; /* so input won't lose focus */ + } + + /* Select next item */ + } else if(event.key == 'ArrowDown') { + let current = document.getElementById('search-current'); + if(current) { + let next = current.nextSibling; + if(next) { + current.id = ''; + next.id = 'search-current'; + next.scrollIntoView(false); + } + } + return false; /* so the keypress doesn't affect input cursor */ + + /* Select prev item */ + } else if(event.key == 'ArrowUp') { + let current = document.getElementById('search-current'); + if(current) { + let prev = current.previousSibling; + if(prev) { + current.id = ''; + prev.id = 'search-current'; + prev.scrollIntoView(false); + } + } + return false; /* so the keypress doesn't affect input cursor */ + + /* Go to result (if any) */ + } else if(event.key == 'Enter') { + let result = document.getElementById('search-current'); + if(result) { + result.firstElementChild.click(); + + /* We might be staying on the same page, so restore scrollbar, + and prevent page layout jumps */ + document.body.style.overflow = 'auto'; + document.body.style.paddingRight = '0'; + } + return false; /* so the form doesn't get sent */ + + /* Copy (Markdown) link to keyboard */ + } else if((event.key.toLowerCase() == 'l' || event.key.toLowerCase() == 'm') && event.metaKey) { + let result = document.getElementById('search-current'); + if(result) { + let plain = event.key.toLowerCase() == 'l'; + let link = plain ? result.firstElementChild.href : + '[' + result.firstElementChild.dataset.mdLinkTitle + '](' + result.firstElementChild.href + ')'; + + copyToKeyboard(link); + + /* Add CSS class to the element for visual feedback (this + will get removed on keyup), but only if it's not already + there (in case of key repeat, e.g.) */ + if(result.className.indexOf('m-doc-search-copied') == -1) + result.className += ' m-doc-search-copied'; + console.log("Copied " + (plain ? "link" : "Markdown link") + " to " + result.firstElementChild.dataset.mdLinkTitle); + } + + return false; /* so L doesn't get entered into the box */ + + /* Looks like the user is inserting some text (and not cutting, + copying or whatever), allow autocompletion for the new + character. The oninput event resets this back to false, so this + basically whitelists only keyboard input, including Shift-key + and special chars using right Alt (or equivalent on Mac), but + excluding Ctrl-key, which is usually not for text input. In the + worst case the autocompletion won't be allowed ever, which is + much more acceptable behavior than having no ability to disable + it and annoying the users. */ + } else if(event.key != 'Backspace' && event.key != 'Delete' && !event.metaKey && (!event.ctrlKey || event.altKey) + /* Don't ever attempt autocompletion with Android virtual + keyboards, as those report all `event.key`s as + `Unidentified` (on Chrome) or `Process` (on Firefox) with + `event.code` 229 and thus we have no way to tell if a text + is entered or deleted. See this WONTFIX bug for details: + https://bugs.chromium.org/p/chromium/issues/detail?id=118639 + Couldn't find any similar bugreport for Firefox, but I + assume the virtual keyboard is to blame. + + An alternative is to hook into inputEvent, which has the + data, but ... there's more cursed issues right after that: + + - setSelectionRange() in Chrome on Android only renders + stuff, but doesn't actually act as such. Pressing + Backspace will only remove the highlight, but the text + stays here. Only delay-calling it through a timeout will + work as intended. Possibly related SO suggestion (back + then not even the rendering worked properly): + https://stackoverflow.com/a/13235951 + Possibly related Chrome bug: + https://bugs.chromium.org/p/chromium/issues/detail?id=32865 + + - On Firefox Mobile, programmatically changing an input + value (for the autocompletion highlight) will trigger an + input event, leading to search *and* autocompletion being + triggered again. Ultimately that results in newly typed + characters not replacing the autocompletion but rather + inserting before it, corrupting the searched string. This + event has to be explicitly ignored. + + - On Firefox Mobile, deleting a highlight with the + backspace key will result in *three* input events instead + of one: + 1. `deleteContentBackward` removing the selection (same + as Chrome or desktop Firefox) + 2. `deleteContentBackward` removing *the whole word* + that contained the selection (or the whole text if + it's just one word) + 3. `insertCompositionText`, adding the word back in, + resulting in the same state as (1). + I have no idea WHY it has to do this (possibly some + REALLY NASTY workaround to trigger correct font shaping?) + but ultimately it results in the autocompletion being + added again right after it got deleted, making this whole + thing VERY annoying to use. + + I attempted to work around the above, but it resulted in a + huge amount of browser-specific code that achieves only 90% + of the goal, with certain corner cases still being rather + broken (such as autocompletion randomly triggering when + erasing the text, even though it shouldn't). So disabling + autocompletion on this HELLISH BROKEN PLATFORM is the best + option at the moment. */ + && event.key != 'Unidentified' && event.key != 'Process' + ) { + Search.autocompleteNextInputEvent = true; + /* Otherwise reset the flag, because when the user would press e.g. + the 'a' key and then e.g. ArrowRight (which doesn't trigger + oninput), a Backspace after would still result in + autocompleteNextInputEvent, because nothing reset it back. */ + } else { + Search.autocompleteNextInputEvent = false; + } + + /* Search hidden */ + } else { + /* Open the search on the T or Tab key */ + if((event.key.toLowerCase() == 't' || event.key == 'Tab') && !event.shiftKey && !event.ctrlKey && !event.altKey && !event.metaKey) { + showSearch(); + return false; /* so T doesn't get entered into the box */ + } + } + }; + + document.onkeyup = function(event) { + /* Remove highlight after key is released after a link copy */ + if((event.key.toLowerCase() == 'l' || event.key.toLowerCase() == 'm') && event.metaKey) { + let result = document.getElementById('search-current'); + if(result) result.className = result.className.replace(' m-doc-search-copied', ''); + } + }; + + /* Allow selecting items by mouse hover only after it moves once the + results are populated. This prevents a random item getting selected if + the cursor is left motionless over the result area. */ + document.getElementById('search-results').onmousemove = function() { + Search.mouseMovedSinceLastRender = true; + }; + + /* If #search is already present in the URL, hide the scrollbar etc. for a + consistent experience */ + if(window.location.hash == '#search') updateForSearchVisible(); +} + +/* For Node.js testing */ /* istanbul ignore else */ +if(typeof module !== 'undefined') { module.exports = { Search: Search }; } diff --git a/v3.3.0/searchdata-v2.js b/v3.3.0/searchdata-v2.js new file mode 100644 index 00000000..c97f3bd4 --- /dev/null +++ b/v3.3.0/searchdata-v2.js @@ -0,0 +1,2 @@ +/* Generated by https://mcss.mosra.cz/documentation/doxygen/. Do not edit. */ +Search.load('O+!-x00000^#T9@GJgO7ky8NxynX-x0RR9100CtL00001ZU_JX00D0f000310RR92a~c2u00Ctl00001Z6p8y00C(#00001bT9w_00Cb%00001WIO->00C}700001VMqV~00Cc400001b5sBT00CuM00001bYK7g00CiU000310ssI3b8-Lx00C}x00001VSE4p00C}-00001Ux)wz00Cr<00001Zj=B300Ci|00001U!VX000DER00001Wvl=I00C*T00001bhrQj00C*f00001Zo~ip00C*r00001X3zit00C~+00002WNB;w0Nelo00Cd(00001W$XX|00DIJ00001Z}00Cbz0RR92Y&Zb`00Ch>0RR92azp_D00Cu60RR92bWi~R00C)M0RRC21ONa5b7BDi00C!a0RR92ZfpSn00C)o0RR92a(Dp%00DG<0RR92bA$l^00Cc$0RR92Wsm^?00C~60RR92X`BH700C^G0RR92U#I~900C*P0RR92bhH5g00C^e0RR92b-)1t0RRO600DE%0RR92XV3uv00C~+0RR92Y1{z-00DC10RR92bm##900DFE0RR92U-SV000D0L0RR92X#fHM00CbH0ssI3a|{9i00CkW0ssI3VHg4c00DF!0ssI3UnBwm00C?&0ssI3VK4#!00Ct-0ssL31^@s7b3y_D00C!40ssI3ZcG9I00C)I0ssI3a##WY00DGf0ssI3b7TSl00CcW0ssI3WpDxj00Crn0ssI3Z+rp(00Coy0ssI3X@~*<00C}}0ssL32LJ#8bD9DG00DBI0ssI3WuyWC00C#J0ssI3Wv~JO00DHi0ssI3ZoC2j00C*j0ssI3U&sOg00DW<0ssI3a?}C<00Cjz0ssI3Zr}m{00C*{0ssL32mk;9bMgWJ00DCL0ssI3W&8pF00CzL0{{R4We5WR00DFk0{{R4ZWIFm00C(l0{{R4Umybj00C?!0{{R4VJrgx00DF|0{{R4V>kl<0RRaA00DDE0{{R4a!3OJ00CuA0{{R4XH)|K00CuM0{{R4bYKGj00C}h0{{R4X>0=k00Cce0{{R4Y7f1ONa5bf^RX00C~Y1ONa5Ww-N1poj6U$6xL00CvT1poj6bG!ur00DBs1poj6Wyl2p00wSxVQF%76aWAO0RZp=0LlaaQUw6c1poj6I@ARK0RayHI_?F400DFK1poj6XZ!^K00ChF1^@s7YzPJb00CwW1^@s7Ulaxa00DFw1^@s7VIT$o00C_#1^@s7ax4Y_00D0@1^@v75C8xHWj+P~00C}71^@s7Z%76J0RRyI00CuG1^@s7Y*+>W00ClN1^@v77ytkPWoiZh00C`o1^@s8VQFLr0CWZb0RR#J00DV~1^@s7VTc9*00DB21^@s7a+C%D0RR&K00C#91^@s7ZlneP00C*L1^@s7a51x00Cvj1^@s7XUqlw00Cvv1^@s7bl3&}00C~^1^@v76#xJMbm|5G00D091^@s7Y4ipF00D3M1^@s7Z~zAY00CbH2LJ#8XAB1b00C|i2LJ#8X&46p00DF!2LJ#8VI&6t00D0*2LJ#8Y%m7^0RR>N00C}12LJ#8VL%4}00Cu22LJ#8Y)l6L00D1O2LJ#8Z&(Ka0RR~Q00CuW2LJ#8ZD(pWx@vl00D5y2LJ#8dC&&{0RZR(00Cv(2LJ#8aNq|300DXC2LJ#8bnFKJ00Cd}2LJ#8WcUXF00CwG2LJ#8cLWFk0RUPB00Aiw2mk>ASp_H*2!H?qbQ%Z%00C(t2mk;AWpfG$04N9m0RU7500AjD2mk>9Rs{e7DMAPU0RdG7C`Jf?00DGN2mk;9V^jzL00CiI2mk;9cwh(s0RUJ900Aj%2mk>AR|P0=2!H?qa&`y+00L!iW(WX&2mk>BQw1nrJP3e<2mk;9WsV2{00DKH2mk;9Y@i4L00L=YE(ido2mk>9>I47*DYggz0Ria*D7pxM00BI}2mk>9_yhm}Db5H00Ri^}DAEXk00C^+2mk;9Z{P?300D322mk;9V(bV20s#C3`UC(0DfkEg2LK2K0tEyG00jmG3=HH2L%BI0|oyC1qBNQ2?Zz=34j6u`vmy}C_VlNfEoz^0Ra9400AjH2><~B{RAjL34j0rJw^!t1OOTZ6a^Lq7zF?UDO3pn1OXWZ69p9o7X>I@34j0rU1SLW00lfCJt14j2mta304@mtP6+^V2><{Aa(D><00D1~2><{Abd(7I00Ci|2><{Aa-azS00CvD2><{AaI6Uc0RZd-00Aku2>=BE?gaJ(@C5P%^aKC_DZ&W=1p(~@^#tz(@dWb(D9#Ch00DQ@2><{AW#kC}00C+02><{AcJK)R0Rrm;C||q@fc6Oh00CwE2><{AWC#iX00D0f3IGED4h0Ye5(NMODH;j@0|5;M4+RkgC?X1g00C$y3IG5BbTkS800Ch-3IG5Ba6k$G00Cb{3IG8B90dRYDN+gm0RSEa00Ajn3IG8C9R(<03V;9sd1eX#00Cic3IG5Ba&!s+00DA(3IG8BAO!#cDTWFF0RbNcD2fVz00C~03IG5BVVDX400Cv53IG5BY@`YR00D2R3IG5BZ?Fmg0RSQe00Aky3IG8BBn1EgDaHx_0RbZgD9Q?e00Cvt3IG5BZP*F`00C*<3IG5BbmR&E0RkZfC||$|fa(eW00Cw23IG5Bbo>ec00ChF3jhHCCItWiDGmz&0RbfiC=v^R00DFu3jhECZXgQ)00C(x3jhECZ!8M{00D3^3jhECUpNZ@00Cz{3jhECZbSfT|1t00DWh3;+NDVZ00g00DBs3;+NDa>xt-0RT1y00Ak~3;+QEH3cZx41fRuZr%(400Cj<3;+NDW$X+900C_B3;+NDZ}<($00D1$4FCWEaDWW}00Ccy4FCWEXN(O100C~24FCWEX_yTF00DHK4FCWEVWbTJ00D2R4FCWEY_JUg0{}t=Km|Sp00Aky4FCfHK?OerJq0Ml4S)avbIJ_>00DK@4FCWEZ`=(400Cv<4FCWEZs-jF00Cw04FCWEXY>sK00D3M4FCWEZ2%4c00D0X4gdiFL9QY00D9w4gdfFWh4#&00Czz4gdfFWiSo^00DG14gdfFZafYE0RTn?00AjT4gdiGMFl8K4uAjwa#9We00CuM4gdfFVqgvc00C`g4gdfFb!-j*0RTt^00Aj@4gdiGM+GQ+4uAjwXMzp@00C}_4gdfFX^;*800DBA4gdfFbes+V0RTz`00Ake4gdiGNd+jZ4uAjwWwH(c00C^e4gdfFV!#dn0RT(|00Ak?4gdiGO9d#<4uAjwW!4S=00C{@4gdfGVQIz=0OSq;0RT<~00AlV4gdiGO$8|U4uAjwW&RET00DId4*&oGYzz+o00ChV4*&oPVPa%vXlZV9bau`R00a#HRt*5Q4FC)d074D`at;8Z4gl&702mJd0Rk@tC|_6%fF2J300DDI4*&rGPz3-1DOwKz0Rc}1C|(bM00CuW4*&oGaBL3%00DV&4*&rGQUw43DSi(C0Rd43D1r}w00Cx*4*&oGWsna500(w&ZeeM3a;yjdvIzhb3IIwB08|eEcn<)U4*&oGI-Cyx0RdYDI=T;l00DQv4*&oGWylWz00C*v4*&oHbavJU0Mriv0RWx@00AlF4*&rHodYQ74}bsxW$q6E00Cq64*&oGa{Lbf00DIZ5C8xHZwL?o1^}P~qywk}q64M_ssjK4DHIR@1_7S~qXVY{p#!A@sRJk?5P$#yXebZ>00DG55C8xHVL%W700D4D5C8xHUrZ1H0syoFwgUhGDOeBy0sy!Jx&r_KDP#};0s*%JxdSL_5P$#yd2kQ_00Cio5C8xHa)1y300DA_5C8%IyaT=i00AkI5C8%Jy92!gD3}m{00C~E5C8xHVW@$0sz1R!UF&SDa;T60szDV#sdHWDcBGI0s+GV#RDkb5P$#yW#kY500C|85C8xHY4i{P00DIR5C8%KzXQPoC|}YLfB+Ey00CtN5dZ)IbQBQ)00Chd5dZ=J$OFm)00Ai`5dZ=K#{fJ_nq00MM#QV;-Y5&!`JtOEc6DS{FJ0RgK6D25V%00BOX5&!@JWt0*C00Cs05&!@JZ=ezY00C~M5&!@JAgmGq00DHe5&!@JbGQ-!00C~k5&!@JZ^RM+0RXN800Ak`5&!`Ktph035`X{!KH3rh00Cv<5&!@JWattA00D3A5&!@KV{Xb40Q3?700BJu5&!@JcLWmv00CtR6951KX%G_t00DLu6951KUmOzv00Ctp6951KWGE8=00D0<6951KZZs1B0sycBvI77CDL@kd0s*fBu>&YZ6Mz5#T}%@I00JOeIuig^6951Ka$FMt00D1i6951KbZip<00Cig6951Ka(EK}00Cuw6951KaD)>80RY?s00AkG6954K-U9#uDVh@i0RZ3w00Aka6954L-vcP96Mz5#bFLEr00CvT6951KY`hZy00Cmc6951KVaO8z00DH)6951KU(^!-00Cy&6951KZ{QOE0Rr6vC|{lvfaVhb00DXI6951KVfYgO00DCT6951Kas(6r0RZ9y00Aiw6aWDM;R7fX6o3E$ZW;nJ+Dfkos1Oe{@?E~op>jNkP6@UN%a|jgx00DIt6#xJMZyXf>00Ctp6#xJMZYUK100Ct#6#xJMXEYT600D106#xJMZ9o+O00D1C6#xMM@&fx0Riy?C{`7K00DAb6#xJMWn>iq00C!e6#xJMWpEV$00DG%6#xJMZhRF00RZ#^00Ak86#xMN^8+Z16@UN%a*`DQ00Cv16#xJMVxScO00C{L6#xJMb*vQt0RZ*`00Aku6#xMN^#drp6@UN%XTlW#00C~w6#xJMY0wn_00DB=6#xJMblepH0RZ>|00AlJ6#xMN_X8;G6@UN%W%3mO00C_J6#xJMVgMEZ0RZ{~00Ais761VO`2#2r7JvW&Wfm3y00C_t761SOVQB^y03;Rw0Ra3100Aj9761VO`vWLA7JvW&Wj+=F00DJI761SNY)lpa00CiA761SWVPa%vXlZV9bao0906-J~k`w^)6aY*W0D=_&vK0X06#yz009Y0P0Rr0tC|{HlfL;~=00DD|761VN{sRC3DVi1l0RjC3D4rI800CvB761SNaI6*p00DWj761eQ00aUA1Ox^I00Ak!761eR{{sO80|W&GD99Fo00Cys761SNW!x430RRXD00AlJ761VN3IqTFDe@Ko0RagFDE1bB00DIT761SNV+0of00ChN7XSbOcn}u=0RRjH00Ai+7XSeP3j`=27k~f(awZo500L!i78d|67XSeQ2Lvcz>=uAD7XSbOWj+@G00DJM7XSbOY)}^f1ON^M5Cjqg6a)YPDO?u-1OW{M4+Iee69gz`7k~f(bZi#@00C)w7XSbObAT5B00LoYRu=$<7XSbUb7603baHkM5CC`*0E!a;lokNE769TF0E`y^00BCd7XSeQ6$D>8+7AG<7k~f(Wx5vt00Csi7XSbOZ_F0}0RS5S00Cv#7XSbOaNHLF00DX87XSbObm$iV1ps3LVFG0WX98aW00AlV7XSeOe*ypjDFzq-0ResjC<+*W1p;CMU;<7^00BMd7ytkRJs=?%7y#550Pq+900DCL7ytkPZv+_t00DFg82|tQVGtPr00D9q82|tQWgHm*00D3!82|00C`s82|tQZ+IC100Cou82|tQUxXO|00C%<82|tQbdVVU00Ci^82|wQbpikZDWVww0ReOZD5e>J00CvJ82|tQaI_f!00DWr82|wQcLD$bDaIK90ReUbD9Rat00DH+82|tQZrB+B00Cv*82|tQZsZvN00D3682|tQaPS!b00C|G82|tQZ~Pem00CnH8UO$RUkDli00C$Y8UO$RbQBr@00Chd8UO$Ra3C500RVXd00Aj18UO(ScmgOe8h`)+cs3dU00Ct_8UO$RWJDSO00C}F8UO(RfdT*lDOMT)0ReylC|VkT00DVm8UO$RWoQ}z00wVxbbe`TC>a2p834c;045p$P#OSk8UO$RI&>NU0Rn^qUpnp=0FD}f00DHA8UO$RZlD?f00CvD8UO$RZmb#r00D2Z8UO$RaJU)(00C{j8UO$RZ^Rk^00Cpl8UO(R7X$zSDb^YQ0Ra{SDB2o;00DX68UO$Rbm$rY00D6B8UO+Sbp&?=00Alb8UO+TbOd$;C;%IP00CqM8vp8vp00CX%8vq0VHv}~VIRrZd00AlT8vq0WHUu;TI0QNbDEu3M1prM1PXti}Qv_8600Aiw8~_CZOax8@Py|v0R0KUJ0vrGw9DoD>M+8L#Nd!v-00AjB8~_CXVFY6YWdvsgX#@ZPDMlOs1p#0LVgzIaW&~&iC{i4N1Oi3`L00BLW8~_0Ti39)vDWV(z0Re~vD5e~M00BI#8~^|YAX_UvAw0|*0PGt8A{+o{8~~gg0JIzc00DBk8~^|TZ`2$B00DH`8~^|TVc;A900DC58~^|TW$YXP00D6F8~_CX9|R`^B?KV^BLn~eDgGP)1pyueCIln|AOs==C<+~b00C$a9RL9Uj|2b#DJC5N0RfH#C@LL*00DF`9RL6UZa5tP00Ct_9RL6VbaEga07M-C1OR&kc?5j~e*^#lDO4Q*1Oa*kcm#X|egr699e@A5+|0sxZ)kput%DbO7N0s)c)kOU~!9e@A9=o00C$m9smFVbR-@C00Cht9smFVa4;SK1OP7tEd((HGXwwuDLftk1OYAtECetFG6X0_9)JJ=WK13a00C}V9smFVWndlv00D4j9smRYKLkAlK?Fkt00Aj-9smRZJ_I}jKmyP400Cvr9smFVbkrUI00C**9smFVU*H}900DI79smFVbL<`f00D0D9smIVaRdMXDgGV+0ReCXC;}gV00C|Y9{>OWX%HU(00Czf9{>OWWgH&>0RVFZ00Ai|9{>RXas((WAAkS>WHKKB00C|~9{>RWiv$1xDMlXv0Rf5xC`uoI00DAP9{>OWVOSpk00CuQ9{>OZZ(?O^_#OZv9{@lf0AwEk0RU?R00DA*9{>OWZ-5^F00DG{9{>OWVT>OD00DB69{>OWWtblT00DHK9{>UXZ3J%w00Akg9{>UYYy@ruD6k)Z00C~c9{>OWX}})<00C#l9{>OWWy~J{0RV>t00Al39{>RXh6E_wAAkS>a^fEV00DIB9{>OWbMPMk00Ce29{>OWW&9ri00CqIAOHXXX$T+y0RW8z00Ai!AOHaYj07kcAb8@|Ab2>@FFO#oQ{RRB={O8`>xPKUjP6BDefQu0|8tBU;thKDE1(L00CwEAOHXXYzQF$00C(ZApijYSONe6DH|kz00C|!ApigYZ!94I00C(-ApigYbT}aZ00D45ApigYX+$9a00DAJApigYV^ARg00DDWApigYWn3Wu0RUP800AjzApijZSpq0*A%Fk@WpW_^00CoqApigYa)2QK00DJ|ApigYZ;T-T0RUVA00AkOApijZTLLJYA%Fk@Jfa~000BIzApigYayY700CvrApigYaMU3H00U%mZ(<<;k|6-vApigYI^ZDy0RdeCI_@EW00DCJApigYZ~P$u00D9WA^-pZatI;-0RWl=00Ai!A^-sanFJ^pB7gw^q67c|DJCKS0Rf=|C@La=00BHOA^-sZsssQ5DLx_q0RgE5C_*BD00AaQA^-pZa!?`w00D1SA^-pZa$F(+00DAhA^-pZWoRM*00CcaA^-pZWpp9{00DD)A^-pZa)2TL00Ci!A^-sZ+ynptDUu=p0Rh_tD3&6C00AbPA^-pZWuzhi00C^OA^-pZVz43r00CjPA^-pZbi5(}00BC}A^-pZI>;gb00C^yA^-pZZPX$F00D2>A^-paaCD3!0N^4300AK8A^-pZbnqeo00DFMA^-pZZu}wu00D0TBLD#atONi7DGnn50RXN900Ai&BLD#btpq3>BY*({s{|+}5+i^jBLDyaCMqKU00D9~BLDyaZ#*La00DABBLDyaa!4Zp00CuABLDyaUsNLi00CuMBLDyab6_I?00DAlBLDyaVQeD+0RY$p00Aj@BLD#b*90hhBY*$_Y=R>I00D1`BLDyaZ;&GZ0RY|v00AkSBLD#a-~<2xDW)R;0Ri6xD5@iX0Rr6wC?=pIfUqL~00AbrBLDyaWyB)@00C^uBLDyaV$dT100CjvBLDyablf8V00BDUBLDyaI_M(+00C_7BLDyaZS*4m00D3MBLDydV{l@02qOS;BLJ2o001Na1^~_k$^_B`&;-l`)C2$lDHtRG1_8|k$pp~^&jiZ^(*!6cB!B<`T`VL300cceAX^?H05~E51|$GJBme*bazrEm00D1SBme*bbX+6=00CiQBme*ba%dy~00CugBme*baC9U90sx!@o&*2^DS#vZ0s)%@odhU`B!B<`bc`eb00C^4Bme*bb(|ys00DENBme*bWvC(^cUkD`t00CtVB>(^ca}*^200D9uB>(^cVIU;{00D3&B>)2eqy(k}s0083DKaGh0|BE1r39x0C^{v800DA9B>(^cZ%ics00DARB>(~dx&*ug00AjpB>(~exdgieC}bso00CrbB>(^da&A~90CXh)0RXQA00DA@B>(^cZ-^xT00DH4B>(^cVU#5R00DBEB>(^cWuPSh00DHSB>(^cX{;px00CdJB>(^cbhsq|00DEpB>(^cZp0-30RXlH00Ak`B>({dwFD^CC4c|{ZrUXP00C*@B>(^cXXqsW00Cw0B>({cxC8(JDf%S<0RguJDE=jY00CqKCIA2dZVV;>00VDgWy&Q0^d$fiCIA5dumk`BawaAK00D0*CIA2dbTB3W00Ch(CIA2day%vg00Ct}CIA2dbVw!u0syiEv;+VFDO4r^0s*lEvjiwwCV&6|ZeS(=00C)gCIA2dXK*F}00CuoCIAKiz68Pq#st6w#01C$00Ak2CIAKjy#&Do#RR_u!vx0!D3B(A00C&0CIA2dbf_i(00CjHCIA2daI_`>00CdRCIA2dbigJ60RYwn00Ak?CIA5e)dVQeCV&6|WY#7C00Cv*CIA2dY~&^Y00C+0CIA2dVelpZ0RY+r00AldCIA5e*#sy6Cx8F}WCkYy00CtVCjbBeWE3X=00CthCjbBeWgsU200CnrCjbBeV=N~C00DI}CjbKg;soRb<^%u%DLy9v0|DU#;{@ddC`KoM00Cu8CjbBeY*;4%00ClNCjbBeVPq!&01Iz$er026Vqs=;bb2HJ(j)*ZB>;LQ02n3!P9^|+CIH4J0QM#TI41yVCjbBeI&dcd0RiU(I-Vzh00DHQCjbBeY^)~$00DKfCjbBebGRn}00CvbCjbBgW@T~|Api~{0K_K%2?AOGOaNE_Q~*!_N&r#-P5@Q_C|~FxfXXKT00Cv#CjbBebMz+w00MM!&L9B#CjbEeI{*Lya|$Q`00CzXC;$KfVH79;00C?oC;$KfW*{g400CbnC;$KfWh^KF00DI}C;$KfY&a+Y00Ch>C;$Kfc0?!u00Cc0C;$KfWl$&p00CoGC;$Kfa$G0?00DJkC;$KfZ)hk000DDuC;$KfUvww{00CusC;$Kfc7P}V00DA_C;$KfWsE2Q00DE7C;$KfWtb=c00Loh04M;SC;$Nf8~^|TWv(ay00C~YC;$KfZ@4G`0RSBU00DW#C;$Kfa>ytE00CjnC;$KfZqz6M00C**C;$Nf9smFVZ00Bc00Cj@C;$Kfbnqwu00Cq6C;$Nf9{>OWYyv3&00ChJDF6TgZ44;@00C(dDF6TgV;Cs_00CtlDF6TgWF#p700ChtDF6TgcrYmd00Ct-DF6TiVsB{RC;rFI00Aj*DgXljwE?#Qxd8wHDSj#d0|B%FwgI>SD26J40|TxBumQ3GJSaVADgbyYfQ%{t0RXK500AkiDgXfitN|#nDu4h1J+>+U0|37P!2!bo00Ak)DgXlj#R10w$pHWXDbgwc0|CSV#sSCyDB3E30|LGQzyZPmC_T(7fZ!?s0RS5U00AldDgXfh9RdIWDF!P50RbEWC<-fp0RkEVC?)_afDkJH00AZ#D*yliWh5&A00D3+D*ylic`z#g00DG1D*yliUpy-S00Ct}D*ylibx11!00C@HD*yliVN@#s00DMdD*yliAYdy100DGnD*ylib8IUB00C}tD*yliZ+I&J0RSHY00Ak4D*yoiAp!saDUK@u0RbQaD3U9H0RkQZC?<$2fS4-)00AbTD*yliWvnXz00D5aD*ylidAKV800DHqD*yliU&Jc_00CvnD*ylibe)bDRe9V0s+ba%mFBREPwz3bAT)W00C!;EC2ujVUR2U00C^4EC2!k&jHZ^00AkYEC2!l&H>N?D5xxe00DWfEC2ujVYn;+00DBoEC2uja>OhE0szwi)d2tjDbOqc0s+zi)Bz~gEPwz3Zrm&Y00Cj$+-00CtpEdT%kZ7eMS00C(-EdT%kbT};l0s__n*a0YC5G{Z{EdT%kWkf9i00DGTEdT%kVOT8y0s!9u;Q;^vDP%1G0s-Cu-~lLVEr0+4bZ{*I00C}#EdT%kX@D&N00D1?EdT%kaEvVg00Cc;EdT%kXP7Mj00C~EEdT%kX{0Rx00DHWEdT%kVX!R#00D2dEdT%kY`iT10s!LyjCWn00AjBE&u`n>H+KlC_FBJ00Ct}E&u=lY)mcy00ClBE&u`m?*Z`v00AjpE&u`n?g8)tC}b{x00CucE&u=lZFDXG00LoYSS|p1E&u=rVPa%vX>)YSEC2*80A4Ks!Yu&&EdVes0Dvw400Cc$E&u=lbEqx=0RZy>00AkqE&u@l^#K3@DZVZM0Ri*@D8ep)00DEzE&u=lWza4F00C^)E&u=lV%#nO00Cj*E&u=lbm%Ss00Cd_E&u=lX7nxq00D3ME&u@n@&PDcxGsPIF8}}mc?K^400ChVF8}}mau_cF00D9yF8~1m_W=L_DJm}j0Ri>_C@wF600C|^F8}}mVLUGY00Ct}F8}}mY)CHv00D1KF8}}mZ&WV;0RZ^{00AjrF8~1m`vCv}DQYhO0Rj2}C~hx+00CumF8}}mZG0~P00C)&F8}}mbcini0Rs2|C|_hRfQ~N!00Cu`F8}}mbf7N)00Cj9F8~1m{Q&?0DY7pB0Rj90D7G(v00DHoF8}}mZp1GD00C*rF8}}mZ_qCQ00D5;F8}}mU)(PM00C#>F8}}mZs;!n00C+4F8}}mbo4I(00Ck8F8}}mZvZd=00C?UFaQGp{{aC40|Ed6DH1RM0|EX400II6C>k(;00DC#FaQ7nbu2Id00D0@FaQ7nWjHVZ00C}3FaQ7nWkfIl00C!8FaQ7nZ%{A*00C`QFaQ7nZ(J|{0RRO800AjzFaQAo1Og~*Fn|C7a&j;L00CusFaQ7nXMivO00Cu&FaQ7nbc`?n00C~2FaQAn2Lb>ADV{I@0RaXAD55Zc00DBSFaQ7nWw0;+00CmQFaQ7nZM-l500DKvFaQAn2?78CDb6qe0RadCDAF*100C#%FaQ7nZs0Hg00C*{FaQ7na_lew00DIJFaQAn3jzQEDgH130RajEC;~Bn00CtPF#rGoY!ER300CkaF#rJo4FUiGDIzfd0RapGC?+w000CtzF#rGoZ8R|e00LoY95DboF#rJo4*~!IDM~Q_0RavIC{8he00CuGF#rGobzCt300C@bF#rGoVQ4V`019DZWM*h-ZgX^YBrgD3F957B01PkyVlV)hFaXFf0QfKfKrsMrF#rGoUvx1500DEJF#rJo5dr`KDXK950Ra#KD6TPp00CvRF#rGoaJ(@900DWzF#rSr69N?i7Xldq00Ak^F#rSs5&{$g76KRoDA+N800DH~F#rGoW$ZBk00(w&W?^Y`XCx{BZY%(tEC8-90HiSh$T0x&F#rGoI`}aF0Rk=pUplra02VTU00CtjG5`Ppbtp0b00C?+G5`PpVKg!T0RSNY00DA9G5`PpZ$vTx00DGLG5`PpVNfyv00DAVG5`PpWn3}<00DGjG5`PpX=pM41OUwd(E!f?(*OVgDReRb1Odzd&;ZT=(f}xaGJpU9d4w_m00Ci=G5`Ppa+opz0stuiD**rjDWoz00s$xiDgh{}GJpU9d9X4700CjTG5`Ppa=z<0s-Uz<^U*~Hh=&DWuP_y00DEVHUIztVX!s;0RZy=00AkyHUI$t^#A|?DaJMc0Ri*?D9Sc~00C>zHUIztW7swT00Cj%HUIztV&pae0Rr*>C||%ffa*2?00Cw2HUIztWBfJ%00ChFHvji_@&DPT7M0s-g%>HsKaH-G>EZfrLI00CuoHvj+ubbL1e00DG@Hvj+uVTd;X1OO2M69E+g7XbhPDU>$=1OX5M5&;we76B-pH-G>EXrwm)00CpNHvj+uVYoK{00CvbHvj+uU&J>600DB!Hvj?vbpdw)00Al1Hvj?wbOCk&DBL%I00DI3Hvj+uZtOPz00D3EHvj+wY;SUoHvrH#0Qffm0RZg)00AisH~;|w>;NbbIDh~FYZf>F00CnjH~;_vVI(*J00CkuH~;_vUobcT00D3|H~<0w?*Q=t00AjNH~<0x?f~!rC`dSf00CuAH~;_vZdf<~00DJgH~;|v{{R31DQY+X0RjF1C~i1_00C=sH~;_vV|+LO00CiwH~;_vVu&~Z00Cc)H~;_vXp}er00DEFH~;_xZ*p}!H~?fg0H8Pk1OWE{`vCa>{Qv*~DYQ5M1OfH{`T+O<`~WDvIDh~Fbi_CS00DB+H~;_vW!N|X00DE}H~;|v0|5X5a_Tq$00D3AH~;_vbo4j?00Ck8H~;_vasW9100CtNIRF6wO#uJ_DH1sV0RT?{00Ai+IRF6xP5~$&Ie-8Gb0#?e00Ct#IRF3wY&1Cl00Ck;IRF3wVL&+m00DGHIRF3wUradw00CxFIRF3wZ&*110Rl_`C|?#ifL=KO00DVqIRF3wVQ@JB00DA#IRF3wa(p=e0RT|}00Ak8IRF6xPyr~6Ie-8GZjw0w00Ci|IRF3wWuQ3#00C^KIRF3wZ>%{000D2ZIRF6wQvm=0DZV)X0RUA200Ak;IRF6xQ~@Z=Ie-8GWzsnS00C{l00DIBIsgCxZtyw)0RUkE00AldIsgFyU;!uqJAeQIat1p900CtVI{*LyViY?700C_pI{*Lybs#$c0RUqG00Aj1I{*OzVgV>HJAeQIXEr+k00C}3I{*LyX+%2!00DAJI{*LybWl400RUwI00AjnI{*OzWC18(JAeQIWoA1700C@nI{*LyVstwI0RU$K00Ak0I{*OzW&tRKJAeQIWr{lh00C{1I{*LzVQG3h0GK-f0RU+M00AkeI{*OzXaOj!JAeQIWwJW}00DKnI{*LyY`{AJ00CjfI{*L*VPa%vXlZV9basL{0Ju2-3OWF4Ism{r0QNcnCOZIDI{=tJOBUzW7IqV00L!UxI6&bJOBXz9RUCVDe61`0RbEVDDFIf00Cw6JOBUzdi*>900C(NJpcd!a|k^E00CbPJpcd!coaPV00ChdJpcg!BLM&bDJDGt0RbWbC@MXG00DF`Jpcd!X*fLq00Cw`Jpcd!Uqn3s00D1GJpcd!bWlA200CcCJpcd!Yg|1500C}dJpcd!X=ptF00DAtJpcg!B>?~dDSABs0RbcdD1JSF00Cu$Jpcd!dW<~)00L-fbUgr)Jpcg!CjkHfDWW|90RbifD5gDt00CvJJpcd!bhJGH00CjTJpcd!W57KC00C~sJpcd!b<8~g0RU?O00Al3Jpcg#Y5^$RJ%9iKW#T;m00D67Jpcd#a(U7{0PsBk0swgddjS9eDF8kI0swshe*pjiDGWXU0s(vhegP;FK7arLa~M7V00ChlJ^%s&cma9=C|?FXfG9oy00DF^J^%m#WjsCr01aVpV`XM=X>ww1b986MGysY<0Dd+AQa1qpHvpzM00KM!kURk3JOCg)0GK@h_B{YXJ^%m#I!HbM0Rn^pUpj6w0DeAz00DV~J^%m#VURum00DBAJ^%&)Jpe%fMF2klLjXqr00AkYJ^%&*JODrdL;yYjLI6epD6l?&00C&WJ^%m#bjUsc00CjnJ^%m#aMV5k00CdxJ^%m$a&(+N0N_3V0RSQZ00DCFJ^%m#Z}dI@00DIRJ^%m#VE{h>00D9aKL7v$Weh(600DFoKL7v$X&65M00CbfKL7v$c_cpo00ChtKL7v$axgyt00D9~KL7y$BLDyaazZ}<00D1CKL7v$bWA@000CiAKL7v$a#%kA00CuQKL7v$bYwpO00C)gKL7v$UvNJF00CuoKL7v$Yn+bDH=ck1p#mXbO3e$asYS$C?-IF00CtzKmY&%Z9G5#00C)2KmY&%bVxt|0Re3QUrs;(00CuGKmY&%bX-6H00CiQKmY*%ZU6uQWo|$K00C`sKmY&%X?Q>Y0RV3R00DG_KmY&%Wr#ok00DE3KmY&%W|Tkx0RVjf00AkWKmY*&d;lnF%KmY*%g#Z8nDfU1B0Re;nDEdHv00BJ!K>z^&hX4QpDGosZ0RV{r00Ai&K>z^(hyW-YL4W}Qh5#r%5K>z>*Av`@kvOoalKmZ6q04hNM00D9~K>z>&Z%9D^00DGPK>z>&VN^i?00DAZK>z>&Wne)700L%knm_<%K>z^&djJ3dDRw~s0RegdD0)GF00C@(K>z>&VTeHh00Co;K>z>&Zz>&U!Xw%00DERK>z>*WOQ$7Xg~mdKmcq(0IWd(00BC(K>z^(iU2yqL4W`OWy(PS00C{%K>z>&Y1lyk00DH~K>z^&ivR!ta_T_<00Cj{K>z>&W%NM+0RW5u00C$KLI3~(bOb^G00C|aLI3~(ZxBKN0RW8v0sxNykpKVzDIh`s0s)QykN_wqLVy4PWh_Df00Mb*96|s#LI3~(VLUh0RWW%00AjvLI42(mjD0(DQ-dl0Rff(C~`u80RWi*00Ak0LI42)m;fk*LVy7SlmI9^J!nFJctQY*LI42(n*aa-DWXCE0Rfr-D5gSy00BL$LI42(od5s00Ak)LI42)o&YGwLVy7RoB$|2zCwV`LI3~+Av`@kUP1tpLIAWv0Mzpf0RSri00C~)LjV8)Vc0_e00Cv*LjV8)Y~(`#00D36LjV8)Z}39^0RSuj00C_LLjV8)VE{w`00CnLL;wH*X$(XF00CzbL;wH*Zx}=X00C?sL;wH*ZzMzj00C|)L;wH*Z!kmv00D9~L;wK*EdT%kazaD^00Cu2L;wH*ZcIb~00C)IL;wH*VOT@}00DGfL;wH*Ze&CN00L-lJVXF$L;wK*F8}}mWqL#a00C`&L;wH*X@o=o00DH0L;wK+E&yMUL;wH*WtKz$00DHKL;wH*VWdO=0RS)n00DHcL;wH*ZnQ)I00C*bL;wH*Z@@$V00D5uL;wH*U(7@R00C#xL;wH*ZrDTs00C*_00DNUMF0T-Gyq?$MF0Q+WwJ#800CsWMF0T+HUIzta>hjf00CvnMF0Q+V$ekZ00C{*MF0Q-Z*{;$0Nh0Y0RT4u00C$0MF0Q+Ztz6_00C+CMF0Q+a{NUA00DFYMgRc-H~;_vWe!FF00C?gMgRZ-Vi-mM0RTAw00CtrMgRZ-Z74UB900C*PMgRc-NdN!=DY`}g0Rcz=D85F300BJ2MgRZ-Jj_M_00DB+MgRZ-Z`eiv00DH~MgRZ-VdO>t00DC9MgRZ;bY-+g0Psct00D6JMgRc-CjbBecm_uR00CtRM*si;WDrLH00C|mM*sl;C;$Kfaw10n00DF+M*si;a4bgv00CbzM*si;XgEgz00DG9M*sl;g#iEoWlBc?00C}JM*si;X;eo50RV;p00C}bM*si;ZDdCP00DJsM*si;Y;Z>a00D1yM*sl;hyefrDS}4;0Re{rD27LX00C@_M*si;Z00D2BM*si;VxUI=0RV~t00AkiM*slsOyNPqzXlL06_9!P*LNB{r@AR#Y-4X)M*w_B0DMRQ00BCJNB{u=mjODENPqwVZk9*@00D2FNB{rKLRLJNq_(WJX%Qr00BH=NdN!=a%f2a00D1qNdN!=baY7o00CioNdN!=a)3zy00Cu&NdN!=aEwU+00m-YaCdLwNC5Ik00>C{N=X2cNdN!=I+#fS0Rce*I<85800C~aNdN!=Z@ftW00C*jNdN!=XUIta00CvrNdN!?X>f8JM*zY|0MtnU00CdxNdN!=W#~x&00Cp}NdN!=a`Z_600DLSNdN!=ZvaXF0RSlg00D9gN&o->ZxBiV00DFsN&o->VH`>T00D9$N&o->WhhDj00DF^N&o->X*5az0sx2th5`TqDL_g90RWZ)00AjXN&o=?l>#VGN`L|ahXREHC_P3>fL2NX0RWN$00Aj%N&o=?kpd`iN`L?XJa$R|0RWT&00Ak4N&o=?lL9D+N`L?XJ&sBM1OUte&;rf^(gFYhDV$0G1Odwe&jQT?(E=!@N`L?XU93s~00cceAzNNb0DejUmP!D+N&o->a==Oe00D2(N&o->bl6G&00Cj%N&o->a^y+?00Cv{N&o->aPUe11OSQxjslDVkOBY!Df~(R1ObTxjRK1Tj{+zLOMn0YWeiII00C?oO8@`?VjxQZ0RS!o00Aj1O8@}@EdwYpOMn0YWj0Fy00D45O8@`@VRtHDfUYM0RguHDEdo)00C|QOaK4@X$VXJ00CzXOaK4@WfV*R0RXxJ00Ai=OaK7^xdJF8On?9ZWGYMm00C|?OaK4`Y;R&^a!Ua4O8^>7060tl1pt}?oC2T%q5_@*00AjbOaKJ|nF5;vp8}x*odPIaOn?9ZWnxSK00DDyOaK4@VR%dc0RX5100Ak4OaK7@ssaE3DUM740RgE3D3VNo00DHEOaK4@ZlFv600C*HOaK4@Xsk>C0RpE2C|`(7fU-;g00CvVOaK4@W5i4V00CjjOaK7@=mG!%Db`E?0RiU%DB4Vb00DX6OaK4^Y;@2}0O(8r00D6BOaKA^yaK)g00AlfOaKA_y8^ueCPym0RR*O00Ak`P5=P`69XvJPJjRbZrV-&00Cj*P5=M_W#~=-00C_7P5=M_Z}d(800D3MP5=P_76SkQDF#mf0RR{S00AiwPXGY{7Xv61Pk;acWg1Ta00C_xPXGV`X(&$s00DF^PXGY|6$2<=3QvGEPXGV`Wjap)00DGHPXGV`VN6c|0RS2U00AjjPXGY{83QO>Pk;acbYf2c00C}lPXGV`X>d;f00D1yPXGV`aC}by00CcuPXGV`XNXS#00C}}PXGV`X_QX@00DHGPXGV`VW3X{00D2NPXGV`Y^+ZJ0{|QY9s?i)00AkuPXGe}8v`8!9|I`BPk;acbH+~q00DK}R00M7mj8Oo#Q2+!0-~!|V;sWLZ00Ak+Q2+!1-vZ+T;R59XD9}-W00CsyQ2+n|Zsbt_00DLCQ2+n|Z}3q700Cn5Q2+n|U;I%300D9WQUCw}We8FL00DOnQUCw}Zxm7h0RZX(00Ai=QUCz~=>jMuQh)#fWhznt00DY3QUCw}X*f~<0s!m+?g9V-DMV5L0s-p+?E)xDQh)#fc~DXS00CiIQUCw}a$r&b00DAlQUC$~@B;Dz00Aj-QUC%0?*j1xD0otU00C}(QUCw}VTe)y00Cu=QUCw}Y?M*}00D2BQUCw}Z=g~D0s!;^_5uI_DXdZe0s!~|`T_s}DY#Mq0s;2|`2r}uQh)#fWyDed00C{zQUCw}Y1C2x00DH`QUC%1^8)n(C||NtfZ$R900Cv@QUCw}bo5dH00Ck8QUC$~`~v<000AimQvd=1`vUy}C=64800DFoQvd(~ZX8np00C(tQvd(~Zzxj$00D3=Qvd(~Uo=wy00Cz@Qvd(~Za`B200C)6Qvd(~bWBqK00CiAQvd(~Z&*_R00C@XQvd=000RO800Aj#Qvd=1{{jI6C~#AN00DA#Qvd(~Wq?xv00C!)Qvd(~WsFk*00DH8Qvd(~ZkSU50ssU91_J;ADWp>X0s#X91p_FmQ-A;gXRuQM00C~gQvd(~X~0te00DBwQvd(~bj(u#0ssgD3IhNEDcDm00s#jD2?HqJQ-A;gW#m%;00C_7Qvd(~V)Ro00sssH4g&xIDF9Re0s#vH4Ff0!RDb{hWeijR00C_lQ~&@1VQKnP031{R00&`WWM*k|bZk-prcwX^QvhUB0G?9-(o+B;Q~&@0Uo2Dr1OPAtGy^gNHUj_wDNs}Z1OYDtGXpULH3KMGRDb{ib972n0AN%A1OPY#JOerdJ_7&&DR@)>1OPw-L<2$tMgsr=DTq`61OYz-LjyqrMFS|3RDb{hbC^^B00Cj9Q~(45Hv>BZIRiZdC|`n9fUHyi00DHeQ~&@0WyDkf01R(*V`Xq@VrFb}VQ2PA07^>$K1=`_O#o0$02EOGN>Kp3Q2-iJ06tOxZd3ruQ~&@0I?z-A0Rl$@UphKU00LEj00CtPRR911Y!p=h00CkeRR941V*mgFb0$>)00CzzRR911VK7wy00C?^RR911W;|5@00Cb@RR911bVyYI00C@HRR911byQUV00CiIRR911W?)qS00CuYRR972WdLUY00Aj-RR973WB_IWD0o$X00DA-RR911Wr$S(00DH4RR911bd*&900Ci|RR911ZJ<>E00DBQRR911Z>&`S00CyQRR911U$|8O00C^iRR911ZNyao00D2xRR972X#i^g00Al1RR973XaH&eDBM+m00BJWRR911JnU5f00DCHRR911Z}?RJ00DIVRR911VFXqH00D9eRsaA2We`>X00D3oRsaA4WOQ$ARRGXc0322T00BB8RsaD3YydhiR)7EjayC`~00Ct_RsaA2bVODF00DGLRsaA2VNg~800C`QRsaA2a$Hsb00D1eRsaA2W@uIb00CcaRsaA2Y;;xt00C`!RsaD2p#T5@a)wp_00DK1RsaA2Z;)010RW-^00Cv3RsaA2bf8uM00DKTRsaA2Zmd=S00C*TRsaD2qW}N_WWH7a00C~oRsaA2Z^%{v00CppRsaA2Wz<#x0RW@`00Cs+RsaA2Zsb+~00D36RsaA2WAIi000Cw8RsaA2bNp5S00D0TR{#J3ZU|QZ00ChRR{#P4rU0k_00Ai)R{#P5r2wY@C?HpW00CttR{#J3Z7^2=00C(>R{#M3ssI21DMD8O0RgE1C`MO+00BKrR{#M3tN;K3DOy(m0RXN500AjvR{#M4tpF%!SAYQkumAu7DRx%?0RgW7D0)|b0RyW5C_Fu0SAcF;0DxBj0RXZ900AkOR{#M4u>dHXSAYNkJ)&0t0RXfB00AkmR{#M3wg3PDDY{nx0RgoDD85&K0RpoCC_S`SfW%h-00bdCJw8-d0Ekxrs#gHaR{#J3a@bb@00D36R{#J3bnsUI00Ck4R{#J3a{N~S00CtJSO5S4a0plc00wAnb8d8RmR10`Rsh;o02EgMJXZh?SO5S4Iuuv{0RXrF00DC}SO5S4WjI&>00DG9SO5S4bwpSI00C}FSO5S4X;4@I0sy)IyZ`_JDO^|p0s*-Iy8tL+SbzWlbZA%r00CukSO5S4b9h()00CxxSO5S4W`tM(00D1`SO5S4UyxV;00Cu|SO5S4ZJbyD00C*DSO5V4z5oCLDXv%m0Rg=LD6&|900BL?SO5V4zyJUNDaKd;0RX}P00Ak`SO5V5!2l@KSbzZl!~g&RDdJcF0Rh7RDCSsz0Rz7PC_FvNSb*AC0PI)*0RYAT00AikSpWe6#Q-P>S%3fmJq}p_0RYGV00Ai+SpWe5$^ZZXDJEF}0RhPXC@NWi0RqPWC_NxqfG}AA00bdCJwCu#0Q6V@7Fhr|SpWb5azt4G00D1SSpWb5bX-{g00CiQSpWb5a%foq00CugSpWb5aCBJ!00V7wZ&p|Us8|4cSpWb5I)GUK0RhVZI*wU@00DHASpWb5Wt>?600DENSpWb5W~f;J00CyMSpWb5Z?ste0Rp!GI$thWfVx=#00CvdSpWb5ZOmB!00UufX&_YqfK~v~SpWe5FaiJpbLLq900C#}SpWb5VenZ100C_FSpWb5X8c(I00CbDS^xk6bO>4i00C?cS^xk6brf0v00ChdS^xk6W*}Ms00CttS^xq7G6FOL00Aj7S^xq8F#6?00Ci&S^xq7HUc;T00AkMS^xq8H3ByRD4be=00BIrS^xk6Jgiy(00DBcS^xk6Z@5|j00DHqS^xk6VZ>Sh00DB!S^xk6Wzbpx00D5;S^xk8WO;8aS^$t*0Nh#t00BDUS^xn7IRZNHT7Uona`svP00CwGS^xk6bOc)f00DFgTL1t7VGvsY00C_lTL1t7avWO#00D0zTL1t7W++<#00CbvTL1t7Y&2T{00C_}TL1t7VL)2|0RTt?00DDMTL1t7XHZ)J00CiETL1t7Y+PFa00CxVTL1t7UuatZ00DGvTL1t7Y;;=y00DJ+TL1t7VSrlz00Cx(TL1t7WsF+@0su+_OalM`DVSRT0s%<_O9LpLTYvxoa->@T00CvLTL1t7bhKLl00DHmTL1t7VZd7e00C{rTL1t7a?D!*00D2(TL1t7X4qQ*00Cd#TL1t7Zsc1400D36TL1t7bMRXL0su|}Py+w~Dg0Xi0s&0}PXj0dTz~)pJP2F>00BG_TmS$8au{3y00D0vTmS$8bR=8=00ChtTmS$8axh!~00Ct-TmS$8a6DW900U%dZ<1R8_FDi#TmS$8I!Igq0Rd41I#yhO00DAbTmS$8Wn^3c00DGrTmS$8bZ}e%00CikTmS$8ZG2n+00DA>TmS$8Z-`s~00Cx>TmS$8UzA(`00C~ATmS$8Z=hTN00DERTmT6GQv+QCSp!uAUjtzSTLV`EV*>yIDY9Gu2?0_ATmx7GR0CcEU;|nMRs&)KD8^iX00DW-TmS$8W#n7{0RUwK00AlRTmS(9WCJMlTz~@rZ3AxuaRUGWDFR&p0|0Xabpv+;00AiwT>t|CaszY&b^|CFU4R1vYy)lsa05IjJ^EY#3SEF6T>t|BX9H;iYXblQDL!2Q0|90OXai~kC`Mg?00BKrT>t|Bc>{X`eFFdiDPCOw0|9sgdINj|C}v%N00BL0T>t|Be*=L7g988oDSll50|12shXaWN00AkCT>t|Cgad{Hhyy5;U4R1uegl95f&(Z$hFyS~T>t?9nF9a;DYjhz0Rfl;D7syM00DQvT>t<9WyoCs00C*vT>t<9cGO(}00CdxT>t<9XW(4`00D01T>t<9Y3yA900DCHT>t<9bogBW00DFUT>t<9Is{$-00BA*UH||AWDs5e00DFsUH||Aa~xg(00lfDJw6~RT>w~J0C-&hrdt300Cc?UH||AbevuQ00DENUH||AZm3=W00D2VUH}0Aivs`wa=Kms00D2lUH||Abi`f&00CjjUH||Aa?oA?00CvzUH||AblhG50RW8y00AlJUH}0Bi~}g_UVs1rZt`9L00C+GUH||AX8>OS00CtNUjP9Bj{^V!DH2}*0RfH!C>CFU00CqiUjP9Bl>-0)DJow80RfZ)C@x=s00DV4UjP6BbUa@G00D49UjP6CZfzuA07zc|0RWK$00AjjUjP9CkOL@OUw{AsWny0d00CoaUjP6Ba&TV&00DJ&UjP9Bn*#s=DS}@B0Rfr=D288v00DB0UjP6CZ*+WL0F++<0RWQ&00AkaUjP9Ck^?BHUw{AsVXj{Q00DHiUjP6BVZ2`e0RWc+00Ak;UjP9CmIElvUw{AsXwqK*00DH`UjP6BXW(A|00D01UjP6BW$a%7010bvV`*Y#b7XAlTmWKT0JL5J;$8p@UjR;D0GeL_!e0RLUjP6BI{04z0Rfx?Iv!wv00DUk00DGAf00D5mU;qFCZ^U2#00BD6U;qIDVg)+TV1NJtbJk!000C^?U;qFCVdP){00DC9U;qFCW$<7C00DINU;qFCY5ZUS01swvaCTv1WNB}6ba`rPY&Zr0(iZ@vC;&P#0Omdbwm$$)LjaCO002h-21)?fSpY^`0IXa9GGG7#VE_ODItXC^0|IOSWB_IWIw&w!fOu7a00DALVE_ODWn5tZ00DGjVE_ODbZB7!00CicVE_ODZFFG(00DA(VE_ODZ-8L{0RTe+00AkCVE_RELINm|VSoSube3TN00DBIVE_ODWu##M00DEVVE_ODbFg6m0RTh-00DNqVE_ODZopvx00D2tVE_ODW6WUy00C^$VE_ODY}jD{0RTk;00DC3VE_ODW$0l500Cs~VE_ODVf0}D00CwCVE_ODXaHgW00CbHVgLXEXAEKh00C(dVgLXEW*A}s00C|uVgLXFVQ=1H03>1n0RTn<00A~MVgLXEF*srX00DG9VgLXEVMJm800D1GVgLaEM*;u=b5>#i00DAZVgLXEWnf|e00DGnVgLXEbZlY(00CigVgLXEZFph;00DA-VgLXFY;RCv0EA)y0RTt>00DB8VgLXEWtd_B00DEJVgLXEa-?Da00CjDVgLaENdf=?bGBjt00CvXVgLXEa=>B$00DKzVgLXEbj)G^00CjrVgLXEW!Pc>00Cy+VgLXEU*uu{00Cs`VgLXEW$4Nv00d@mb$5zl0I*^JAY%Y>V*mgFUwC5x00Cu+V*mgFY>;CB00Cl_V*mgFVVq+C0RT$^00DETV*mgFZmeSf00D2ZV*mgFX}Dtm00DHqV*mgFaKvK(00CvnV*mjFOacG_bJk-300DE_V*mgFVc=r`00C^~V*mjFO#%P`Zt`OQ00D3IV*mgFY5ZdV00DFYWB>pGV+dpb00C|eWB>pGbrfU(00CwiWB>pGUm#=v00CttWB>pGWh`U>00D9`WB>sGP67Y{Za!oH00D18WB>pGX-H%M00DGPWB>pGV^m}S00C}VWB>pGbzo!w00CxZWB>pGUupGWq4!&00CltWB>pGZG>b100Cu+WB>sGPXYh|ZkA*K00D2BWB>pGX`o~P00DHSWB>pGW2|HV00C~YWB>pGb+}{z00CycWB>pGU&Lep00CplWB>pGY0zW<00DH?WB>pGVccW@00DI3WB>pJV`go0>|+2pWB`z40O(`@00Cd_WB>pGWB_FV00CtNWdHyHbPQzx00D9mWdHyHZy03&00Luh&|?4|WdHyIZg`?&03>Aq0RT_}00DV8WdHyHY&>NE00C}7WdHyHZ%AbT00Cc4WdHyHa#Upi00CuMWdHyHWME|g00CiUWdHyHWo%^t0RT|~00C}zWdHyHZ+v9{00C)&WdHyHbckgD00Ci+WdHyHbd+TP00C~AWdHyHWuRpM00C{LWdHyHWvpcY00C^WWdHyHaJXdv00C{jWdH#HQUU-0Wy)m$00D5$WdHyHdDLY900DH`WdHyHU*Kf`00C^~WdHyHVeDl900D0DWdHyHZ}?>Z00C+KWdHyHbOdGq00D3cW&i;IQvv`1Wfo=t00D3sW&i*Ic_3y000DF+W&i*IUo2(-00DF|W&i*IVK`<000D14W&i*IY(!=N0RU7200CuCW&i*Ia8zah00DVgW&i*IbYNxx00CcSW&i*IbZlk-00C}tW&i*JW@$=h0C;8q00CcqW&i*IY=~w600C@{W&i*IVU%V700C{9W&i*PW?^GxXlZYAhG77@`00C{{W&j5OiUQ&UUj#+?WSbzWlbT(%I00Cu2X8-^Jb4+Id00CxFX8-^JW>{wc00D1aX8;8Qw*aL8rvMlLZU8zcUoKdHAXk87X8-^JWol;t00C`+X8-~Kl>{dN00AkEX8-~MlmsRLC}fmpfJ`6&00Cv1X8-^Jbf{+l00CjHX8-^JW3*=g00C~gX8-^Jb--r;1_1s8YXK1gE(1^nbpikZDa>a81_Av8Y5@=eEdx&lbOI>aXMg|!W#DH300D6FX8-^OZ)IU=a(U=x0LTRZFlPXWX8^`$0QhGB00L%V4h8^LDF6TgUl?cr00DF&XaE2KVJK(-2mlcQzycEi!U7cm!~z!q#sUBVDKuyR2mufQzXB2g!2%Qk!vYoo#R4csXn+6#XiR7T00CoSXaE2KVQ6Ro00CugXaE2LZC@^E0CZ>o00DA(XaE2LbZ3G$0E#RC00M7eDhB|HXaE2OZ)|dDVT5P^lxP6>HvqO#0PrRN0{{>J8~^|S00CvRXaEKRTLtX|^#tz(@dWb(Iw-mifX)ek00DQxXaE2KW!Pu{00C*jYmqDC%ecv=@N934j0rW%OtO00M4gyl4OhX#fBMZ($5+01j6G1_Oiv%mB~;&H&N?5&&O1C~h(Uem;PHGJpU9c_3*300Ch-X#fBLazJSS6#$?Ez67KLr~|?T#ss1R4h6sjJpiTyssj)O5(UHr$OJ(EMF2klLjXqr00AjXX#f=gp98%FqXVY{!34zwp#u#CzXUu0r30x04+Rkg!vx0!KmbGlJ^(@hMgS;yX@CF$Xntt`00DHaX#fBLVYF!g00D5iX#fTQZ2@lqFatCLG6OaP00Ak+X#fTSYyoZoF9S0JF#|ONUnsz70Mu!K2>`eQDFM#`>;k$2D*@2~?gAbK00AlRX#fcUw*x2v&H?KJxdSQz&;jiN9R(-^YJdO%c?xO(00ChlY5)KMawuv500D9?Y5)lUyaO!((*f`Tz5_1-)dBJXAO!#cDLQHZ2?4tUECJF1?*hF8E&`$YF#*>B^a8>IGXdEF_5vaW00AkGY5)lU!~-<}+X46j#sfD2-2wUnBn1EgDXMA!2?4_cGy&QH_X5QOHUZoL`2r&aD86cd00CvhY5)KMZQN=A00C*@Y5)KMbm(dT2?D{RoK>_Ch1Ow6oLjmal1_LSu00AlZYXAuW&jUaK<^cl((E~yO=m7--DFrADY=8g(XA*1x00C|)YybcOX)tU600D9~YybcObUbVT2>{dsMFHyp2m{swM*-~t3Ii+!00AjTYyb%X(*r~S>H!A>)dNNW>;VY_D+MTAY=8g(Wnydq00C@zYybcOVt{M_2>{pwNdfNx3U0P<@9LTmuaYyblQv;(#S90dRYDe`Op0|T=IwF4UkUnq0bYykRffSeux00nGvbaQa(0{}*80NQB)0Brzl9smFWZg{c;05%!`00CtxZ2$%Ut^%wA_W=6<`2hU@00AjFZ2$%Xtpck8_5k_-_yGI>Whh^eLjXu^fTT?T00DGPZ2$lPa%gP;00CugZ2$lRWOQ>hZ2;H?0Ca5t1pwXyO#$-(5Cbv=00Ak8Z2$!T-~&$q^#KwCGz96azK|00Ai=ZU6=W;R8?s_5l+EH3cgGC@gM(00C|?ZU6uQVMJ~K00Cu6ZU6uQY*20h00D1SZU6uQZ(MEw1pwv)RRQ|}7y~*500AjzZU6=W){Q(*SJOuy&Dc)`X1_9>-RssA083Q{7FaRj(Zh!y*bntEf00C|SZvX%RX$Wrs00D0fZvX%Ra1?I<00CbbZvX%RXCQ9?00C|$ZvX%RX)JF500DF|ZvX%RVK{F900D14ZvX%RY(#GW1px8`UjYRIA_GJP00AjbZvX}X@dI7~1Og!gLj^GaC|qxV00DAhZvX%RWpr-<00C!uZvX%RWq@x000MMuhHn5GP5=M_Zj5gL1pxE|VF3pMBm+hT00AkSZvX}X^8;W31_C1kMFlnhD5!6M00DBYZvX%RWx#I$00CmgZvX%RZOm@~00M7yz(oMkZvX`V_5))92?8bqNCf}^DdKMc1_AX0VgU#OB?CtVHvlN^Z-4*+XY_9X00C|WZ~y=SX$)`x00D9mZ~y=SbQo{|1pxR1WdREUC<96b00Ai^Z~z7Y_XA`B3IZnsNd-6nC@^q<00Ct-Z~y=SY)Ehb00Cl7Z~z4W`U7VH4FW0yOa%Y|DOzv<1_Aj4W&sQWDFaIdIRGeTaDV^-Wo&Q&00C`&Z~y=TVQExw0EBP=1pxd5X#o!cECWsj00AkKZ~z7Y`vYhJ4gxC!O$9mtD4=kF00CvDZ~y=Sb+~W<00C^iZ~y=SVZ?9%5CHH4LIv&vSpok690NcF>H}K=0RkQa>;qi^0|FoeJ_P^)DbR2L5CQK4K?UstSONY48v{QD=>u8;00JEY>jPW?0s#K200CvraR2}VZgX^cZ2+8c0Mu~+1poj90t8Y81Ox^I00AlJaR3DY{{sO8Q3V481q3Mcaex2>Y;bdCMg;&gJOF$=0QzwN00CtRasUDVn*)Ue00Ai?asUDXngfIcX(*}&04Q>R00D9?asUGWkprFsS^@w8DME4p0|Jl(oda0{Unts107`Oz00CuCasU7UV_6~0{|%mB?0OJ00Aj@asUGXCjN#a)1B_0*ZUhDawF0vQIsz!xa)1BH00DG5a{vVcpa6~lkN_6|Z2(_7C_r-nFhhVQLVy4QWno5h0IpvE00MM*UUL8(LI48*V*oG$NCN-?b8>S400C!ua{vGVVSsZ000M7pkjv9bG8Grx*bk1`C00D05a{vGVW$<$V00D0Ha{vGVZ~Sur00D3UbN~PWZ3uJ#00D0fbN~PWV-$1%2LqS{9t0)?Bm^J?A_P1FUpgonbO5{{fC?Re00C$qbN~Ya=LDMsodh~4o+p5YB!B<`bV76h00C@LbN~PWby#!&00DDebN~PWWn^>!00U-aaugu|4k7?*bN~qgS^!J{SO8Q2Pyk8*QUFc>Rsbkp=pcY_bN~PWWqx!300MJmnsfj@9RL6VbaFg&0HAaL00MJxk|+Rv9RLIX?*OC%@c^a*00Ak!bN~ba?f|0#@BpO(D9Chx00CvrbN~PWZrpSL00L!ov~&RCbN~PZVRCPEs&oM8bO1a!0H8Pk0ssmGRs{e7DFk%@0s#pGRRt&tb$|c?bP#m_00CnfbpQYXVIXw?00DR=bpQeY3MxQw630paG%*r~#w_UpgpGbpRGJfOK_$00CusbpQYXb(nPk00C^CbpQnb4g?ScS_KjW6a)YPDXMh<1py5N4+L2S5d;$iD7JNg00DHobpQYXY0Py100MJm(scj|2mk;AVQHjw0N8Z^1ptZzY6JoSu>!9I00DCBbpQYXZ}@cp00DIVbpQYXVFY#n00D9eb^rhYWe|1%00DFsb^rhaVRUIcKLCzD033Dz00Cbjb^rhYbTD=R00MJ#Hg*8uO8@`@Zfrbu0B}bD0|1Kz;{ccf00Ajbb^rqbiUi^SmjWnQc7Ol@a$a@-00CiYb^rhYWpH)?1ORaa2?4kQwgdnHDSUPS1Oada2m!YOwFD@Jc7Ol@Zj5#S00C*5b^rhYXP|Zf00CvDb^rtba|8^VQ5Bn0Csi&tabp_b^v%b00egc6#!)emjJE+i3HgIs{xV%X#h3?P6L4e>I7>5I08@u!T?+Xq69z!NdS%k00Ai^cK{UuWCNA}tpJDw*Z`^lkpgG{H3CfofB@+PY5+F^PXoaKTLPg3KLSVqjR7c7cYq53Z3C|Xu>q9;tN_3OZv$}yvjKkqi~#@vDTa3d3jlKiwE?#QnEdUbOUw+xB-Fyj{zvWcYq56Yy++VumO|+s{p?MZUb-wvH^Yoivc_+Jyv%Bo_B!4cK{LqX9JS}ssL96z5v?*lmcl3YXeyXTLi5ET?AhQeE|LheFBOB00AiicmNUsW&@G{sQ^|4y#U$(lLBZ1Y6DmVS_G^CTm)VOd;t9fd;*C9C@6S<00BKNcmNv!c>}uvn*g!^VFbni-2j#X2nBlseFI|zWdyweX9Q^k0tEyGg#h6I00jmG3fEM#Q@v@l>!F^dINj|VgzIaya8qeXaoTT0|kTt-~j&w1qBNQegfVAkpT$>D3*AD697j9V*=LzodJjfp8-V#)c~6Th64NqngmG%VFG0WO9W>E`UGDB00Al3cmNXuMg(F4)&QIVhXS4fLck3jl=!#R10wp8&Q1$^eH0i37<2i2#-X00Ajfc>oImgagC@#sQuHwE)Qgh69KL$N`7|l>sPhd4LN7egnP%zyX{9vjE2cfCGX9!U2W=lL06_PI-WGc>oju8w7y?9Rz~`8U@S(&IGUn&;rT?(ge-|6a~-(vIEir76lju%mmZ~00Akkc>ojv8U%m=90Y;^83oG%%>=Il&jQH=(FDx`69vx%u>;Wp6$KXs%LLN|DA;*`00CXzc>n|e83gzQ*aV0H00AiydH@6g7zFnO*93(l#00C?wdH?_cZ!mfQ00D0{dH?_fc5`raS}Opm7yyhS0N^4300AIEdH?_cbX0l(00DDadH?_cZeV%<00D1idH?|efCOJC+Fbxh8-M@-XL5P~00C}(dH?_cX@q(J00DA}dH?_cbdY)g00MJ&mU;lB8vp7|W#W4P00DFMdjJ3eVRHO?08%9Y0s!*>r~&{1DGYo700LrY-+98v*D700AjNd;kOilmiw78Ug15C`^2S00DVYd;kCfY;-()0APFo00D4jd;kdmbp#CoyaKuej{|oE4*|XcyaWINDRz7S3ITKk3<0|Wxde^_b_5Oqy#l)gI|3+*e1HG}WRQFS00VMuZUTG&aC`u&d;kgn69N?ic>xy!83KC&I0HNbIs-lf00Ak!d;kUjeF1*~Km$YrLIXwv00Al5d;kUkd;xv|KLbMpK?6ktDCm5E00DFEd;kCeVE}yq3IY-W6ashw76KRodI2{BI|DfbJp(9T)O>&jeE@Y00D10eE00C!SeE00CxdeEVnweE<|v0JMDo00MAxEJ*OWU(9^~00CvzeE(^cVE}#r00D3cegFypQv-nlT?1JIRRdoGVFOzOR|8`M00Ai$egF#soC8t=fC5|tSOZi8UISnQS_4)CVgo2TEPj9O9MJ6R$PFdTYvxoa$bG_00CugegFUgbaZ|I00DG*egFUgVSs)B00C`=egFUga*Tce00D23egFUgW|)2e00Cc~egFUgZlrzy00D2RegFUgbFh8@02p*;ZgF90a&uy2aCT#Fd2MKAXKZ(VYij;y0G?<77HI$k0RR+j0NQZ?9C84tasUW(0K{_u@^k>=bpQ%?05W?3lzRZadjOVJ0I+-jFns{NeE{fv01$ovSbhMuegKmd0KOFf`V{~=765h@0JRnX_7(s#7XWS-0I3%M>K6ba7yw=v0FW2}&KLj+82~;R0BIQjl^FoR8367X02~?sQ5pb$8UU&q0M!}*{u%%~8vuA40HYfK+8Y268~{ul0E!#{%Nzg)9RNce0DK()v>gEC9RL^}08btOkRAZQ9su$l04g5+z)0H7rRq$L3NB>?*+081tSPbL7QCIF}=0QV*U`z8QKCjd()0FWmDlqUe&Cjj3k03|2@DJTFyC;)XR0L>@>(I@~hDF8Jo0Ej67j41%%DFEat02wL(MJfPsDgd7<0Lv->&ME*MD*z!Y0A4EqVk-cjD*&S_00Jxk1}p$SEC53+0GccSo-6?LECBc{08A|aP%QwbEdZ-600J%m1}*?xE&yOI0JkmxyDk9FE&%&304Og2Q!fC5F93xv0J|>$zb^m`FaQuR09-HtU@!o$FaWbK001!n1Tg?nF#uID0HHAer7-~VF#z^402eX0E;&O*f#*&HvlL&04z8Fc{l)lH~^J60L3@}$T$E5IRFSb06#eZLpcDCIRKM60Mj`D*Es+ZIsg_r0A@M>YB~V9Ism;o01P_-5IX>JI{^=ZQKLAKS0IWX%us;C%KLGzf09Zf(TtEPlKmfu(0P;Wp^*{h1K>#E{09!!-UqJwrK>(OR0LDQ8$w2`0K>+wc05d`WH$nhiLI7bx0HQ(wra}PBLIBW000~0?4MPA!LjXrZ0DwaPghK$lLjb@-01!j~6hr__L;z1j0E9#Uh(rLvL;%G^0Qf`z`$PaHMF1*A0AED_VnqOrMF5dS0K-K9#zg?}MF90h04zoTFGc`bMgU$$0GdVsokjr2MgYu400Bn;1V;cbM*uTN0B1)4YDWN-M*x{e0L(`K&qo0IM*#ju05C`ZGe`hlNC09;0GmhvpGW}WNC4(Y03k^LB}o8XNdRF<0G>$zqDcVcNdV|c05D1bG)e$|N&tdN0N6?Z+)4l!O8^^7098u>SxW$uO8}Qk0MJVS)Jp&iOaKr}07*;$O-ulSOaO*V0J%&6y-Wb;OaSam02@sJ9!&sAO#n?z0DVmWfK33aO#rV=0OL&n=S=_-P5>5808LH+QBDASP5^*T0J}~AzfJ(^P5|ys01!_AJWl{>PXMS-0IW{{4^RLTPylsM0C`XV(@+4{Pyjkn06tLwp-}*(Q2+;001Hw8Zc+epQUIz_0NYXk4O0M3Qvgv@0E|-rkW&E7QvlIZ01Q+B5L5t6Q~*#^0GU((om2qSQ~=mi031~SAXNZxRRDBV0LE1S%2farRsb1R0AyAGXjTBZRsg+L00~zB4OakJR{&jC0Iyd7vsVEBR{#T8099B3Sy%w1SOBP40P|P?_gDZ(SpZB~0GL?-oLKRSLITmU3o08d;1Q(OR#TmX_>0KHrQ!CV0LTmbo803=-iC|v+tT>xKQ0E%4zj$Hu3T>!*g0PkG@^IZTXUH~Xw08?H7S6%>+UI3I{0M}js+g<<`UjQ0k08(E7R$l;ldtv~qVgRpV0M%ju*V*nFl06Aj-J!1fhV*rk00M}yx+hYJ6WB?#!0ApkTXJi1KWB{RL0LNqi%VYotWdI9h05N3%HDv&5WdLnu0GMR}oMiyMWdP@8032ojbY=i}W&qe`0NiE(FJ}NVX8?z10E=e;z-IvMX8;&z07Pg2erN!KXaL%10N!W-5@`ToX#izu0Iz8P{%HVCY5<{X0Pt!6Oltt6YXI+S06%O1muvv>YyeAb0GMq6=xqQuZUBjH0NHK;2yXxwZva$p09bDTk8c2zZvg3U0PSx89B=?-Z~$p=0IhHUv2XzEZ~*Uc05fp_H*o-baR7jE0J(7hym0{gaRC2u07!BGOmYC0asZlg0O)c6>~a7#a{xJW0B&;ta&rKza{#Y%0OfN4>2m-nbO0@M0FHD3l5_y`bO85s04sF>FLeNWbpU^L0G)LJ-E{!rbpRZ803db%P<8-Qb^wod0F!nA%60(Gb^t1O04{d`es=(ZcL33M0M&N@BzOQQcmP;<09$wflXw7^cmUOS0NHo|CwTxXc>rs90B?B!uz3Kqc>wBp0PcAJ6nX#{dH`j50BL#v%X$FMdH^GP04I9@Z+if9djQdU0M&Z{3w!`Od;n{F0B(E$mwW)5d;rpX0M>i}3w;0&eE>au06={JYkdH3eE_O`0Iq!i(|rKfeE=AK033b*LVf^7egJ@e0EB)3ynX<{egFl3011BpG=Bg%e*k`e0D^x2t$zTqe*pS_0RDdfNPqxLfB=ht0FQtGx_|(_fB^o000MykEr9?rfdF@b0DFM|rhx#efdKJ=0QG?YAc6oSf&f~A0A7LslY#)3f&j{b0L_8`_<{iZf&ejt05pRDUxNT+g8-F-0GNXS!-D|Fg8=@600D#mEQA0sgaB-W0B?i*60fhhsg#bB)06c{NWrYA~g#es|0H1{b%7p;Vg#ZAC00V{qE`|Uyh5&1Z0B?o>vW5V*h5+$~0QH6dEr$RxhX8Je0CI-_w1)t=hX4SG00f8tPKW?fhybXF0IY}r=ZFC7hyW#t04a$8V~GG~i2$I90Hlck+=&3-i2xaj03C_|Qi=dpiU5;}0GEmY!ioUKiU0(Q00@f!GK&BB{)_+ujQ}K#09lOyv5f$=jQ|yn02z(|Y>ohMjsV1t0LYF2{f+=Dj{q)@0DX@DfsX*yj{w<^040zBDUbkqkN|#=0LYL4%#Z*ZkpLf&0B?~1bCCeZkpRq*02-129+CiQk^pUz0KSp{!jb?JlK>Z!0AZ5=Ws?B4lK{Ds011=;4U_;_lmJ|m0Iie&v6KJ;l>i2n08y0yRh0myl>n-h0Q;2y|CInqmH=jM3(@SmjIcU0P2?j?w0^0m;h9m0E(CZj+g+#m;lC@0R5N%0hs_cnE*PO0C1TAbeRCFnEze@Yn*ctX079Gqg`5D0oB+<80MeWQ{hR;+od7PK05P2aT%7=5odA=a0G6Eq!JPobodEis0R5c+D4qZ;o&a8+0AZd0jGh3Ho&d+50Lq>K^_~Fvo&YtU063ojW1j$Lp8%Yn0H2=#%AWwvp8x`&00p1`FrWZ5pa5r}0BWEBm7oBbpa9FD0M4KQ`Je#(pa3wT05qWhZJ_{hp#Zd@0Jxz5^PvFup#U$U05hThaH0Toq5!s{0J@?81fu{5qX1r`0Aiy6s-pm|qX6xr0P&*$ETjN1qyTE90B)oJsH6a_qyXil0O_OvA*BE%r2t-~0Ai&8m!$xkr2xyN0MDfW^`!v$r2sFc05hflSf&76rT~(r0G6fz(xw2`rT`MB02ZeJPNx7;rvP}T0DPwax~BlXrvT)q0O+Rx2&e!)r~pE!0D!0fgs1?&r~t#L0Pd&&@~8kIsQ@IY0Ar~DXQ=?EsQ{~~0OhFw>8Su7ssJLY09UF2TdDwyssN6v0LrQW&Z+POAWrs{oX%0Mx4h*sA~&tN<6R09>p9V5|V9tN^O40OqU!>Z|}EtpFvh0A{TKYOMgQtpKpC0Pn2;^Q{0at^hHv0Clbad9DDyt^mTW01mGJ60ZPbuK;JS0JyIJysrQbumBRU0A#QLXs`gaumHKR01L4I53vAYu>fVU0JyOLys-cevH%mZ0AR8JWU>IZvH-fW01UGL5VHVdvjAta0J^gPzOw-Ivj8Nt093R9SF`|vv;c;*0KK#T!L$JOv;g|F04TKpE42VtwE$YR0GG7@o3#MbwE)+(02#Ib9ku{qwg6Mya2hp0O`B{8NC1;y#PnO08709g1rESy#Twt0KdHe?Y#i-y#O1&03W^pVZH!mz5tNE0F=G}*S-MTz5oWl01CeVO}_w9zW{u{0D!*$#=ii{zX0{W0QtWFKEMD%zyNK)0CB(ox4;0qzyRjJ0P4U1A;AD8!2n~y0B6Afp}_#9!2t2W0QJEDHNpTm!T@=~0DQs#uEGGa!T{L90Nla=6vF@*!vIOc0DQv$(8B=K!vG1y01dGX0GY)A-^Bpq#Q-G604T-)g2n)b#sJ{P0OZC1H^%@w#{iDU0FuW5?#BS~#{fad07b|EtH=Pa$N&q;01wFkSIGcd$pECu0I10T@yP)7$pApg07S|Fkjem*$^hWX0OZO5CCdOQ%K%)<0AR}inacp3%K+HR0Nl#}6wCk^%m7u)09nico6G>8%mCWV0N%_17|j42%>Y%+09nldk<9>=%>c;F0L;w*1#!si~={si~={si~={si~={SgEL~si~={si~={si~={si~={si~={sHv%`si~={si~-`si~={si~={si~={si~={si~=Wc&VtVsi~={si~-`si~={si~={si~={si~={si~={sHv%`si~-`si~-`si~-`si~-`si~-`si~-`si~-`si~-`si~-`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~-`si~-`si~={si~={si~={sYvMPsi~={si~={si~={si~={Sa^7;si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={sHv%`sHv%`sHv%`sHv%`sHv%`sHv%`sHv%`sHv%`sHv%`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={sHv$)Sm>##si~={si{cl=;*1bsi|18xv;RXu&}VOu&}VOu&}VOu&^)~si~={si{b*si~={si~={si~-`si~={si~={si~={sHv%`si~={si~={sYt1*si~=`si~={si~={si~={si>)`si~={si~={si~={si~={si~={si}B)si>)`si~={si>)`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si>)`si>)`si>)`si>)`si>)`si>)`si>)`si>)`si>)`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={Na(4lsi~={si{b*sHv%`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~=Wc&VwWsi~={si~={si~={sYt1*si~={si~={si~={si~=`si~={si>)`si>)`si>)`si>)`si>)`si>)`si>)`si>)`si>)`si>)`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si{b*si~={si~={sHv%`si~={si~={sHv%`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~=Wc&VtVsi~={si~-`si~={si~={si~={si~={si~={sHv%`si~={si~={sYt1*si>)`si>)`si~={si~={si>)_czCI(si~={si~=`si~={si~={si~={si~={si~={si~={si~={si~={si~=`si>)`si~={NO-BKsi~=`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={NU5o*si~0Wj1Cw4*)beI&pPxbY)*;VRU74Utw-!Uvz10Wpe;wHf1$7IWRRaVPR%tHf3XBG-EJhHDqRCVly>nWHL2j4*)beI&pPxbY)*@Zf0q2X>@62b6;U@WM6J!ZgT)(WnyDBVmW3wW;ZuvHe_ZqV>mE2Gc!3fH#ufBHZVCj4*)beI$>;VZ+Bm8X>?_BVQgP>baH8KXLA5yGcq_dH#0XjGiGKnVPZKkIb&roVlXjeHa1~oGh${o4*)beI$>;VZ+Bm9b!>ELUu3B2F*RakG%+|iWMeopIW=K8Gcaa3Ff}m`05m!}VQg$~cVBX4VQgP?VPbP%X>MP0baH8KXLA5yI5lHrH#B1~V`VovV=^%@IW{q3He_NjH8nUlH#azA4*)beI$>;VZ+BmHZfRq0WMyA-baH8KXLA5yVmM?pW@9&EF*P+aF*h?eWHw|nGBqM;VZ+Bl}X>MV1d0%O6bY*8{a&rJ-WjJJFWic^jGcz$_GcY+cF*rFnV`VroW@IvEWo0xm4*)beI$>;VZ+BmBV{~C`UukZ1WoKn_a{ys8WHC52Vq;`BWjJOwIb~vFGC5)~G&nglHD)q1WHe0{baMbiH#0UdIX7f6IWb`|G&eIbH)A(tVL3Ho4*)beI%#fXWo~p~bZKvH0AVyVIWRXeWiv2hG&5u{G-5Y2G-fg~H8L_`I5;pkF*pwZG&(wRWo%)1Wn^DwY;R$7UvP3|V`+0~Z*Bl#GB7eTG&nhCGB-0~Fg7_eH)LcpH)Aq2Vlrc9GB7td4*)beI&@`nb7fy^WqDtAVQh6}UvOb*a&rJ-G-EhoW@IxtH)An1HDhKqI5aUhG%{mkVq!HlHf3aFVgM34I%aQjZDDj@W^7?+a{wb@GBGeRVPQBhVq-NoH#jq7IW{pkFlIA0Wie(pG-fto8UQppI&N=nWdLC_Gc;o~VKiejGG=6AH#uZCWnyD9Wj8ZoH8D43HfA^)05m!}bYWs_WdLDeVPZLDF=S;iHfA$8F*i15I5uQAVL38lVKXx~VK`(O05m!}VRCX|c>rN%F=jV0Gh;brFfcG?HDohpGB_|{WMX77GBjjnG-fp#05m!}b98cPZf5{tVl*{lW@cqDI5cErGh{L_WH~Z8Vr6AGHDxzqFlI6_8UQppI%#fnWoKn_0AVpTH)LWrWM(xpFfcMRH8(XiF*Rf}Ha259Vm3E2WjGoDG&(wFY;R$7X>MmU7{VKOx~W@Kh&V`XDEG-EMkH!(OdVKQMF05m!}VsCG3WnpdrVK_8pGGjJ0W-~ZuH#lNpGi6~lV>vK2VPZ95GGt*gHyQvmIyz)wbY%cxHD+TsGcq$VF*z_bV`4HlWjHcqHaBK8W;Qi3F=jVr8UQppI&^7mWdLC?H)CTqIW%H9Vl!rAHZwLiF)(IfFgRj1IWjV1G%{ir05xB9X>DZyWHvD|V>C8qIAu09WI1IpG&x~rWid82WMwfpV=^{06$AiZba`-P0B&JzWpi+0V`X%2ZEP-RbZu-SVPaupGi5k5Vq#`7W-?KWEG&(wNZ*FA(VKXx{V>DqjV>B{mWMVftWH)7EV>4wpGh#I{H)S?vI3NHtIyz==a&2LBUtx1!Vrgz+a(Mt@Gh{L`VL385HDqNmH#KHvW@ckKIb&vFF*9UlGBIRkAOJKvI%aQjZDDj@VRK(^V{~C`0AXZiV=^{3HZwOhG-P37Vq|7HH)JzoI5;yiVKQYnVqqWvG&(wFZ*py6bYEd}Uub1`VPs`vX>DO_0AVy_WHV-EV>C82VmD-AFfwFiVrF7vFk)mhH!?M2GC3{+0AFToVP|syZeeX@b8ul}Wpr?_BVRUbD0B&JzWpi+0V`X%2ZEP-RbZu-SVPiLCGdMG2WMwg8IAk_4WMW}7H8MFeVlrYdW@BPDIbr}3Iyz%-ZgX^BVRCX|d0%OCWpZJ3Z*l-5VP#@rIc8-uVKF%~V>n_qG%;Z@W@0m8GB7zdWH)0mGhzS|Iyz%-ZgX^BbYWs_WnXD@WpZJ3Z*l-5VKic6V`MiqGiEh3G%z$}FfchcG&MIhF*GqZH)dmEVqyRiIyz)!W?^+~bYEs~a&2LBbY*e?BVjUPI5%Q7WHL23W;HZ7H#0UkGcz(cFf%b`G&M72H#TAb5;{6*ZgXXFbY)~;ba`-PUvFjrBVlD`F=jAgVq;`vGd4IjWimE6W;9|rF=RPpVK*=_Vr60g5;{6>aCB*JZeeTyBVlGUG+{YrVly)^HDxq0IX5^oF)%bXFgay5Vq#)9VPj$d5;{6_Z*_8GWnXD-WMy~&BVlG@I5je6VKOpdIASwpVL4V`GVrDU7VmLE2WnnpGGd4CfFg0Z}F*jlW5;{6*b6;U{a$$J@BVjT!H8Em0Ff(Q|Wn(mCF<~<>Gd5#5GG$?8Gh{Y7V`E|f5;{6*b6;X_Z){~@ZU7@;IAu3EI5IFcH8EpjIbk?6H840bV`e#FVq`QoWH>lAVgM34I%#uXV`y@3Zf|UFXK7<$Yycx+H)c3DHZ(9cFk@jiWMgAuH)S|7Ic7FDWH>ToFf=$dVgM34I%#uXV{dMBVQFqLE3WHc~kW??uvVP-NlF*IQ^VgM34I%#uXWMOn=03%^DV>M)9VKg;1Gi5VjW@a*CHDxw5HZWmfIX7f7IAmrn02NDZyGB`D3VP-HfGB-FmVKy)~I5jaaGB##8I5Ib3Gc#mj01`SnX>(s@Y;R$7X>MmN37XJv8#BVjc$Gh$?8G+{A0FgGz~Fk)plFl9M1Vq!L9VliPcVKZU?5;{6*b6;y^c>p6}H)1$tW;rl7WH~l6Ib<<2Ibky}WH>i8Vly-~Vlg>2G5{1`Z*pH_Z*F#Fa&&28Y-Ip2H8N&lW@KeIF*z_dWo9#BI5jyiWo9>JV=^=~HDowq01`SnX>(t0Z)9ZvBVjaUG%+$ZW;QcoVKp`|IW{w7WiUB4V`MpEWo0loFf=p(6km2}Wp@B#HDWL}WMN}CV=-kgWMw&JFg7$XF*z|eWic>fHZeG201`SnX>(t0b!}p0asVS?HZ)^pH)UitIX5(9GGZ||I5IOeHZ@{nHaBB5FgQ0eVgM34I%#uXb98cPZf5`^VP#=4G&V9ZI50P1W@R}tVK_7}WH>ToH!(9gV`OD8H(~%1Iyz}{Uvyz&Y-Io=VPr8eV>n|tVK_24He@zAGcjc}Fg7(fHa9t8VK-!CVqyRiIyz}{Uvz10WdI{#I5%NsWiv82HaKB3GGbylGdM9dFf=kTWi(|oV`e!wVgM34I%#uXc42IFWdI{#Fl0GnWHL52Wi&K6F*7h?IW;pdHDhCBHaKK5W;HN4VgM34I&gAjb7gXNWnXh|b#h~6Uv^<^b!A^>Y++|}03%^DGG;e0Fk&$^GG#F}V>2~3I506~IWRS3HZnG0G-hIA01_EGI$?BQaA9<4C~j|LWhN{jb97`nI&*Y#X>MmbYE~`bZ97JZ*FsRAZ~ADWhN{jb97`nI(Kt)a%pa7Uv_C_cPRiPVP$4AV>K~2HaRgfWn^MxIAmdFG+{GjH8M43VKp-|GeQ6~9%29z8ag^*bYE~`bZ97UZ)9aAEFfcVZgX@XbZ>2JIy!J+bZ90i03%^FVKrhhIWcBrW;11DVmV=CIAUdHG-NhqHaIzBG%zwm05lk401_ZNI$?BQaA9<4C}VGKb95kXZ)9aAEFfcVZgX@XbZ>2JIy!J+bZ90i03%^xW;8W2V>4qkHaRwBGB9OjVPa%4F*Y_iWMVcpVL4?+05l$A01_rTI&W}ga$$6Day&dJb97`nI$~jSX=7h+b98cLVQoA^Xkl_bCM+OsZ)9a(ba`-PDF7p3VqrEhIW=T8WjHfoVlg;oGcaR0VKOl>GdMJ5GGj4eNB}e>VgM2(Iy!J+a&u)Ub97`nI&*Y#X>MmdH2WMoPJG$LXE5+OP|aA9(DWhirWWI8%?baH8KXJ2+{Wp^wfb97`nI&*Y#X>MmGCMf_TVKOjgVKZegIAk|6H#IphI5TEqF*jp3H!@)}H8(IcGfV(9A7TI!COSHBVRCb2D06gVIy!YYb98cPZf9S1X=QgTAaitNIy!T7a%pa7Uv_C_cPRiPVP!dGWi&G|Fl1zAVq`ZmVmC4~H!?UgVPZIBIX5;jI8FdGBw_#(BRV>8VRCb2D06gVIy!YYb98cPZf9S1X=QgTAaitNIy!T7a%pa7CMGEWBVjNyVKO%|G&MFfF*G@0WH>Z4Ib$$1H8(RgH#0CeVmMF$G$CRD5+yo1aA9(DWhirWWI8%?baH8KXJ2+{Wp^wfb97`nI(Kt)a%pa7Uv_C_cPRiPVK6Z@HZ^84Heok8I5K20HZnOhIbvaBGh#J0G+{F{G*SRGBVqs&B04&7VRCb2D06gVIyz}{baG{3Z6+)rb97`nI(Kt)a%pa7Uv_C_cPRiPVPiKpHa9smGd40XH#Rb3GBRQ|Gc++|V>UK8GGk*hWK;k&AYuR#CptQCVRCb2D06gVIy!YYb98cPZf9S1X=QgTAaitNIy!fAbaH8KXJ2+{Wp^n6BVjW*I5jdfH8C?VIc794He_NlI5B21H#0LdWnnmEW@T0YG$mpH5+OP|aA9(DWhirWWI8%&b98cLVQnTXAaitNIy!T7a%pa7Uv_C_cPRiPVKQZ9I5cKvV`F4xWH&Q6VPZ5eVP<1uI59FZWH>T6H&_5PA7TI!9y&U3VRCb2D06gVIyz}{baG{3Z6+)rb97`nI&*Y#X>MmGCMf_TVK^{1Ib}C7Vq`crH!?CeFfn6cIWaggIAb<9FgY_YHCg~P9AW?x5;{6?VRCb2UuJ1+WhirWWI8%?baH8KXJ2+{Wp^n6BVjmXVq-NpWMO19Gh;JiHa2E7G&eS3H!(9YW;Hi7F=1Q)G!S9{5)?W*aA9(DWnX4#Y-K2ObYwa@bvSc$a%pa7Uv_C_cPRiPVPj-sVPa%7VmCK2WHK@_W@R}zVlXf@Gh{e4IAk_CWL^L?5@G-n6FNF@VRCb2UuJ1+WhirWWI8%`b98cPZf9S1X=QgQ03%^!G%__|W;8i5Gc++WFg7(fIb&fqVPj)6H)AtmF*#*m05lPFZ*6PaH8*58HZwCcGB{>7H#s$7V=**2I5S~n07D;a03j(lI&^PsY+q(?a&2LBbY*fVV{dMAbRcwZZEQL^aA9(DWnXe-b9HQVCM+OkZ*py6bYEs{VP|tG03%^DVP-I6VL3T5GdX2sVq`NgI5ah3HDhEqWHMtgF*7%207EBi03jecI&W}ga$$6Day&dJb97`nI&X7ya%Ev{CM+OyZ*6Q}W^ZzBVRUq5awaJNBVjc#I59P5G&nRcIW;#oHZ(9dW-~NmF*Z3gVq#`DGi7K1Lmq4ZAt5?CZ*XODVRUbDJUl3KbYwa@Z*z2VWnpb5EFg4mZERm=Z*py6baZ8MCMGEWBVlGRGGaAlVPa)5WjHiqWjHi5GBq`0H)CcnGG#bqWMOImLmy%Q06IE!Z*6Q}W^ZzBVRUq5asXp&VRLhIZ*6Q}F<&usZ*6Q}UuJJ|ZDDkDWpXZPbZu;k03A9yWMOn=03%^IIc76CI5jvmW-~W4WHDtoVq`TrW@R)qFfuVRFgG-c03A9ybZKp603%^BIAk?tH#ah5Vl-wpF*Y+bHZ(J1WMMNoFk>=eH!?7a03A9yZ)Rq5Wpn@|VP-frIW{mcGiEh1GGaM2VK_KsGGk$8HaTTEFkvxfHEjSN0$+4#ZDlAa05W4aWo0pAHDft6VKz20Gi5nrVPiF9Vm380I5}i7W^e#MZ2%x9Uvz10Whi5BZgX@XbZ>2JIyz)wbY&(iAY*TCb95kdZ*6QkI&^7mWhN;AVlX%~WHUH0H#uWwH!);lFk~=cV>mQ6H90akWMeXN06!#c03Q=ybZKp6C}VGKb95kdZ*6QkI%HvVWhN;AH8VLhV>o3tHaRe6H92KAGB;*9GGaC{G-5C|Vr4ZrbO1jQZ2%t=Uvz10Whi5BZgX@XbZ>2JIy!V|ZDl4Y05>yaW;HP|G%;mmWiU8mIXE2JIy!V|ZDl4bAY*TCb95kdZ*6SifTk$`VPj%pF*P%0IW}cEHZwP5H8VD0WMnllH92BoWH~uucmO{$iU1u5Iyz}{UuGYJt$*uZgX@XWMOn=Uvz10WhN{jV{dMAbRcA5bY)+3X>DaDDF7p3IbmfmWiT@`W@cqMFgY?fV>CBnG%#XhI59OfWMyG9d;mWpiU1uXIy!G~WpZJ3Z*n{+V{dMAbRcA5bY)+3X>DaDEFfcVZgX@XWMOn=Uvz10WhN;ABVjaVHa9phGiGFCFfwLhH8nIjVqr2dGhsP0H#1>2Gh%)KKO%|%9U(e8Z*XODVRUbDJUl3KbYwa@Z*z2VWnpb5EFfcVZgX@XWMOn=Uvz10WhN;ABVjdRFgY+|VmV}HVK8JiVKZenG&V3ZVqrHhGGbz6WMhB;KOc$!9V9wBZ*XODVRUbDJUu95Z*FsRAY@^5WnXk@ZDl4bAY*TCb95kNVRU6*bZKp6CMf_TVK-tjW-u}~F=1shIAvxwWMX1AWMwdBVly>nVq#`9VuAoaB8mVVBsw~8aAk5~bZ>G!Jt$*uZgX@XWMOn=Uvz10WhN{jV{dMAbRcA5bY)+3X>DaDDF7p3I5;(9Vr4lnGGS$5WMN}sFgZ0dGBYq?WMw&IIAS?rgaAJxiU1uXIy!G~WpZJ3Z*o2;V{dMAbRcA5bY)+3X>DaDEFfcVZgX@XWMOn=Uvz10WhN;ABVjROV`XA6H83(bW-~KkI5Ih8HZf*qV>dQ9Wnp4BIAMkWKO%|%9V9wBZ*XODVRUbDK0PR7Z*FsRAY@^5WnXk@ZDl4bAY*TCb95kNVRU6*bZKp6CMf_TVKX){W@0fpFf?W~H#cQ4VKHVmVPj!oGh<|AF*IRfW{3bkBA@^gUvz10WdL7abZKp6E@*UZY@h%aIy!k}VR8T?VPr96V>L1|Vlgo_V>UTtV>vK5H8e0{F=IAnW;Z!9VxRyQIy!A{Zggk>BVjN#GB{&5GBRW^VK^~2G%;a0HD)$tGhs0?F*Y_aG-aRw7dkp*VR--}VK`-DH(@t2GdN;6Wn^SCGc++`G&L|`H)1q1Wn(ZgF`xh!0y;WmVRU6EDF7p3HDh98H#uQqH8M3bIAvouVK+1|GBRUkG-hLFVlgr~jsQ8J02c{5I%HvVWhhxJAWbYFL@59xVKy)_HDWh6H#0b5W;bPIGGt;mFf?OhI5jdkH)S_8WRL(k2cQ5K8ag^}aAk5~bZ>GYJt$*uZgX@XWMOn=CM+OhZ*FsRAY@^5WhN;ABVjdVF=93|Ff=e@He@s~Gh#SpFkv?_H)A(9WH~i3Ib@OmIT)Y-7aBS`Z*XODVRUbDJSbytZgX@XWMOn=CM+OhZ*FsRAY@^5WhN;ABVjl&FflkeI5|0CG-P3BHDWkpWM(mAHDWR~GGaG3GGvqhIT)Y-7aTe|Z*XODVRUbDJUl3KbYwa@Z*z2VWnpb5EFfcVZgX@XWMOn=CMf_TVPP^fW@KbyVKy-|Ibkw3W-(-9Wo2e%Ff%qWGBz_YHkJT68lV6d8ag^}aAk5~bZ>GzJt$*uZgX@XWMOn=CM+OhZ*FsRAY@^5WhN;ABVjOMWMnxoV>n`EVKHW8V>M=GH85jhVr61AWid86W@DHDIT)Y-7aBS`Z*XODVRUbDJv}I6Z*FsRAY@^5WhN{jV{dMAbRcA5bY&(f03%^$H#RXdG%`6jW->ToGd5;1Ff=tWHD+NpVqq{bIASoG067?-02dlMI&W}ga$$6Day}?yZ*FsRAY@^5WhN{jV{dMAbRcA5bY&(f03%^BI5sh6W;SFsI5jY4I59LhV`VTfGGjM2VlrW3IW;nz067?-02dlMI&W}ga$$6Day~sMV{dMAbRcA5bY&(iAY*TCb95kNVRU6CDF7p3IA%9AVPZBnVKX;4VKp*kGB`9hIAk?uH#RtBG%+LbZ>2JUol@XWMOn=E@*UZY_|XxIyz`?b#eeBVKF#nGcsW{I5;#mWHU1}W;tazHa226GBsj1VmD!BG`9d3Iy!A>Zgq5J03%^AGGt{mW@RumF=S?8IW;piWnwgBW;QTnI5uWCW@0qA02ewsb7f<1Ze#!>VK`xBFkxaiG&x~6HZe6cGcqtYV_`TpVKQYgWH4rAX14$rIy!D)Zf|pCV{dL`03%^DWjSLuFg7(XV`F48F=jDkG&eCbGGaG3H#IajF*r5102cx}I&^7mWhf~CBVjZ)Fl071GB#l{Fk(45GG;S4V>UN7VrDgEWi~QlGBBk8Ikx~84LUk>X>DaFNGu>tEFe=XAWl;$03%^zVP#`8WMeirI5amfHe)q6V`DclGGSsgFf%bSGi5fX067b{02dlMI&W}ga$$6Dav?n^V{dMAbRcwTZDl4bAY*TCb95kdX>DaDDF7p3H#RpmHeoO~H)Sy}H90mgH#In8VPQ03Ib&jGWHL2ksQ@_`w*VI!Iy!G~WpZJ3Z*n{+V{dMAbRcwTZDl4bAY*TCb95kdX>DaDDF7p3GBPk^H8e6fH8V0~V>LNuF*r0fW->W3H90ghFk)pms{lC|w*VI$Iy!G~WpZJ3Z*n|5D06gVIy!H2baG{3Z6+)rV{dMAbRcwTZDl4Y03%^xWH>QmIWajjGGt{lVl!qkWHmH4H8x{7VKz86Wo0+5067}B02dlMI&W}ga$$6Day&gKV{dMAbRcwTZDl4bAY*TCb95kdX>DaDDF7p3G&MP7G&wLfH#0I~WHw_qF)}%1Wi~QqF=I9`F<~|^uK+n1w*VI!Iy!G~WpZJ3Z*o07C}VGKb95kdX>DaDEFfcVZgX@XbZKp6CMf_TVPQBpWHB{1W;kVGG%z(aF*9W_FgGwVVl!hnIAmoqX0ZS{7`Ffy8ag^}aAk5~bZ>G#C}VGKb95kdX>DaDEFfcVZgX@XbZKp6CMf_TVK_B5G-WkpG&D0dH8N#mG&o{4Fkxe5WMySBVPZBkW3vD`7`Ffy8ag^}aAk5~bZ>G#Jt$*uZgX@XbZKp6CM+OhZ*FsRAarSMWhN;ABVlDVH8Ep0Gh<<9GB!0~H#lT9VK*~lH#s+DWi>N6W;L|{IT&I906IE!X>DZyb98cbV{~+HZERmLUomuPZDlTKbZuf6WMs<#9|Af$bZKp6UvFk+b7gcWDF7p3G&x~rGGk&fGd5;2F*7tYGiEV0Wic=~HZ?b9HD)knxd1`S03QZAI&^7mWnXV*W^-k9C`c?IO(_5)VL4?vHZwFhIA$?6G&DCeWo0>GW-~QpWM(&HG-f$7WxD`D1j_&)8ag^}aAk5~bZ>GYJt%Z(ZDn6?W@d9`bSxlrX>Da+Z)Rq5WppV3BVji;Wi?`AFf}%2W@BVFVL35kF*h_YGcz-0GBaX0FgCpaK^V&b9~wG3Z*XODVRUbDJScQ&ZDn6?W@d9`bSxlrX>Da+Z)Rq5WppV3BVlG`F*P_cHa0S1HaRjfH8eIgGBji{G-EL}I5=ZwIb^>8K^V&bA0s+CZ*XODVRUbDJUl3KbYwa@Z*z2VWnpb5EFfcVZgX@XbZKp6UvFk+b7gcUDF7p3V>mZtW-u{gG-Wn0Vq`NgGh{b4H!(6aH!w9ZH#9Xd!2m%a%K#r5Iy!G~WpZJ3Z*n|6D0FFUWnXV*W^-k9EFg4gZDn6?W@d9`bSVHMVKiYdI5;+BIbmcrH90mjVKikpF)}qbHez8gV>UT5IKu!z7|Q@38ag^}aAk5~bZ>G!Jt%Z(ZDn6?W@d9`bSxlrX>Da+Z)Rq5WppV3BVlAYG%_<~WiU23WH4bgV=!W2GdW~sVlp;2Ibkq2W;VqDK^V&b9~wG3Z*XODVRUbDJ}7i)ZDn6?W@d9`bSxlrX>Da+Z)Rq5WppV3BVl1RGB+?`HDfU`VP-O6IWsggWHMtiFgYDa+Z)Rq5WppecbZKp6UvFk+b7gcX03%^AF*G(YGBadhW;QcpHa9n7GBq_hVPR%DVq{@4Gc!2J06`eH01{tsW@d9`bO2vpZ)Rq5WpplRbZu;e0T%)~I$?5hVR2>2H90tBHa9V4HZ?ObVlZQ6W;r!CV$c9N2ZR9^9y&TG!C}VGKb95kKa&lpLCMf_TVKX;oG%`45H8?dfI5=ZvH!x#3GG;MkW;Qu9HD)zrHPiq(41@s}2|7A&aAk5~bZ>G!C}DDPVRFIy!G~WpZJ3Z*n|5D06gVIy!H2baG{3Z6+)rV{dMAbRc1Ja$$KUDF7p3W-(@AWi?`AG+|^kWMMZnF*!MAFkv@0F*h({H83@0*Z?^jgaH>EIy!G~WpZJ3Z*n0$C}VGKb95kKa&lpLCM+OhZ*FsRAYpQHVRmLV{dMAbRc1Ja$$KUEFfcVZgX@XVRCX|c_t|UBVjN$V`efnWiw_tFk?A5WH>lwFf=h`W;r-AGdVXlV=&wRIU0lk7cV+GZ*XODVRUbDJv}I6Z*FsRAYpQHVRMtBX<=+>dS!B7Y-w|JJXAg=DF7p3VmLQtG&410HDNR{F*Gn`HZWskGG#X~Gh}8tHfCaE-T*l*gaH>NIy!G~WpZJ3Z*o07C}VGKb95kKa&lpLCM+OhZ*FsRAaitNIy!b`V{~tFJXAg=DF7p3HDWVkHZe72G-6>mW@I-wFk(42HfAw5H83|YVl_21-~c%zgaH=0T&QDI%RTUb7d%FZ*FsRUukq@a$$6Dawz~KVKOo^I5}ZCWn?)tG&E*qH8NslF)(8^VPj%sWn(!oIOG614uk<0AUZl_a$$32C}VGKb97&6bY*g3bZ>GjAY*TCb97&6bY*g3bZ>Gg03%^HGBYzcI5;*iWH&NnIbkt2GBGnZWH2&0Gcz_eW@0kt0689n0T%>1I%aHPbaZ8IC@CN&03%^xGGQ_?IW;&pFf}$ZIbvjGF*RXfW?^MHH90t8GG$}v067Ba02u`)0Aw>TH)3UBF*jv5HZ(9}H8(dgHDoq7VPZI8H#awAH0l631B3w=0y;WyZ*X5?VPk73DF7p3W;r=zH!@{1Ib&sJI5cKAGd5&7F=RF}H)1q5VKHQ5>;O500T&25I&gAzZe=K9Z*OcVASM7KVP!QmIAdlpWMeWmVPs`CFgG(ZH8eP3Ffd^=Ibtz4HSPd82JQeE2_^tGW@9-qIAJk0F=1q3G%#Z~F*9T~I5jn4W-~A{F=I0D067PQ0T&%QI%REeY+++%C}VGKb97&6bY*g3bZ>GjAVG3xb08)rATBO0DF7p3G%+zSVmUT5I5uK4GcY+fVKOx}W-~T9G+|>fF=RAh@&Gv-gaH=~Iyz--aBN{?WnW@pV{0fua%XcOCMF;*E-onmBVlAQGdMG4F)}b^H)c3wIA&!vG-WV1WMN`4HZ)>nHe~bwISYgV7b!YAX>N06a&#zTZ*FsRUukq@a$$6Dax5T4Y-Md!d2nSWCM+O!VQh6}UuJA!XLBh4BVjQ&V>e|pG-5O}Gi6~oIWRXdI5uQrVlg*3IAb|vGdK1CIVXex7cn|IX>N06a&#zTZ*FsRUukq@a$$6Dax5ToX?kT}bSxl6Y-Md!d2nSWCM+O!VQh6}UuJA!XLBh4BVjc)VL4?sWj8c3Wi>T6WnnNkH8(S4GC5;1Gh<~pWM=pPIWL3(7b!YAX>N06a&#zTZ*FsRUukq@a$$6Dax5T8bY*fZAW3v(ax5TrVQh6}UuJA!XLBh4BVjf$VK8JfIbvpHI5#peV`XMCGi5O~HD)z6Ff?Q}G-Ub!IVXex7d1LMX>N06a&#zTZ*FsRUukq@a$$6Dax5TobYwa@X>MtBX<=+>dS!B7Y-w|JJVk6}ZB%)1Wj-w8fTk$`BVjROVP#`vHDon6IbmjEH840hI5ssmGB!6fVmLWBI5GSHIWvR-7a2M_aCLKNUt(cnYbZr*Wo=Y>aAhVYEFgAaY;|Q{W^7?+b148LVPZEiI5;&kH)1n2F=b{mVK+54Vl^~kI5TB5VlXvgGyVWM7lZ*9DLOiGWpHd^V`V5~Z*FsRUukq@a$$6Dax5T4Y-Md!d2nSWCM+O!VQh6}UuJA!XLBh4BVjW)VK`wjI5TB7V=-f5Wo2eJH8)~1Wi>f8I5}lyHe&z*IVXex7dkp)Z*FsRUukq@a$$6DasVS?WM*VDI5ROgWHU24Fkv?~W-vE1VK_5pWHM$lVPP^cgaH>iI%#xea$$6DasVS?HZox`I5amgV_`RAHDWL}GB7k`GG#J0V>vc6W;io5gaH=KSfAY*TCb94YBVKp{nF=Jw3FfcY`V`F1AVPrWuI5J{2IAJ(qGGt_9F$e)U2800@2s%1rWo~3BDIjBSZgX@1BVjc#Wj10kGcq_ZH8(aeW-~c6Fl8_@IWjY3Ibk?7VlWB;IR=CQ7XmsuWo~3BDF7p3WMO7GFgRi`V`DRAIAUXBF=b^rWn(#IV>d81WHK@{3;{U|0T~D&V{dMAbO1LuIAS$oI50P6W;Zi3Ic7IxWic=^GdE;6GiEY5V=@i_IR=CQ7YaH$W^Zy|Wnp7zC`NT|V3856ahI76ag6#CIC4!G+{9@GcaZ|WMnd8H(_BhGh;J2Vq`WjFfutcVl@^4IS+&Z7YI5!V_|S%V`+4GC@COgZ*FsR03%^AGGaG3Ghs1iW-~K4HaRk7H#lTrG%`6bGcaQ@HZd?50XYVQ0T&25I%REeba^N#AY*TCb94YBVKrnmGB;&mHezOEWMO16Ffuh|IWT23Gd440I5IM0V;TWD2800@2s%1#VR&D2X?kTSDIjBSZgX@1BVlDWHDNb4VPs@BWH&W7W@9&EVK`c6VKQT8GcYq|F*Y(aIc6XMIUj@p7Xmsub7*pDZfjq3Z(n9u)NIR=CQ7YI5!baHiWV_|ed81VK_KrF)%POW@b1uVKgu}G-fj<0XYVQ0T%)~I$?8PVRCX|c_=9WBVjo=VmCK3H#s(AIW{t3HZwJ4IAk?rH85p2V=yyfGhrwJIVb@c2q0r`ZgX@1I503bWMVlpVq|4vI5J~6V>dTBHZ^8uH!?6aHfAY-M3?C@BCVVPi2lI5}Z5V>DznFlIP3IWuNCH)Aq0Wo0rlWid5nHY@=-ECCq^AY*TCb94YSI5IFcI5IamI5J{2V`gS$H8D0eGGSz9V>4l8V=`hc0XYVQ0T%)~I$?8PWMOn=C@BCVVK+EoIb}CuF=R9}W;rlrVl_21Ff(N}G-NhpGcjc{VlV+YFaa3|AY*TCb94Y^V>4zrHe+EpHe)t0WMyPwGdX28Ib2}{Gd4D3Vq#%pGi72lGcY$bF)}eSVqrOAF*q~N2VDF7p3HDxwsWHmB0V>C51IA&yIGBGnTWMg7tGdN;6V>dQ7H~~300T~D&V{dMAbO1PJH8(RhWi&N7I59FXGi5V2GGb$5Vl*>lWH~S}IWsx|IR=CQ7XmsuVRK(;Zggd5WpXGf03%^EF=Q|^WHT{gHeq5hHaKEqG-5R{Ff=w}G-6_6H85s80XaMY83-U_Z*FsR05>@}H!))}Vl^@~H8)~6G-P2oGcYnaGBsi~HZnA2Wj+Bp2800@0y;Wjb6<0Ga%pa7C@BCVVKrnlWHVwlFfwIkGG#L}F)%k}VliYkI5J`~I5J~5H9!G5Kmi#DAY*TCb94YXG&3_dIA&%wIWaP2Ib%07GGa7jWo0okWHe%CGGt{!0XYVQ0T%)~I$?8PbYWs_Whf~CBVjo;IXE?BHa2BrWHe!7W;SCrI5IM0Vq`F6GBY_fI5I>5IYa>&2q0r`ZgX@1Wi&N4Gc;l~H#1~0Fk?4mGG#GiH8wIdF*P$bFgRv8MgchngaH=LN6H8f^pIb|?nVmD(sW@1PIIY2~2F=99~Hf1n3I5}iuFl1(7He_NnN&z_rgaH=_Iyz}{Utw}`VRY-M3?C@COgZ*FsR03%^yVr64yFkv+@VPP|6F*h}0V>LH4IAddGH!(0aGh{eW0XYVQ0T&25I%#uXWMOn=C@COgZ*FsR03%^HIWlBpGiGErF)%eTI5jjeH90ahWHe?uVPZ35VKHP<0XYVQ0T&25I%#uXWMOn=Uvz10Whf~iV{dMAbO0k^WjHi6W;HWmIW{mfW@0olW-&N5VL352F*ad0GGk(7Q~@~#gaH=_Iyz}{UuJA?VRUJ3XJ2q{X>N2VDIjBSZgX@1BVl4UH8^59Gi7CDVq{}7H!(3XHaIb6GBz|cFk)q8Ff&#GIR=CQ7ZEx-X>(s_Z*6a9Wo~6}b#o|gZ)9a(ba`-PDIjBSZgX@1BVji=VKHW9H#cK2Gh#C{WnnU6Ib=9wFkv_~Ib%69Wj0s=IS+&Z7ZW-(s_Z*6a9Wo~6}b#o|gZ)9a(ba`-PEFf-gWMwKQDF7p3Wi(|uI5uWEW@KVAGcY+YW;tOnVly`}Heoh1WjJDDS^+r`gaH>HIyz}{UubV_Z)at0Wp8zJC~j|LWnXl8aAhnYV{dMAbRceTWMwKQDIjBSZgX@1BVlAPFg7tTV=!egIA$<1H8D11WjQipHZn70V>DziW;I*^IUR%n7YI5!X>(s`Zggd5WpXGfAY*TCb94YBVK+ErVl**1FgZ6jFf%k`G&43dHa9e3GC4IkI5jn7G+qHY2800@2s%1xb6;+CZDM6|C@COgZ*FsR03%^xFf%kUG&Ey1I51)}WH@0oH!?S4Fk@z7W@TbyGBGq@0XYVQ0T&25I%#uXb98cPZf7VdAY*TCb94YBVP$1zWMnWgVKQT7GiEkoV`MjBWn*SxVq`NmGh{F}VqyU~2800@2s%1xb6<2}Vr*q7DIjBSZgX@1BVlAWWn?%xG-Wk3VPrF5VP$4EWH&ZBGh;F~VmLTAWI1F3IR=CQ7YI5!X>(t6X>DaFDIjBSZgX@1BVjURGG=2qFf}nUWH2~kW;bCuGc;i~WH2&gH)3WrFg9iZIR=CQ7YI5!X>(t8VQh6}C@COgZ*FsR03%^zV>L4~VK-)BF=b&jV>UQuV`VmGG-hRCHDY5lF*##s0XYVQ0T&25I&^t(Whf~iV{dMAbO0k^Gc__|HeoqAGBY(YF*ar}H!xx~WjQxFH#RmlGc`9cY5_S0gaH=_Iyzx=D069gWnXkD03%^#VPs`AWiVr5W??gCH8)~3I503}H!@;jVK_81VlicG0XYV20T~V;V{dMAbO1PEH90jmWim2hVKQVeW;A9wWj1DIVP-jEW@ct#H8pMlIShmW7XmsuVqs%zC@BCVVKiekIAmpEHDx$AIW=W8VmW3wWM(vGF=a6{H#0IYG;jeqZ~++zAY*TCb94Y>H#RjgV=-Z3HZWmkGGk#eV>e_qGG;I~H8?giIbt+&0XYVQ0T%)~I%aZjZgeOq03%^JV>dWBG&nIbIbkwkH!w3}F*P)0H)CRDF=073Gh{P#0XcL583-U_Z*FsR05xJ^Ght>iIAb<5H8eJ4VK!ztWHMo6Gh#JjH#cTBGK}}G-5V6VmLQBGI#+w26zD(4j^N1ZgX@1G&E#lH8443V`VmCH)1z8Wi>W4V>mK0VKq53Heq6AdI32MgaH=_Iyz@%bYEd}D069gWnXkD03%^FV=`tmHZn9cIXGitVL4?nWi&Q7VlZW5GG#e1G&W^?0XYVI0T~V;V{dMAbO2>EH)CNjV`DU9HZf&6G-hRFGcaLgVK*{kVK`(mHaLC(IShmW7YI5!Z*XODVRUbDTU{t~X?kT}bSVHMVK_B2Vqs)3GC4P6VKii8Wo0!tV>vfuVKQcAGch=2H-G^-27mz>4j^N1ZgX@1WjSUyGGQ@dI5#(DGGSvjHZw9eVKFr_WHmKmVL4+qf&n=UVgLX-I$?5hVR-;!Y+-YAbZ>2JUol@XVRCX|c`j&lZETkTBRV>4X>MfzBVl4PF=Jt4H90pqIAk|4WimBpWjQxtV>dK2GdDIfV`G;ABRV=`Z)|mKZU7@;F=JsiWH4l6G%#Z}IbVqr37Gc;i^H)J?sG&M6~IA$_tHez9BGGsS1V`hf|MFy7vBQQETZ*XODVRUbDAw4K#Z*FsRAaieZa${v*aBp*IbZKvHCM+OhZ*FsRAaieZa${v*aBp*IbZKvHCMf_TVL32nWn(yIVKFc8F*h+|WMVKkGl>C3E|&o#FgiMKaAk5~bZ>GzC}VGKb95kcZ*_8GWnXY_b7^#GZ*C?mAY*TCb95kcZ*_8GWnXY_b7^#GZ*C?j03%^HH!(LcG&wLbW@0fhGc+_cH90q7F=k{kVKOvjIAdgs0YxsC0V5|mI&W}ga$$6Day&dJb97`nI&X7ya%Ev{CM+OhZ*FsRAaieZa${v*aBp*IbZKvHCMf_TVKgveG-5I{V`F48Ghs3?HDNMiGBPGzJt$*uZgX@Xb8mHWV`X1(Z*ysMX>V>OEFfcVZgX@Xb8mHWV`X1(Z*ysMX>V>ODF7p3Vq!OBG&f^7H8VFfGcYk_V>CErH)AzsGi7BlV>dBjj{!w4mjNR%Iy!G~WpZJ3Z*o07C}VGKb95kcZ*_8GWnXY_b7^#GZ*C?mAY*TCb95kcZ*_8GWnXY_b7^#GZ*C?j03%^CHa0O~WMVinGGj0@IWc23Gcq`2Ib<*}Wi(G#Jt$*uZgX@Xb8mHWV`X1(Z*ysMX>V>OEFfcVZgX@Xb8mHWV`X1(Z*ysMX>V>ODF7p3F*GwcHf3dHVKy^jH!);oH#st5IAJ$6GG%2oWHe-El>tRAVgLX-I&*Jza${v*aBp*IbZKvH0CRM5bz^jNZ*6Q}F<&urZ*_8GWnW)#Z*ysMX>V>WXmo9CE&>-iI(A`fb!A^+a%TV|VPi2fF*Z0gFlI0|H!)&iVlp)_HDoa|HZ?aeWivK5FfIZYIy!b?Y;|Q{ba`-P03%^!I5%QAV>e}EG&VJ3G%_?|I5sh1Vqr35G-G5nH8M6X0v8TCI&W}ga$$6Day=+xZ*FsRAa-GFb!8?g03%^DGdVXiF=03|F*9N{WiUB8Gh#J0G&e9dH)dpIF=jWK0XYmV0v8E7I&W}ga$$6Day=+^VQh6}CMGEWBVjo;IAmcrVPR!6W@b4sFgY}3Gc-75Vq;}tVKiZ3HDsItIR`ER7YjN%Z*XODVRUbDJt%fzY;|Q{VRC0F03%^AI5{;iWMyV%WHDhiH8wagH8f;3IAk(6H8D41IX5$&0XYdS0v8QBI(A`fb!8|)a%XcOCMF;*E-onmBVlA@VlXykIX5#nHaBB6GGZ}hVK+BrW?^M9V>V%AF)*M3ISVcV7Y;f)c42IFWhi5BZgX@Xc42IFWhN;ABVjf&VPj=AWHUEoHe+TmIc8*IH8?qCW??mDFkvt`Fg2n9ISeiW7aKY{c42IFWhi5BZgX@Xc42IFWhN{jc42IFWnX4&VP|tG03%^GHDxwsIA&ooH#9XhWH>WnWHVu8VK6cotH)3NpG-0LzIR`ER7Zy4?c42IFWhi!GY;|QOCM+O!VQh6}UuJA!XLBh4BVjdWHfA+pI5T20WMeaCH8?afW;bSJHD+RCFl97mH94pOITS7e7ack}Z*XODVRUbDJUl3KbYwa@Z*z2VWnpb5EFfcVZgX@Xc42IFWhN;ABVlDRHZWmgI5IFaVKilAH8*5oV=`f6He)qmWnyABI5VmNIU6nl7aux0Z*XODVRUbDAw4K#Z*FsRAa-GFb!8?jAY*TCb95kfVQh6}JXAg=DF7p3I5#q7H8wS2WM*PxWHK-@W-?)7F=aC`Ff%qeIX5*ptN}S4E&>-BIy!G~WpZJ3Z*n{+V{dMAbRc$NY;|QOEFgAaY;|Q{VRC0F03%^BH#ae1VKXygWHMwlGBsi~G%{o`VmV|mWjQc7Ha29g0XY{g0v8!NI&W}ga$$6Day%$@VQh6}Utw}*EFfcVZgX@Xc42IFWhN;ABVjgTVr4KnIW#h2WHvA~HfCWtG+|_9VmUD}IW#adIWe#SITtPh7aux0Z*XODVRUbDJSbytZgX@Xc42IFWhN{jV{dMAbRc$NY;|QkR6Zst03%^HW@KYDW;i!yIb~xrWoBYHIW}WsGi5M2HaRpiGB{$g0XZEm0v8!NI&W}ga$$6Day&gKV{dMAbRc$NY;|QOEFgAaY;|Q{VRC0F03%^HWH2%{HZ@~5FgRm2HZx&nV>o6rWHK=@GBz_gH#9J`0XY{g0v8!NI&W}ga$$6Day&gKc42IFWnW=(XDlFNZ*FsRAa-GFb!8?g03%^CW-~WtHaTQ7Wi&T8V=!YfWin!6F*as4IWajnF*Rkj0XY{g0v8`TI&W}ga$$6Day&gKV{dMAbRc$NY;|QOEFfcVZgX@Xc42IFWjs_qCMf_TVPiI7W-&EpH92H8GdE;8HDobiW@R`yH)1g|Vm3K9Ww-%39WDYF89F*|aAk5~bZ>G!Jt$*uZgX@Xc42IFWhN{jc42IFWnW=(XDI+9VK8DjFl97mI5lNsVP-O8I5A~3VqrL9G%{gfHDhHnG`ayf7cK%9A38d3aAk5~bZ>G!Jt$*uZgX@Xc42IFWhN{jV{dMAbRc$NY;|QkR6Zst03%^CW??imHZd?TFf=!0Ff}q{Fk@q3GGj4jGiEk0FgP{50XZEm0v8!NI&W}ga$$6Day}?yZ*FsRAa-GFb!8?jAa-GFb!A^+a%U+3BVl7@IAbs{WivE2V>UTuWjQltHDoekWHMxCHaRpiG%&saITtPh7a2M_Z*XODVRUbDJ}7o!Y;|Q{VRC0IAY*TCb95kfVQh6}CMf_TVP-NgFlI7hWi&E3Gi78jIWjXhG&5#2VmUE5W;ixwHoyTn7cK%9A38d3aAk5~bZ>G#C}VGKb95kfVQh6}CM+OhZ*FsRAa-GFb!9wMJ|-yuBVl4WHDoY1VK-(pIAt_6Vqs-wVqs%qW;JFuFgG$dGdIEkIUOzn7a2M_Z*XODVRUbDK0PR7Z*FsRAa-GFb!8?jAa-GFb!A^+a%U+3BVjl&G%+_~H83?bFgG%0GB9K_VKzB9HDobjH#lKtGBLyfITtPh7a2M_Z*XODVRUbDK0PRQVQh6}Utw}*EFfcVZgX@Xc42IFWhN;ABVji(H)S$mV`MThWn^YBG+{9`G&wOiWHC21H!wD0VK&AAITtPh7aux0Z*XODVRUbDK0PR7Z*FsRAa-GFb!8?jAY*TCb95kfVQh6}JXAg=DF7p3FlAz7WnnlnF=RP7H8eJ4Wi(+_Iyz=-VP|tFDIjBSZgX@1BVjRNGBGnbFgRg1GC4OiIWb`{H)S?7H#s&pI5{_FV`9nyIR-8Q7Y#Z(W^7?+b0~IUY;|Q{W^7?+b148LVKg%_F*q_fFf}-2H#K5rVPP_3Ffn5@GdVS6FgY_gHOv7y3oZf|0y;Wjb6;U{a$$KWDF7p3HDxkpH8V3fVPj=AHaBHsH)3NqH8nUmHDWh8Gh;9@&H*{j0U8J(V{dMAbO2;GFflh~WI1JJV>dK6H8wOkHaRvhIW;z6IWlB6VbB3N1}*{@0y;Wjb6;X_Z){~@ZYU`LBVl4NHa9RfVrDirIA%0CHeohoGBjj1I5{z5Gc;l}HZ;-!Inn_c2q0r`ZgX@1GhsL}Ha9V3GdW^6H8VCdVqrI9GGa4kWHw?qHZ(M0)B!mLE&>+n|oWiT`~V>DthIbt?2Ic3%XIo1Ig2q0r`ZgX@1G%zwWH)Sz0IA$_tW@KVDGdMP7Wi&BjGGRD0Vl^^k*a0~PE&>+1}*{@0y;Wjb6;j`Z(($4Zf9R`Z)t9HC@BCVVPZKoIW#wBVKOr{Vlg%|V=*&0WH~Z5G%__XGc_N37XJv9IDF7p3F*h(~Ha25pWn?)qW@9oqI5uN4GGt~qWHdEqIA%99;sH700T~D&V{dMAbO2#vFkxe6Ffuk|W@0%oGcz2G&D3fV>o0rF=I10FgGz~H#uW5=m9wfE&>+lH!)>5Vq`KgV>3BnG-fw5H8(Zt0Xgac83-U_Z*FsR061bbV>4nfGGj9~H8MCiWjSIsHZx>mWic^hH!(LdW9$Jr1}*{@0y;Wjb6<36ZDlAa03%^EGchzUH8(LbI5IXiVmCA}IW;sjG-G37H#9S0GB;%I0Xgmg83-U_Z*FsR05>ue=BG&p84H)iqyIR-8Q7YI5!X>(s;a&lpLUvFk#bYWs_WpgMgAY*TCb94YBVKz25Ha9mmWnyMIG&ngiI5IV3HZ?djGcqzYGGk$4F!TXA1}*{@2s%1xb6;X_Z){~@ZYU`rV{dMAbO0k^HaIahV`MUBVqs-7HDxj}IXN(7Gh{V3F*amjH90k5_5nEtE&>+_Iyz}{Uu0o)Whf~iV{dMAbO0k^G&f~pV>vftG-5R|IXO9FI5A~nFf}t|G&M6}V>vN4_yIWvE&>+_Iyz}{Uu0o)WnXk@ZDlAaAY*TCb94YBVKHSmW@0vBGdE^7HD+dJIXPiAGcjRgWivEkVm4%AH2MKK1}*{@2s%1xb6;j`Z(($4Zf9R`Z)t9HC@COgZ*FsR03%^xHDWViVPiEnH)A$1Vlp&lGch$aFlIPnH(_LCHaTYe0XYUP0v8cFI%#uXXm4$AXJu|>Z*_AhZf|5|UvznJWho$IZ*FsR03%^GHfA$1WMVL8Wi(-7F<~|}W@ctFV`Vd9VmM-DF=b-@0XYvY0v8iHI%#uXXm4$AXJu|>Z*_AhZf|5|UvznJWh@|WZ)9aECMf_TVKp#0H#ssjH8we9G-WboH8?RjFgIjlHaRk3WoBhCG5`WO5iSB3A38c|b6;q0ZEt5~Ze?$Eb0}_aWMyA;d2nScAY*TCb95kXZ)9aECMh6eZ*FsR03%^EFl01kVKQcBFk~}1Gcq(aW@9rkWM*SFVK8PgH)di20y!Nn0v8B6I%#uXX>N37XJv9IDIjBSZgX@1BVlAUVlg;0G-EM1FkvueVlrf9Fg9gmG-G69Vlp*3VKf8+IR-8Q7YI5!X>(t0b!}p0awsVvV{dMAbO0k^WHc~gWHvNpIbk?vFfuhZWi>T0VL37~He_ODWHB-^1_C(-E&>+_Iyz}{UvqSFX>MmIDIjBSZgX@1BVjo>WHdK7VmD=FF*Pw{H)dltIAb(9WnnjCH8No{F*FDQIR-8Q7YI5!X>(t6VPb4$C@COgZ*FsR03%^EF*Z46WHLB3W;0UK7H)Jt1VKO)|GG#L~I5#*90yzdQ0v8B6I%#uXc42IFWhf~iV{dMAbO0k^HDoblIXF0BH#A{lHDfkqHe+FBIX5siI5{yeI5TE54gxs_E&>+_Iy!WDaAhbdAY*TCb94YBVKzBsWH4kjHDxknWi>f6Ic8;HGcz|eV`MfsIW{n5Vh{p31}*{@1UforWppShASM7KVP-ZkH(@w4G&f~6IWah5Gc{&oW@0fhWjJOxWHd85I1&Om0ulll1ttJ6Vl-u8H#jk3I5S~0V=*=~WM(onF)}%1Fl9G0Gc++20yzUN0v8H8I%j2cC@COgZ*FsRASM7KVKZScWn(#IVL3K1G-Nh7VqrO9Ibk$5IWjmlIA%CxI2Hmq2o?ev3nl<%Gh$*nHDxzpW;8Z3GGt|BF*Y+YIAS<5H(@p~I5}h(0yzmT0v8H8I&W}ga$$6Dav)=GZgX@Xc42IFWnXl8aAhVaDIjBSZgX@XCIBO0Wnp1AW-~Z7V>dN3Vq-UEF)?N^H#In9IALWoGBsj08Ui^8E&>+?Iy!G~WpZJ3Z*m}GZ*FsRAa-GFb!A_4d2nSWCMYQ&CMEzQVP$4HVq!NqGi5hpIAUQmH#ImjI5#vhVmD)EV>2-~I2-~w11GXc42IFWnXl8aAhVaDIg{QBVlA=W-v5jH8EyoVKQQ5V>4u7GdX5rW;QcpGBhw^Gh!YBIRY*M7X>;xZ*XODVRUbDAa-GFb!A_4d2nSWCMYQ&CMEzQVPrLAG+{AgI59Y6H!v_XVq-L8G%_+VIb~#KI5cErIUoW#11GhC@CN&03%^AH8f)}W@0xvHeobnH8wD0G+}09GB+?WIbvclVP$3_0yzRA0vQD+05&vXWH~fpF)%nbWo2Y!WieqnG-fd}W-u}^G&wkAG9&^y11GhC@COgZ*FsRASM7KVKFsjH8wIhHe@k3W-&2gG-Ne4H)UaDWMVTmGd4J8I3@x)2qpp<3nltGchwaWi~lCI5aq8VmLBkIW=N3HZ@`}Gh{SmDgrqw0vQM(V{dMAbO16lVPY|3H92BtG-YEnVq-BmVm4-BGiGCEGdVdiH!&;%IR;_?06IE$VQh6}0Ap-nb8~cWZERmLUom!JY;|QWXmo9CVgLX-I%#fmWpZ?7asYF5a&=>LbZ>2JUol@XX>N06a&%>KE@*UZY&ilUIyz)!W?^+~bYEs{VP|syBVlGSHZf)}VK!qoIW##mHDx$8Vlpu>Wo0-uV`4WrWjQ$lAt5?Cd0}mAUuJJ|ZDDkDWpXHEZ*FsRAarkSY&tq_Z)9aAEFflYa&2LBUuJA!XLBh4BVjNwI5}fvWHm82WI1LwHZ(D1WHB&fIAmmEHDWPiF)=X$LmxQ;At^dKd0}mAUuJJ|ZDDkDWpXHEZ*FsRAarkSY&tq{VRCb2Uvg!0b!>DdEFflYa&2LBUuJA!XLBh4BVjUSVl^;hG&wjkW;bPHGB#l}F*jmmW@Tn!V`VZkVrDY}Lnk=`As{+BZ*XODVRUbDJUl3KbYwa@Z*z2VWnpb5EFgJdZERm=Z*py6baZ8MCMf_TVKFdbFk?75GBq}3VlrW3G-Y8jVl-tkGiEqpWH@DJW;Fss9ytObAv!v5aAk5~bZ>GzJScN?WI8%;b98cLVQnTXAbDYJY+q(?a&2LBbY*fTCMf_TVKp#hG&VCfF*jmkV`4ToVL4-DW-u``IWRLaF=AviH#Y)9A7TIiIy!k_ZERm=Z*py6baZ8M0Ap-nb8~cWZERmLUom-MZERm(W^ZzBVRUq5axQ3eZEQgTAv!u@WoKz_03%^yGd5v0WMVNjGB7bXHZ)-|GiG8oGB{>4GchqaHe@hC0wFp&Wo~2uBVjN#G&wXdVl*;jV`exrGdVFfIX7ivGGaJ3IWRRdF=RmkAv!v6VRUE!BVjT%W@9olW;HiCWn^MFVP<16I59Y5FflV@HDO~lWH&(qAqYA;cWGp0UvOb`XecQlV{dMAbO0k^IAu98F)(9fG%{s4Gc;y7HDx(rF*0K{IXN&nV=-eeJpw}pK>{HqIy!G~WpZJ3Z*n|5D06gVIy!H2baG{3Z6+)rV{dMAbRctYb#h~6UvgzV>ODF7p3Ib>xxVPi5hVKy)~VPa%3IXGfsG%+_hH8L<}GdD9dKLSG|VgLX-I&*Jza${v*a%E>}Z*Bl{baHiLbaZcRY+o^7F>`Nqa${v*UvgzV>WXmo9C22@W?OkY7$Q$V>WXmo9CBWGbaV>B=~VK`e-CG&eLiW-&E0H#lTDGBPwdVPRxrWiT;0WmHd1OkYD!PDV*bUr0qkL`6~nXL4_Ka9>|zZ*FF3XLWL6bZKvHE@*UZY$Io3FgY?XG-hRDG+{GlW;Hc4G&V9bV=`i7Ff}q{V`XD7R8LJzUqwzqLQF+pModpZR53OHXL4_Ka9>|zZ*FF3XLWL6bZKvHE@*UZY$Io3H8x>lI599ZF*rFlHaIb1V>38oWny79GGQ|~Fk(43R8LJzUqwzqLQF+pMo&^rK~z*lQd0nDa&L8TUteQyZf0p`b#h^JX>V>WXmo9CBWGbbW@9%uH8?V4Ib>xwH)b_CWHMxAV>w}EF=jV3IAdW{Pfbi;MNUCNOhsQ%K~hsiQUGUiZ*_2AUt@1>W@%@2a$$67Z*DGVbZu-SXJIiiF*z|ZWH&WrG&V9cWMwvCVm3H6G-Wg~WH@0sH8NCBO-x@!PC-IUMPF4;QbkNfK~qIUUq(eiR8>+%QvhdjZ*_2AUt@1>W@%@2a$$67Z*DGVbZu-SXJIihF)(IkH)Jt5Ibk<9GdN;7F)%q~F)}b_H8wb6HeysyO-x@!PC-IUMPFA*PDD>vQ(r?*O;ABp0B3Sim2OkYJluVKic6VKX^1W;QTkH#lNsVKy`~VpLB}OkYJV>WXmo9CBWGb`W;HQ2Vq!O8HextqWj10lG-75rHe)zBHZfr~Gh<>@Pfbi;MOaWzQdC7mUsF^;R7pc$MpaHjR7p=x0B3SW@%@2a$$67Z*DGVbZu-SXJI%pF*#ypWH)6uH8nUlH8D0bI5lE6FfuY?GB{ykV=`1vO-x@&O;AilO+`*rK~zakP5@_eZ*_2AUt@1>W@%@2a$$67Z*DGVbZu-SXJIloWo0%wI5Rb2F=S+BW;tYHVP-QhF*RZ|VlX&iF)>t6O-x@;P*h1zPC-mxR9R3(0B3SV>WXmo9CBWGbTF<~<^HaKKqG%z_cIAJzoHDhLEI5{{oGB7tVHfA?ePfbi;Q%ylkOkYV(R9{qCP(=V|a&L8TUteQyZf0p`b#h^JX>V>WXmo9CBWGbSH!?D2VKQSiH)LTpGd3_|H)b+oVK6vjHZWx|VK^~NX<~9=a(N&_Z*FF3XLWL6bZKvH0B3SMd?crIvkZERfv9tb)*WMy+>a%pgMX>V>QDIjBSZgX@1BVjc)I5K59WHvTtIALKkW;SJJG&C|}Fkvt>WHmB4GGb23-OkBRV>7aAk5~bZ>GzJScN?WI8%;b98cLVQnTXAY*TCb95kZVRCb2UuAM~Z*nFn03%^JFgH0iI5#*rH#cH3VK6c{Gc`13HZ(J0Wj8W4V`es60ze^R0025VaA9(DWnX1-a&K|~V{Bn_b98TQY+o^7F>qmWb7fy&WpZ+FaxQ3eZES=BAs0G2Z*XODVRUbDJt$*uZgX@XaA9<4Ut@1=aBps9ZgeIo03%^xGcsW`Wo2eGGc;j1GdW{7GdDS9HDftpH#0P1Wi&Eg0z(yq0wEGQI&W}ga$$6Day=+;VRUF;V{dJ6Z*FC7bS5S#03%^CVL4_uIWS{0W;HZ9F*#ylWnwlqF*jr~H)LiwWMXDu0z(jl0wD-GI&W}ga$$6Day=+>X?kT}bSVHMVK`wiV>dA}IAmoxVq|4CV>D$kH!w3dVK_23W@RunFk%8j280435;{6>aAk5~bZ>G!D06gVIy!T7a%pa7Uv_C_cPRiPVK!zqWHvW6H(@n4VKOv0Fg7qaHZ?S6HaIdkF*amoGGqcn5QG9D6FNF?aAk5~bZ>G!D06gVIy!fAbaH8KXJ2+{Wp^n6BVjQ%VP!L6VKX>3F=jb9Ibk+oVK!xBH)J(tH#IXeW;SL5LlJ}mAp$x&aA9<4Ut@1=aBps9ZgeOq03%^HF)%VQV_{`sWM*PvIXE_9WMnorH#atBWMwxsVP<1!0z-rXAqYA;aA9<4Ut@1=aBps9ZgePfX?kT}bSVHMVP!ZqI5;#kG-NnsGB9OjWMpA8V>e?tWMwciFfuVQWNHFK280435;{6?VRUF;V{dJ6Z*FC7bSQIlWI8%?baH8KXJ2+{Wp^n6BVjOMG&5ylHa0adF)%hTWH&i5G-Ww5V`VrqIXN;iGcjxeLlA@lArm?}aA9<4Ut@1=aBps9ZgePfbYwa@cXM=dX>MmV`GF<~__Gi737W->QoI5IFZZURFQgaRQKIy!J+bZB2=Z*6dIZe?zCC}VGKb95kZVRUF;V{dJ6Z*FC7bS5bPBVjjUHf3ZoIbkw1H)3XDG&M72HaBHBG-EU{Ffd_cGcs@jLluMqArd+|aA9<4Ut@1=aBps9ZgePcVRUF;V{dJ6Z*FC7bS5S#03%^IH8C(UHZf#jWM*bzIW;(CFl1yiGc;ynG&C||W@a*S0z(jl0wD-GI&^t(Whf~iV{dMAbO0k^H90snIAk(5F=jJmG-WwuHaBEAGdMFfF*Y+ZF*0N|bOJ*LgaRP~Iy!!EVRUF;V{dJ6Z*FC7bSNnRBVjo(GBaXhGc+_}VrDQfF=k>lG&VLdG&wP3H8N#nGBI`nLxch$2s%1xZe(S6C@COgZ*FsR03%^xGGjF~FfueUVlp!@F)}kVGBGhZHeon7GB!76WHmT=0z(Fb0wD-GI&W}ga$$6Dav*bQdSzd9C@COgZ*FsR03%^AH#at9IX5;iHZV0XFk@w6VKOv1F=S$6W@ce9G-Wt?0z(Fb0wFFsI&W}ga$$6Dav?n^V{dMAbRckHbZB2=Z*6dIZe?zCCM+OhZ*FsRAaG%HXkTM*ZE$aHWo~pPDF7p3Hf3UEH)Jw0F=96|WoBkJFk(41H!x#4WjHrsVPQF8d;&u(gaRQhIy!G~WpZJ3Z*o07C}VGKb95kZVRUF;V{dJ6Z*FC7bS5kyV{dMAbRckHbZB2=Z*6dIZe?zCCMf_TVL4%CW-~D}W->H3WivEkHaRh4H)S_8H#K24GG;SmWPSoeEQA6f2s%1zWqBwmAY*TCb94YBVKOo@WH&ivI5}iCW@KhCH#KEBG&o^lGGRF}VP!KnHGl#`280432s%1%aAk5~bZ>GXV{dMAbRctdWI8%?baH8KXC^2qAY*TCb94YBVPQ6AFg0X1IAdioG&nFgGG#b5VPiLDHZ(Y8W-($mVS)lf2ABj9Ut@1=aBps9Zgc=&Ut@1=aBps9ZgehabZu-$0~ZcDI&W}ga$$6Day=+xZ*FsRAar43Y-J`X03%^zG-70CHDP3BIW=KpHDP99G&eF~Wic`_Ibt|sI5}j60yzvv0~ZN8I&W}ga$$6Day=+?VPb4$CMGEWBVjdTHD+WmWic^iVmLB5VPY~iG-YFBV>vctW@KbGF*%0W2Fkv?`W;ZxvHa9n6Gc}0NnVK_8oF*IT_Gm8Q_3`YYO2|7A-VPb4$D0E?BY-J`UDF7p3Vl+2lH#T8nGBh$_W??ZiW-(zmG-WkqGGb$7Wn?rojRH9bM*|lwIy!V=Vr*q7b97`nI%#fcbZKF1X?kUHUu?z3VQF$cDF7p3H)dpGH8Nu`VPP?1WHvWpWi~f6IA$<1IX5^rVq-F9j{-R?M*|lfIy!G~WpZJ3Z*n|5D06gVIy!H2baG{3Z6+)rV{dMAbRcwLVr*q5DF7p3Gh{enWoBh&V>vf4F*G+aWHMnhF*IQ`Gh}6AVK!tkkpejzM*|leIy!G~WpZJ3Z*n0$C}VGKb95kdVPb4$CM+OhZ*FsRAar43Y-J`X03%^yWMyJCWI1FxW@9olV=yx@V>dWuH8eD1HZeIiWnngx0y!E-0~Z`RI&W}ga$$6Day>mLV{dMAbRcwLVr*q5EFfcVZgX@XbYWs_WhN;ABVlGZWny7vWH>P}HDxtqWil{1I5{~oH#Rh8GGsL~G+~tjIT}X;7XmsuV{Bz%awsVPBVl1TF)(I0HDfh6IAJkjFfd~?F*!11F*P+aWMwpEWoDNGIY$E*3OYJva$$32C~0(Ma$$6Dawz~KVKHGjFgZ9hI5#$9V`OA7Ghtz2Ib|?rIXEyeVK_56W|;yx2uA}K5IQ<#a$$32C}VGKb97&6bY*g3bZ>Gg03%^EWMO7vG+|{iF*am5GGSz7IX5$9HD)q5W;i%7VL4=*0yz#x0~a7VI%RTUb7d%FZ*FsRUukq@a$$6Dax5TYZ*FsRUukq@a$$6Dawz~KVKq5sG-PBsWi&EkH#1{7V=-l8G&3Y1zIT1$#7YI5!aB_8SWhi2AZ)_dWqqXIbwqXHQTCIB%sVKq5rWn?!pFk&=hFflkZFl911FlIP1Vq!QqVl|}#IR{4r7ack}Wo>Y5VPj<|OJ#Xfd2nSWCM+OUVQh6}L2_qvASNatE-o%903%^EI5lK9H#Re4H8(h9H!(J1G-fg~VPax2WMVU8IX5+@0y!H;0~akiI%REeY+++%UubD=bSPtQZgX^BX>?_BVRUbDEFeo|c~p6DWhN#pAXZ^)b!9vlAVP#`AGB7z}HaTQ9G-NS3W-~B0Vly#fW2*u=BS!-l89F*?ZgXXFbSO!5WpXSaNpxj$EFgAaY;|Q{W^7?+b148LVKXx^WnwmDWiT{kIW=Q5W;ZrsW;QfsHfA_9WHe!9Hmw3V7e@mZB|183ZgXXFbYE|BUtx1|X=iRIOJ#Xfd2nSWCM+OUVQh6}RC#b^CMGN(c42IFWnX4&VP|tG03%^xF*Yz_H!)>oHezEoW@9!pIASq5Vl`wrVK`-GH8we~0y!f`0~b0vV{dMAbYE$7WpZJ3Z*l-5VKz8sWnnmDVL4(kFfll0IW{*nW@IxoHexwuG&M0YWk&-SIyz}|WpZJ3Z*l-5VK_HsFf}z|VPrHjHDon2GcsgjG&we7H8D6hGc#c{WJd!R0y;WkWoKz_C@BCVVKXx{W-v7{G%`13VlpseI5jgcGBq@2G-G5oWMpJ!GqVCYvjQ6kAY*TCb94YTGG;kBH8f=~GcY(eVm4+qIW}QsGBYwbGh$>jW3>V~21f%I2s%1rVr6G(ZYU`rV{dMAbO0k^F*RW|W;kMGHe@k5G-hLBWjQi6VKOvjHDWh2Vlif7w*ol^M*|lKIyz%zZe%DaAY*TCb94YBVKXr?G&M0YFga#9IWRdhF=b&gH8?UjV>U23F*h+ZX1M}621f%I0y;WnZe%Da03%^JHe_KoH#RjiV>M%8F*7k^W@TeCWiw+iH(_BiH#0E10y(<^83-U_Z*FsR05mXTH!@{7F=S;iWMMWoVmB~2Gh<<7F)=hWGGk&eHN65k21f%I3OYJwZ*pH{VPj}0Ms;puCMGE$CIBO0V=^*jWjHouHDWk3W@I-rVK^``Gh{P4Vr4O7V>UTBzXCZ3zXBQyCIDeIFk@meIWlB1Ffut}HDqQrH8?mlH(@YlWn(vEHNgTo2}c7L5IQ<$Z*pH{VPj}0Ms;puCMGE$V{dMAbRZ@GBVjc-GB!71HZn6fVKgx`WjA6rWMVmHH90adIAu3EFlNI7IS#`D84)G`VmLWtWMnWjGG;V1GiER~VK6skFf%eVIW%H6H85i`#R54GM*|lKIyz}{UukY^X>MgGDIjBSZgX@1BVjc&Vr4O6IWu8lIWRUbIAvrrH#jpgGh}8sGc{o{W;4eEIR-}q7X~^yX>(s`Zft38Whi2AZ)_<5BVjmYH#s+9HaIh8W-?-7V`MQjWH)6uG&V71V`MTnI55cqIRr-o7ZN%;Z*XODVRUbDTU{t~bYwa@b98cPZf9S1X=QgQ03%^GWH>W8HZU|fW;Qc0V>mT6F*P|iVKOl|Ff=zgV>e^V0yz-N0vQ+}V{dMAbO1SGF*9K?Ib>vJV`MUBH#RmnHD)z8H8?k9GB`IdF=NdFITl9)7ZW-MmB@{GG#eAGd5x|WHw?jWI1LsV`F4tH#9LfW@IMmMm1G&W&1WH~l4HQxd`5Z?kB7$9SBZgX@1Gh#M3IALQpFk~<=H#smfFgRj4HfA+tH8EsiG%`0d;Q~1pM*|lVIy!7`cV%*4VsCYBWGHiVWI8%`b98cPZf9S1X=QgQ03%^xVPpGh{S4G%zwaWo9*IG&VM7IAk$oGc;y1F*W4^ITuF*7YI5!Wo>YDc_=9$V{dMAbO0k^H8nJ5G&wb9HfAzqVq-ZuGh$^iVq`EgH#sykH!w9Z=K?tfM*|lKIy!S{dSxgnAY*TCb94YBVPrRBG%+wWI5jk5V>mH4VrDjFH#jk7VK-)CF=94kHt7O621f%I0y;Wjb6;U{a$$KWDF7p3Ha9b3WMg4tIXN&hVmD-AFfd~^I5{(BHe@$uWjJLp>jF9J0vQM(V{dMAbO2^DWMpAAIAmiqGGaG4GGZ`eGd5u|Gd4G5IW#yqH8<@7IR-}q7XmsuVRK(%Z*Od6VQwfX03%^AV`MfoF*0T}Fk><>FgY_hHZ(ObGB`9bH)JmH83&r0y*;n83-U_Z*FsR05vx?Ic8!uI5jdfIW;*pG&nLhW;r=HGG#eqIAdioGW7yE21f%I0y;Wjb6;d(bY)+3X>DaFDF7p3HeoX}HZeD5H)J+sIW=WwHa9k7WiVr6FgZA6GC4Oe_X0Wh0vQM(V{dMAbO17DWHmEpV`4BfHe)k0H83(UWiw%9FgZA5W;A3tI5YVIIR-}q7XmsuVRK(*Y;R$7X>Mmz)Ir{<`2q0r`ZgX@1VP-QhGG#MmWMnurWM(vDGch+dHD+dFF*RXjWH4qj{Q@}#M*|lEIyzxM*|lEIyzxFlII}F*G?dFgRr~IWsaiGGaJpHDYFAWn^J8I5Z0bIST_B2q0r`ZgX@1F*#*3VPQ5kW@IoqVlrkkHe@+CHZnJ3G&3?bGdN-~4Ffp_M*|lKIyz}{Utw}`VRY-M3?C@COgZ*FsR03%^GFk>_^H#cQ9WHd1`V=`tqVr4ThW-wwoIbt?AF*rFB133mq0~ZK7I%#uXWMOn=C@COgZ*FsR03%^DFf}q}H)1kkV`VmBWMnvHW;HNnVK+BpH90dgIAb&w133mq0~ZK7I%#uXWMOn=Uvz10Whf~iV{dMAbO0k^GdN^8GG%6EIb=3wV>mftH8C_WWi?@9WMpMIF)}w~7Xvv4M*|lKIyz}{UuJA?VRUJ3XJ2q{X>N2VDIjBSZgX@1BVjgWVP;`rVlg-|VmM=EGBz_ZVl`thH8nOlG%;pkH#QjqIR-}q7ZEx-X>(s_Z*6a9Wo~6}b#o|gZ)9a(ba`-PDIjBSZgX@1BVl4?F=JyiGBq(s_Z*6a9Wo~6}b#o|gZ)9a(ba`-PEFf-gWMwKQDF7p3W-(zhW;8fuWMX17VP;`DGd440GdVIfIW;&lFgP?e9RoQLM*|lhIyz}{UubV_Z)at0Wp8zJC~j|LWnXl8aAhnYV{dMAbRceTWMwKQDIjBSZgX@1BVjmUFkv`kG-Wh2I5;z5GBh?fH#s7YI5!X>(s`Zggd5WpXGfAY*TCb94YBVKHGiVlXvhIAmorG&5snW->5hG&eCgIb<_1IXE^lVj%-L21f%I2s%1xb6;+CZDM6|C@COgZ*FsR03%^IIWsvjFfcG>I5{#nHaImjFlI0{F*9Z~Vr4WnVqr2P133mq0~ZK7I%#uXb98cPZf7VdAY*TCb94YBVK!oBHD)t5Ha0gfIXF2nV>M$oVr61sH!wIeH8wCbVI>1O21f%I2s%1xb6<2}Vr*q7DIjBSZgX@1BVjUQWM*M8W@IyEIb=0sHZ)^mHDoj}I5}Z4WHd80G-W3PIR-}q7YI5!X>(t6X>DaFDIjBSZgX@1BVjRSV>UE3WH~oAV`Va8FgG(aIAt+qIc7L8GC5>0V=*ZMIR-}q7YI5!X>(t8VQh6}C@COgZ*FsR03%^xWim1{VrDonI5{*nF=S*kIW;shF)?H@Wi&7|GdMOY133mq0~ZK7I&^t(Whf~iV{dMAbO0k^Ff(K^H8C|XHZ?LaH#TB1H!(C~H!x;mFf%n{WMyJ7Edx0QM*|lUIyzx=D06gVIy!T7a%pa7Uv_C_cPRiPVP!F8GdVIfW@BMFVlXl{IW;&rGc;i}V=yr_V>V+sI4=V^5HAB67$9SBZgX@1V_{@wIWaXeW@BVyH83$bVPs@8H8e6dFf=q~Gd4M8F#|akM*|lVIyzx=D06gVIy!fAbaH8KXJ2+{Wp^n6BVlD`G-Nh2HaTNvHZ);1HZw9ZVmUTuF<~(^W;Zr5V>UAbIT14h8W|vCZ*FsR05~)UKnWn?!4IS@Ak85kgAZ*FsR05mgUW?^MCW;Zr4W;Zc4V>UTrFk(1iVK8AgWo9rpF*yS{7DodY6FNF)WppTWbYwa@cXM=dX>MmK~jHZx>1I5lQCI599XGGk$4IXE~sG&Ey9134E*0~ZoHI%j2cUtx17b97`nI&*Y#X>MmnFg7-3IWae6GBRW{G&nakI5jadKLa@sKLZ&UAY*TCb94Y2JUol@XbYWs_WiDuRZER5kAv!u_WoBV@Y;<2{Y++|}03%^EH8e3{G&VLeI5{+9WjHxAHfA1WMwi`12-X@0~IJbI%{QlD06gVIy!T7a%pa7Uv_C_cPt=dZ*FsRAaieZa${v*a%E>}Z*C?j03%^AH!(P6Vlp;nG-NqrF<~@gFlJ&oGB{;sVlZSjW;iic12-m|0~H`TI%{QlD06gVIy!T7a%pa7CMGN(b8mHWV`X1*WoKz`ZYCxv03%^HI5=W4Vq#@sW;Qc6WMgAvG+{S5W;io4VrDTiGi5MX12-O=0~IAYI%{QlD06gVIy!T7a%pa7CMGN(V{dMAbRctYb#h~6UvgzV>ODF7p3VmLNtW;Ho5W->A|WHmQpIA%09GcY+YF)}$gWH@ADS_3yDoC6geIy!4*c_?FVZgX@XV`yP=Dl8y#Z*_8GWnXe-XK8P4CMGEWBVjo>F=jPoWin=BWH>T1WHdKqFk&+_H)AzqW;HctF)>^NHyoS;6(c%2Yh`&TV{dMAbRc7BVR9-gAY*TCb95kcZ*_8GWnXe-XK8P4CMf_TVPrLCGB#o}H!(LdWivEkIAb?3WjHiAVPrQsF)=qWFkS;UA)EshBsw~4WqBxbbYwa@cXM=dX>MmV>OCMf_TVKz5oW@ThIF*jp4G&eUhVPZ38Wj1AFF=974Gd5;nH(&!dBAf#iDLOi9WqBxbbYwa@cXM=dX>MmouV_{`CV`5`AFgQ6mVK8N7H#RXiWHVv|Hz%9}6&pG_Z*XODVRUbDJUl3KbYwa@Z*z2VWnpb5EFfcVZgX@XYh`&RDF7p3H#lWtH(_RDHaTTuWH&fwG-ftrWn?fmGG;PnH)UZrWCJ%DoC6gYIy!G~WpZJ3Z*n0$C}VGKb95kUWqBqnAY*TCb95kUWqBqk03%^BGBq`2IW#aZG&o^1HZo#lVKFgfWim7{Vl!qjW@cq(12-0&0~H=RI&W}ga$$6Dav?n^V{dMAbRcVGc_u6%b97`nI&*Y#X>MmUNAW-?@9Wiw%BV`FAAXahGKoC6geIy!G~WpZJ3Z*n0$D06gVIy!T7a%pa7Uv_C_cPt=dZ*FsRAZulLCMf_TVKFu}Vlpr_H)1d`G&D0cFk&%dGC473W@0coH8wFaGHL@i9Gn9c7&GzC}VGKb95kUWqBqnAY*TCb95kUWqBqk03%^HVK!zoIbtzlWM(sEGBY%0H#IppG&nI~G+}0BHDqFJ12-0&0~H=RI&W}ga$$6Day%$wZ*FsRAZulLCM+OxbYwa@b98cPZf9S1X=QgQ03%^FH8(hBV>C84F)(B{W;SIuI5cKrW@cn&GiEk1VKg*u12-I;0~H=RI&W}ga$$6Day%$=bYwa@b98cPZf9S1X=QgTAY*TCb95kUWqBqk03%^BVqs%sH!(6eGBPLN3Ff(E}Gc{&nHZU+`Vq!L9I50S7IAb(sIAJ(+12-I;0~H=RI&W}ga$$6Day&gKb97`nI&*Y#X>MmmLV{dMAbRcVGc_u6%b97`nI&*Y#X>MmG#C}VGKb95kUWqBqnAY*TCb95kUWqBqk03%^#H8EskW-w+rHezLDFlIJpHDhHmG-NX}He)biVPs=|12-0&0~H=RI&W}ga$$6Day}?yZ*FsRAZulLCM+OxbYwa@b98cPZf9S1X=QgQ03%^!G&p22WHUBlF)?8|G&3|}V>2^3IXE{sGdN-}IA%7012-I;0~H=RI&W}ga$$6Day}??bYwa@b98cPZf9S1X=QgTAY*TCb95kUWqBqk03%^xI5jslHDhKqF<~-gWj16sF*adgFf(B|WMw#FG-5D<12-I;0~HuLI&W}ga$$6Day~sMV{dMAbRcVGc_u6%V{dMAbRcVGc_t|UBVjXRGB7YTGiEkrVP!cmW;rxAH8V9~IW;meHD)z3GGT-RHx`@&6&^Y|Z*XODVRUbDK0PR7Z*FsRAZulLCM+OxbYwa@b98cPZf9S1X=QgQ03%^GF=a71HZwOiH!)#kHDfh6H8y2oW@I%tH8W*7Vm38~12-I;0~H=RI&W}ga$$6Day~sMb97`nI&*Y#X>MmG1BVjW*VKXyiH83$SIWsmfIW=KpGB7wZWi&E4F*Y?dF*2M36*@X;bY*g3bZ>G1BVjZ!V>B{iV>2={GdMG3Vl^~5H!@;1H#IV1IbmcpWMrHJ6$m;yVr6G(ZYU`rV{dMAbO0k^Vlg&3F*!9hVr4XDW@RyBHZU}0IAu0AVPj-tGBY=2i~~0YoC6gIIyz-;WGE>hV{dMAbO0k^Ibt(6VKFdbG+}0DF=aMoH#smeGcYkXI5}oDH#uWCjsrIaoC6gIIy!T2b#h~6C@COgZ*FsR03%^IGGRC|WHezkWi(_pFfw8`HZf&oGGbvdFgP(VVr5~F12+bo0~H85I%HvVVJImeV{dMAbO0k^G&yE6GcaUhH8?RhG-fk7Ic79DF)%POF*RjnFgQ47k^?seoC6gIIyz--aCCVnDIjBSZgX@1BVjUPVPP~lW->NpVPiC5F)(2`Gcq_gFg9j6GdMOhF*lS0HwK&o6$m;yY-Mg|bZ96kAY*TCb94YBVKruEVKXu^HfCWqHfAwmWidH0F*i6hH!@*3H(@X^FqQ*12Al&G2s%1%aAk5~bZ>GXb97`nI&*Y#X>Mm|{GhsPqHf1noVL36F12+bo0~H85I&*Y#C@COgZ*FsR03%^AV_`QpIb}F8HZV9bHZnJ6H#j*qH8waiF*q`0G-P9%12+a@0025VYh`%=V{Bn_b98TQY+o^7F>7UcE@*UZY!w6+2s%1*Z*_8GWhf~iV{dMAbO0k^VKX;4W??flGh|_6H)J2)}WHvEmG+{C{H)f{;I1#4<7#SdAZ*FsR0Apb{Wim8lWH2x{Fk@vhGB#voW@I-pWnwijF=I4iWT^u<7Zn5+2s%1%aAk5~bZ>GXZf|5|Uv_C_cRXWnZgX@XZf|5|J}4<5V{dMAbO0k^V>e_rIX5|DH!?IfWH)AEWo0;HVKg{lVPs}wWo0%vs{=R&6$BOnIy!G~WpZJ3Z*m}RZ)9a(c4=jIJZ^7fWj-h=03%^AG-Nn1Fl07mV>vT4GGsDkWinwiHZ*21H8U|cH8(S@12`1~785!;Z*XODVRUbDTU{t)Z*FsRAarkSY&tq{VRUFFDF7p3IAb$1F*Ic~H)b$3HeoYiIbvgEVm3BqWMnsHVL3NuuLC#{uLBqvAY*TCb94YQGB-A6GGk$5IW}W3IW=N5Wi&Q4HDh5lVr61wFlITi12`8I1Qr51I$?7tDF7p3VK^~3VKFjhV=yu?GG#SoG%+?}GdN~rW-%}`W;i)HvjaG@0~iP(V{dMAbO16jWH&T8F=b(5WM(jBVP#}uIWc5pWo2ezIW;h2V==V@I0h9276LjtVRK($a&lpLC@BCVVKg&hV=y>lG&412G-hIEHDzLAV`einW;rl2VKy^2H@5>gw*wdmAY*TCb94YVWn?onVmUNsGdVdqVlXpgVl*{oWHn_lI5RLdGdEQqVmUNpHe+HmIAk(3FgG?fIXE+BVKg~2y8}480~iP(V{dMAbO1CpWMnfmGd40fFl1$AVlyx|F)}wYH#lZEF*ap5WjVbAI0h9276LjtVRK((VRU6EDF7p3WMgJIGG#Y2Fg7qbGc++`VlibiV=!T5F=R0^V>32pzXLeG0~iP(V{dMAbO2*9HDWnpG-WnnVK6mgVKy-~Vqs%5H#RXaVP-NnW@EtvI0h9276LjtVRK((VRU6*bZKp6C@BCVVP!EhF*0Q~Heq8qHD+TmV`esCWic{lG&p52Ffd{=VZ#GB!vh!yAY*TCb94YVWH(|tWHe-DW@R;IW@9sEF*7+hH!(G4HDxn0HDWWx12_g11Qr51I$?8PW^8X^bZKs9UvO_}ZgeOq03%^GF=R7lGGjF`IW;n2F=IJ6Ic7LAVl^~lHDfYmWn^K;131S67ziL^Z*FsR05oG|VPP|2GdVbBVK+8oF*7t{IWRJ1V=-eiH#az8VaWqH1{DMr0y;Wjb6;t0bY*8{awsVPBVjpZF*GqbV>4zsIb~#FH#asnWHB)`FgZ11F=1pkIWx-xILiYV2q0r`ZgX@1G&5plVL3BlW;QTlH8*8rV>viwW?^PEFl1w6W@R~I%>y_F6$BOnIyzxMmIDF7p3I5jpfH90pmI5s&kHDzXDWHK>kGB`M9H90Y3GBaaj&jUEm0~iP(V{dMAbO1CrV>LBlW-~Z6F*IgmVly%@H#K83H#lN5G%z({W?|6-I0h9276LjtVRK(}VPb4$C@BCVVPi03VK6x}HaKE9Ff=nZF)%P;F=b*fG%{piV`E`sW77jT(*qa?AY*TCb94Yn{f12_g11Qr51I$?8PbZKp6C@BCVVKQVmIA&#LIAu6FGGSq5Fg0T{WjQ!FHfCgHW;bMGW!D2Z*8>;`AY*TCb94YVWnyMGHDoe5H#lKsF=b&hGGt+9W;A0kHZw9YH)S{312_g11QrN7I%#t#DIjBSZgX@1BVjNzWieu6WieqeHZ(9fH8Wy2F)%e|Wi&8jH#0LaF*w@;I0h9276>{zX>(s;a&lpLC@COgZ*FsR03%^zV`F7EHZ?V3Fk@pgG%z(eF=00~H8e3YW@KeDWn?$q12_g11QrN7I%#uXVRCX|d0%g4Uvyz&Y-MvODIjBSZgX@1BVl1MIWjggVK6miW-~T1VPrBhGi5h1Ff%YXW@BYGIWXS?I0h9276>{zX>(sDaFDIjBSZgX@1BVjo(FlIM3I5{^qGG#C^V>vNqVl`qgH(@ekIAu99Ff!!>I0h9276>{zX>(s@Y;R$7X>MmD79Tn~X>(s_Z*6a9Wo~6}b#o|gZ)9a(ba`-PEFfcVZgX@XZf|5|Dkdo)V{dMAbO0k^I5RY5F)(FgWidHqFf?K`WH&c7WHn|oGBjj0Fk(1n>jO9)6$BO$Iyz}{UubV_Z)at0Wp8zJC~j|LWnXl8aAheVV{dMAbO0k^HDoz4IWc5oH8eG4V`ODyGh$;nW;Zu5He)t3Wn^Jw?E^Ru6$BOtIyz}{UubV_Z)at0Wp8zJC@COgZ*FsR03%^HWHMqmGd3_`GG$>jG%`3cI5{w7F=SN37XJv9IDIjBSZgX@1BVl7TGdVC}V>UEqFflkeG&f~rV>dN8Ffw5^Gc_{zX>(t0b!}p0awsVvV{dMAbO0k^W@BSAHZx*nHZWr|Gh#DlIWjghHexknW??WlGdVM5^8+{r6$BOtIyz}{UvqSFX>MmIDIjBSZgX@1BVl1VH8D6aG&nagHZo;6G&C_XIWRLZI5aY3IAJ+8I571CI0h9276>{zX>(t6VPb4$C@COgZ*FsR03%^FFkvz^Ffn0fH)S+3VlZZ5VlXx^GB7q|WMwyDIXPwb12_g11QrN7I%#uXbZKp6C@COgZ*FsR03%^JGB!42Gc+(`V`DiqVly)|IX5sgWjQfoW-&5kG%{rQ12_g11QrN7I%#uXc42IFWhf~iV{dMAbO0k^Wn^S#Ib~&HVq`RBV`VovIb}6AH#KE4WI1FtIb}3q`vW)z6$BOtIy!WDaAhbdAY*TCb94YBVKFdfGdMXgGc{vnF*9LeVlXgaF)=wYGc`D2W;Qc3H2niO1{DMr1Ufo$Wo9TTASM7KVKq2rWMwokWo9s9F*h<~Gd5yoGC4D2GBq(`GBq(XF#iKM0{;UT1ttJvVKy}}WjAJJH)b<8H)dryH8^52Fg7roHDzWvWier9H#s#hWH~Z5Gc++{V>1N=I0+R576>{zc42IFWhf~iV{dMAbO0k^Fk&|`H)Jt0HextoIAS(tF*Gt^H8wCcHeoe4FlJ?B2Lw0<6$BOtIy!b?Y;|Q{Wq4s@bSNnxV{dMAbO0k^F=k{oWHmT4Vq{@tVP!UAF)%bVG%#UhV>e6$BOwIy!b?Y;|Q{Z*nM9CMGE$V{dMAbO0k^WHDniGcsXiG%zz}VPs`FFfuVVH!?OcFf}wWIb~*J3j{a`6$BOvIy!b~b7^!aMs;puCMGE$CIBO0WHdK3IWT53I5RRbHZWvjH)3WmHe+NmI5IUkI5IRa4Fos{4FnhqCIB-xF<~$>V>DtpF=J+8VmM?uWo0)wHDfVlVPj@EGd2$dI0+R577#i*c4>2IbSOr3Zeu1UDIjBSZgX@XCIBO0WHezkGG#R|W;rr5VlZZ9F=b|EW-wtkH!(S6VPZKj5d=665d;_!CIDkII5%TrFf=hSF=1q6V=!YfIWc8pWMnpGGC4UmHZ~IkI1gd~06IEuZ)9ZvV{Bn_b98TQY+o^7F>Y^UWiDuRZETnX76>{zWo>YDc_=9$V{dMAbO0k^W->BkF)=eTG-fk4WMMcmH)J$2H8x^7Ff?Q~Wi&D|76dp3m;@FGIy!G~WpZJ3Z*m}FZ*OcUDIjBSZgX@1BVl7SI5K50VlXi{H#9UkVPa%rVP-cpI5RM1FlI4jG&mRpI0l#m76>{zZ*XODVRUbDTU{t~X?kT}bSVHMVP!RBV`VXAI5atCVPiKlWH>o7HaRyrHDxt3Wid5oGa3Xq1{wqy4j^N1ZgX@1VKFsgH#cN5H#KBtF)=hZI5adkG&3|XG-5MkWo9&D90WKFm;@FAIy!J+bZ96k03%^zV`DZsHZ*2AGh$;mIXN(9GdMCfGdMXkWHe-9VP!TR1UQ%k77{u-aA9<4D06gVIy!T7a%pa7Uv_C_cPRiPVPRrpG&5v5GcYwaV>dN9WHUH9FgP`0Gcq|dHDzNmVITxJ5SRoO6FNF@VRUFHb97`nI(Kt)a%pa7Uv_C_cPRiPVKinlG%#f|H)CdEGcsdgF=k|DWnyMBG-WknI5aY1G$I5z5tsxP4LUk-VRUFHV{dMAbRckHbZ90i03%^DVlgr>WHVthHDfYnGh<<9W?^DsIXENmV>L51GdM9aFen5#2ABjE0y;W=aA9<4C@BCVVPrKpHDWh2WMVltGB7e_GGa71G%;Z|G&eUhFf=x0H7W!+m;@FLIyzx+aAj^}C}VGKb95kZVRUFFDF7p3GBPw}F=jV3V`DcrH#0LeG%z+YWHn?qIb~xoVL32mECe_Um;@FGIyzx+aAj^}C~#qPXeK5p03%^AHDon1IWakAV`E`5V=`qhH8^24GG#PoWj19nH)c341ULqm1QrrHI$>~dWo~3Bb97`nI&*Y#X>MmEFlI6YI1!ix77aQ&Z*XODVRUbDD?KPvQ0Gi5S1VliZ5H)J?BW@2VzH83<~GdVUnHD)vfI188r76>{zZ*XODVRUbDD?KQ1VRUFFCMf_TVKilBVP#}6HD)w9V=`hnFflh`Wo9xnFgGaAk5~bZ>GiJt%W@WI8%?baH8KXJ2+{Wp^n6BVji&FgP_~IW;+DI5RdlH#j#lW;ZfnWoBk&Ff(B?G%`2@I1rcw785!;Z*XODVRUbDD?KQ4bYwa@cXM=dX>MmMmG!C~#qPXeK5p03%^GGcY$bF*PzVGdMG3H!wFcVKq1~VL4(rWie$lW;A9-1ULqm1QrrHI&W}ga$$6Day=+>bYwa@b98cPZf9S1X=QgQ03%^$HDqBiH)1k2IX7Z9WH~csWHwbYwa@cXM=dX>Mmm;@FdIy!G~WpZJ3Z*nUrV{dMAbRckHbZ90lAaitNIy!T7a%pa7Uv_C_cPRiPVPQ8lGGt<6H83z^WHe@BHf3gIG%-0fGB!3iH8NpjVNL`%9hd|bA38d3aAk5~bZ>GiD06gVIy!T7a%pa7Uv_C_cPt=dZ*FsRAaG%HXeKEDBVjT#IA$|pF=R0`H#jmiW;8W9Ha9UiIXE+BW;A7GVKPtzI31V-79cu0Z*XODVRUbDD=1@cZgX@XaA9<4CM+OxbYwa@cXM=dX>Mm2*gF*r73G%+}3WHex4EFk@vgV=`nhHaAoRI3Ab;78*J_Z*XODVRUbDAw4K#Z*FsRAaG%HXeKNmV{dMAbRckHbZ90i03%^HV=y^kFkv?`H)J+4VK`whH8M72W->7|VrDilIc73e1UML&1Qs7UI&W}ga$$6Dav?n^V{dMAbRckHbZ90lAaitNIy!T7a%pa7Uv_C_cPRiPVKiZ3V>U4|IAdlrFgZ41VPrBkVlZMbVL3KqGBGqZVps$?9hd|bA38d3aAk5~bZ>GYJt%W@WI8%?baH8KXJ2+{Wp^wfV{dMAbRckHbZ90i03%^zH8L?WIWsUbIW#n4G&NynI51*3F=1pkHa0P4Fk(4c1UMa-1QsAVI&W}ga$$6Dav?n^V{dMAbRckHbZ90lAaitNIy!fAbaH8KXJ2+{Wp^n6BVjf%H8Ex}HZ(RfI5#pkWI1CrWM(roFgQ15V>B}`G&EcUI3Ab;79cu0Z*XODVRUbDAw4K_bYwa@cXM=dX>Mm!e9+(6c8ag^}aAk5~bZ>G!Jt$*uZgX@XaA9<4CM+OhZ*FsRAaG%HXeKEDBVjdUGBaalI5#t5VPi8mV`euoIX5t7VKX-|Fkv`jV=`a_I2f1&79Tn~Z*XODVRUbDJv}I6Z*FsRAaG%HXeKNmb97`nI&*Y#X>MmG!Jt%W@WI8%`b98cPZf9S1X=QgTAY*TCb95kZVRUFFDF7p3GBGqcGdD3~FgH0kG&Ey5I5{z4IWlHpH#A{5Ib<_9XaqPOm;@F&I%98cb97&6bY*g3bZ>G1BVl1>WHT{kV`4NjG-Eb2G-P8lF*YzXGGaG0G+{PjH943B7CJgG1BVlAWH8Ny4I5RjhGBIN@H#uQuIWuE9G-NnoH)UiqWHOip76LjtVr6G(ZYU`LBVjaTG&Er`F*Y@0Fk&@iV=-bgF*h+}VmUQ3Vl_5lW@KyxIBWzM2q0r`ZgX@1WH&W8VKg-{WMnouFfwK`HeonqGGSyhV>4zkH8D9fZUi_6m;@FGIyz%wWoKz_C@COgZ*FsR03%^!V>dHpVKg&kWi&N3GB7kTV>LK2I5svpF=jS4HDx$(1ULqm1QrN7I%8#SWGE>hV{dMAbO0k^VP!RDW@BV!HDzRGVr4jCWivBlVPs)uWMN}7G-769as)UAm;@FAIyz-;WGE>BBVjl=G-YHkHDNJkG+|^iVKQViW@R}sGc#pkH!@)}IWcquICKOU2q0r`ZgX@1WMnX8Vq{@3Fk~|~V=*{0IAS$5WMwxqW-~EkGGt>mb_6&Em;@FLIy!K2WpHI~WGG{AZgX@XaA9<4CMf_TVPj@9W;kVHV>mc6GBGwaIWRCZH)SwpWI1DDHa9tCGI#_y3z!5J2s%1&a%FI3Ze%EMVRUFFCMf_TVPi05VKg=|GhsMmWiv4`HaR&mI5cE3GB-6dVL3K7V|oNQ2ABjE5;{6?a%FI3Ze%EPbYwa@b98cPZf9S1X=QgQ03%^JH)CUAI59L~H8El|GBsr}Vqs=8F)(B`Ha9Y6Vr4XZ1UL|w1QruII&gAjaAj^}D06gVIy!fAbaH8KXJ2+{Wp^n6BVl1PFgG$WWHDwiVlpvfG-Na~F*i0aHZx>oH(_KjIAMMSI1!ix76>{zZ*XODVRUbDAaitNIy!T7a%pa7C@COgZ*FsR03%^EIAu6EG&eFbIXN~tWjQf2I5jn6H!)#2V>LNrFgY}U1ULqm1QrN7I&W}ga$$6Dav*bbWI8%`b98cPZf7VdAY*TCb94YBVPiKpVK`)FW@BMDIAUZoFgY<|H)LWlGBY?cH!wLjVuA!X2ABjE2s%1*baE&uAY*TCb94YBVK`(rFl09{H)CRCGdN~uV=yyjV`4L6HfA_6Fg7`6VT1%Y2ABjE2s%182H8^24H#CL>I0l#m792V{Z*XODVRUbDJUl3KbYwa@Z*z2VWnpb5EFfcVZgX@XaA9<4CMf_TVK8PfIb$|BW??lmVPZEmH8e10GG$_BGB_|eIAUZrIEVx|8khtY0y;WlY-M3`C@BCVVKFc{VK8JkGB`6iIWRP1WH2}|I5RjnFfubUFg0XjG>QZ`m;@FMIy!7+VP+_EX?kT}bSWTXZ*FsR03%^zWiVkdH#TEAHfCZlVl*~5GB{*qHDokqH928qWi@1s1UL+s1QrN7I&fifWo~pRDIjBSZgX@1BVjOQW@0ipH!wG2G&43fG&nJ1VK!woG&y52WHT{gH#m+2I0l#m7A876b9G{HVRUFHV{dMAbYE$7WpZJ3Z*nXkV{dMAbYE$7WpZJ3Z*nOhV{dMAbO0k^W@9yGH#9jkV_`I7WHMnjH#9aeIb=6xW@0cnFk@shkOVj+m;@FUIy!T8VsK$}Xee`OdSzd9EFg1fdSzd9DIjBSZgX@1BVl1TWi~Q6GdE^qI5TEBVK+EsIW#h3HD)w1Fg0R0W-yWjI24!!76>{zbaHiWV_|eDdCMf_TVPQ05GGjM4Fkv`kGBGq}Ib=03I5jvjGBYz~W-(+qG?@fJ4(9|P0y;WyVRCb2Uvg!0b!>DfDF7p3G&yEDGBz?eHe_LCH)UisVKy>3IA%3rGd49gH8eP4n*>4U1RoGOI&fifb7fz0Wpj0GbSQ9Pa&u*0a%FRMY;-0jDF7p3Ff}-0H#TN7Ic8!tVL3N3H8?djGdN~4WHc~2IAUQnodiJ+=L8=DIy!!EVRCb2Uvg!0b!>DfDF7p3WI1IrGG;J2I5jk3W;A0nHaIpgWHvEnFk>)gGBsi`p9DeY1Ro?iI&W}ga$$6Day&dJb97`nI&X7ya%Ev{CM+OhZ*FsRAaG%Fb7fz0Wpj0GbS5bPBVlATWnp1BWMea9V=*)|VL34}VKy^lIc7OEGcz$YH!`6FK_ce_9|Sr&WpZ+FawsVvCIBO0WoBYxIbmUDWM(ihW??a5V>vfDIW{t6GBRZ`GG#V6qXa<$qXZ!ZCIDhEH#sphGBP-3Ic7IBGd4CdIAb|EWM(uqG-fe3H)N#*K?COm9|}4;WpZ+FawsVvV{dMAbRZ@GBVjpVH90alVlXjeW;tOuW;bRzI5uK9G&3<{WoBeDVmPM+K?vsr9|$@+Z*XODVRUbDAY*TCb95kZVRCb2UuAM~Z*nFmDIjBSZgX@1BVjZ%WM(!rWiT={G&5o{VPa-vIbkGdMIfF=912H#B8tW-~ZrH!(IgHaV*VLFWV?0y;WxaAk5~bZ>GXaA9(DWnX1-a&K}bCMYQYBVjpaH!xvgHa0b6I5c5lW;JFxGd5&oGB;*6V>vZrG-0g-LFWV?Iyz%-ZgX^BX>?_BVRUbD03%^yW;rruW@0orV=-nlWH4qiGC5{6Ff%eYFgRp1VPY`n1Rpv&X>?_BVRUbD03%^xWi>D}V=*yhIc7OAHZo*oHDh9BW;JCpV>xCtI5soq1RnxAI$~vKX>KSf03%^DW;Qf2WjQo5W-&D}IAmsKVPrODV`DdDV=*&0IWuIj1VOO`AqXI2Z*FsR068%*W-&84Gc#c@H8eM2GC49ZG%z$WI5#*lIX5^lX0rrA2ImAH2s%1rVr6G(ZYU`rV{dMAbO0k^W;Hl6F*0O0VKX*2Wi?|lWHUHrVl`wnI5#jjH#Ib3wFE&1=L8=JIyz%zZe%DaAY*TCb94YBVP;`8W;il2VPrNiV`XA6HZw9eV`XDDVl*;hFf}kYF}DOk2ImAH0y;WnZe%Da03%^DGd5&1IXGoAGC5{2I59ajWH&K1W@a!lW@Kh&V_`PA1VOn3AqXI2Z*FsR05LT*WHT~iV_`F8VKp#hV>K`{Ff%tYHa9h4I5lB5HM;~s2ImAH5;{6zbYE~`bZ97ZbYwa@b98cPZf9S1X=QgQ03%^AIXO2nVPi8fIW;jfH)At4W@BPBFf%wdV>mW5VKX(o1VIqJ1R)q8V{dMAbO13jIW}QsFgRj2WHB^1V>V(qGiEVjVK6slV>B^1HfFyBK^Er(9}_w{VRT<`VRUFHV{dMAbRcwZZEQL^aA9<4CMf_TVP#@wIAu07I5RRfGh${nF=a6^G&MOiIWjdcV_`QpIl%-$5y1o@86abCZgX@1H8*5sVlrYiWi&BiGiGEsIbmiqGG;bmI50UfVKieg!vsMW=L8=UIyzx=UvOb`Xee`ZWI8%`b98cPZf9S1X=QgQ03%^BWH~f7H8D9jIW}TsFfchaVl-uBHe+I9IWjRdH#aoJ1VItS1R)t9V{dMAbO1SKIb=3sWH&iEFf}+ZGd5x|F=RMoWiT^hG&5piH8;luK^Nx)9}_w{Z*XODVRUbDTU{t)Z*FsRAarkSY&tq{VRUFFDF7p3GC5&pIAvrqHD)qmVlpu@Ha228WMnchFf?N`IA$_q$pk?W$pj%8AY*TCb94YWG&wmpF*G<~Ic6|1F*9W|IWjXdWMMfoI5ae4He@l&1VI<)1RoMQI&W}ga$$6Da$8*}b97`nI&*Y#X>MmH)LXBHDfVkF=aG1H8?b7IWS^l%>+RZ%>*GBAY*TCb94YPWH~W1FgGzdH)Ap~W-~c9VPj%pHDok4IXN|CIALPX1VI+(1RoPRI&W}ga$$6Da$8*}b97`nI(Kt)a%pa7Uv_C_cPRiPVKz5rH8o*oI5#*lWHB}{WHB@_GB#mmGdVP3GC4IgV$lRa5zz!886abCZgX@1FfuhZH8W%~H!?6}F*i6kG&D9bI59L~WivE4Gcz_f(*!{m=L8=JIyz=yX>4U=C@COgZ*FsR03%^JFgZ73V>LB0FfcbYGdE^9G%z+WGGk?9VK6XdIXPn01VIMp1Rn@GI&W}ga$$6Dav)-FZ)_+jAY*TCb94YBVP-ZqWnnisVK!uBI5;siGBIOiI5st5GdD6aIXGo8GS>t_2ImAH2s%1*bz@^?Wn^V!C@COgZ*FsR03%^yHDYFCWHx1FGdMLcF*Y+fH83(cVq`WsVPrQrVKZad1VIMp1Rn@GI&W}ga$$6Dav)=GZgX@XbZ>2JIy!V=Vr*q5C@COgZ*FsR03%^JWH2>3GB`P9WMO7DV>f1EH!(ReHexa{VKQbpV>xEq1VIMp1RnxAI&W}ga$$6Dav*eXZEQL^bYWs_WhN*o03%^FWid2mGBRW|WHvZrGB;x}F*h+WVKXx^Ib>rtVrDtr1VQHn9|Af$Z*XODVRUbDAarkSY&tr0VPb4$CMGB;03%^IWMg45HZU+aI5s&oG-5M2VmUcsG+{JmIb&isH)Ay41VQHn9|Sr&bYWs_Whf~iCIBO0G&f{2WnpA8FkxjmWHB~4F)}eQV>UB0F*#v2VKFu`;RHbf;RGQCCIB}#Vl+1}Vm3BpWHc}_VK8AiGC43XHe_TsI5=WBI5Oh|K?COm9|}4;bYWs_Whf~iV{dMAbRZ@GBVjo?GiEhpH92E6VlgmgI5#mfIA%CuVq!R9F*am1F=XWgK?q_106IEwVRCb2Uvg!0b!>D1V{Bn_b98TQY+o^7F>qmWb7fy&a%FRMY;-PYbZu-~1spm$c4=jIWn^D;d2nR_BVjQ$H85s0Wi>Z7GcsmmFf(E{V>4wrWH>iCFg0T^Ghtf=93eV7Z*XODVRUbDJUl3KbYwa@Z*z2VWnpb5EFfcVZgX@XZf|5|Uv_C_cP1$SBVjQ&FflMWW-wwmH#j&rW;HZoGG=3BVmM}HWiVl4IWXx2J|9~J90)o(Zf|5|C@COgZ*FsR03%^$Vl*;hVK!!DWMpPyG%z<}WHUEnHaRz8G%zT4F)=e{VmR*vJ`7t091c12Ffj83J`h_491S`;Zf|5|Uv_C_cPMUeWMyA=X=QgNCMf_TVK+H2IWaUdGG#Y8V=y;kG-6^nH!v_}G&EskW@0#GHuVHP3tI&o2s%1%aAk5~bZ>GXVsCG3C@COgZ*FsR03%^yIAvupW@ckzIXO8tFfm~{VlXl^H)Ak4IbmTrGBq&w1U?2^1soJQI&W}ga$$6Day=+xZ*FsRAZ~ADWnXq_Wp^eiASM7KVP;`8H8o=}Gcz|~HfCisWHDo5H8V41F)%kZFk)djW%&d?5?civ4>~$;aAk5~bZ>G!C~j|LWnXq_Wp^efDIg{QBVjXSWH>Q7HDxn7H!)>mVlpu?Fk(0{GB-FgV`gSCGdBAKJ`Gz1949(DZ*XODVRUbDAw4K#Z*FsRAZ~ADWnXq_Wp^elAY*TCb95kXZ)9a(c4=jIJXAg=DF7p3Gh|~pGGaM3I5atAH)S?rWH>ouH8eRkW@R}xVr5}r{RBQGTLl~^Iy!G~WpZJ3Z*o07C}VGKb95kXZ)9a(c4=jICM+OhZ*FsRAZ~ADWnXq_Wp_MOJ|-yuBVjQ)F*q_XWH2)@Ff%n|H8wP6WiUBrHDzKlH8Em2GB^JOJ|$ZP93VP6Z*XODVRUbDJv}I6Z*FsRAZ~ADWnXq_Wp^elAY*TCb95kdVPb4$CMf_TVK+52Vq{`rH#j&pIbmjHHezFAVl-kkF=a4eH#cQ8H30=a9$N(*AUZm4aAk5~bZ>G!Jt$*uZgX@XZf|5|Uv_C_cP1<#V{dMAbRc1Ja$$KUDF7p3Gh#D2VP#}uVPs)8GBPn?G-We5H8)}~W-u}{H8?ag0|h=FTLl~`Iy!G~WpZJ3Z*o07C}VGKb95kXZ)9a(c4=jICM+OhZ*FsRAarkSY&tr2VQh6}JXAg=DF7p3WI1MJIW{;lHfCdGWi&HmWHDu7F=Jz9Hf1t0V>mfA1qD7QTLl~(Iy!G~WpZJ3Z*o07C}VGKb95kXZ)9a(c4=jICM+OhZ*FsRAXFwP03%^EWMW}6Wn?!qH8wXeG&VLlWi&B2HD+NqV>o6tV>2`d1wI;E1spRvI&W}ga$$6Day>mLV{dMAbRceTWMyA=X=QgNEFfcVZgX@Xb97`nI%#fcbZKF1X?kUHUuG!Jt$*uZgX@XZf|5|Uv_C_cP1<#V{dMAbRctdWI8%_Wn*-2ay(Q%CMf_TVPrI7G%++ZW;if2Gh;V6Wi>Q0FlIL}F=aJjWjAFrFbf4fCtC#^7&A`IXGo8H)J$sIW;z9H4Ozm7Fz`z89F*)bYE~`bZ97JZ*FsRAarkSY&tq{VRUFFDIjBSZgX@1BVl4PHZ@~5W-v1_G&VFhVq;`DFgG+|WH2}}W-?-CF*gqdJ{MaB92q(~VRT<`VRUFHb97`nI(Kt)a%pa7Uv_C_cPSuaZ*FsR03%^BH8*21WnpGwH)3RFIA$|5GdVahFg7qTH)JtlGB9Hi1wI#B1soVUI&W}ga$$6Da$8*}b97`nI&*Y#X>MmTrJ{DUA92q(~Z*XODVRUbDTU{t)Z*FsRAarkSY&tq{VRUFFDIjBSZgX@1BVjZ&VmUN2IWRCXIW#vnGcYw~Fk&`0GB9K}GGb;qHZ>ImJ{MaB92q(~Z*XODVRUbDTU{t~bYwa@cXM=dX>MmhFfuk}W@BVCF*q?YG%+=0VPrEfWo2SEIb>oP1wIU01sn)EI$?7tDIjBSZgX@1BVjdTWHvE5W->W4W;rotV>x6rF*jp2F*z_bWnnlnFfMmIDIjBSZgX@1BVjW$V>D!BIA&rwG&wkCHe_WsW@0clH!(C~H8412F*hj%J_cI_90)o(VRK(}VPb4$C@COgZ*FsR03%^FVmC8lH)UmEVL3N8Ha2BqWo0vDHZU|XH!)!~H8(aZ1wIB_1sn)EI$?8PbZKp6C@COgZ*FsR03%^JG%z?fVKX%{GBac~F=JsjHfAz1VKX){Ff%b?WH)6k1wIB_1sn)EI%#t#DIjBSZgX@1BVjTzWH)0qHDNO|VPP?2I5s$BWMwsDVqsx7Wi>QqV=^xVJ_cI_90)o(X>(s;a&lpLC@COgZ*FsR03%^IH#uZEG&N*0I5;q7V=^%|FgP`2H)LgEFgQ11WHUH11wIB_1sn)EI%#uXVRCX|d0%g4Uvyz&Y-MvODIjBSZgX@1BVjgUV>C56Vr4TnHaR$DV>MwpVPi04Ffd{?G&nG2VP!J~J_cI_90)o(X>(sDaFDIjBSZgX@1BVjdRGdM72H#ak3WimN2V>vW3VK6ggG&Ny3IAb|9VlX)cJ_cI_90)o(X>(s@Y;R$7X>MmZ*_AhZf|5|UvznJWho$IZ*FsR03%^$WiVl4WHm8mFl8|?IASv}HezKmVKZfAIW;yhV`E`I1wId31sn)EI%#uXXm4$AXJu|>Z*_AhDIjBSZgX@1BVjT*V>mKoI5T1~WHvNrFfle|Vl*;lIW=ZvGdE>3G&Vs6J_cI_90)o(X>(s`Zggd5WpXGfAY*TCb94YBVPZLBI5Rb5WM(iiH)b+5Fl0D1W??mCH8(RhWjHl5Fhd1C23rLj2s%1xb6;+CZDM6|C@COgZ*FsR03%^BFgG_dGBYU80Ffw8>F)%S(t6X>DaFDIjBSZgX@1BVjo>VK!o8Gc#o~VqrBmGh;J1VK6p1F)}t`V`ea7IAco%J_cI_90)o(X>(t8VQh6}C@COgZ*FsR03%^xH8^HCWMworVr4aEH8VFeIASqjFf?R0WjSOpHDP8=1wIB_1sn)EI&^t(Whf~iV{dMAbO0k^GBh|dV`ed7I5ROcHa0OiF*#y6Fg7-0Wi~QnIW{sePX#^(TLl~lIy!P?W+*8jV{dMAbO0k^Wn(pCH#RgfIWu85Wo2SAFfcGVVKg{2Vly;kH)AtlQ3XB*TLl~lIy!b?Y;|QQDIjBSZgX@1BVl4B=~G-fz6GBi^KJ_cI_90)o(c42IFWnX1@VPkYCDIjBSZgX@1BVjURH8nV8H#a#sVq-LAGBjaiWMMElHZ(LgWnwcpG-Oo;J_cI_91A)+c42IFWnXV{C{!jUDIjBSZgX@1BVjW!G-WkpHa0e7V`O17G&wV7W;tPDGGj0}F*as3Gh2IbSOr3Zeu1UDIjBSZgX@1BVl1RW;irrW?^DCH#uWBF<~$_VlXsgVK8DcWMVirGiF%@J`5EE5npy`Wp@ByUv_C_cP?mjZERu%9u+z|Z*XODVRUbDA|hXOZ*6QSV{dMAbRc7BVR9-gAaiMYWnXkD03%^EFflbVFl9A1Fk>=gV>L7|H!?Y4W-u{jF)(5>VK+2f1wa#G1s)hWI&W}ga$$6Dav~yMbZ>2JC}VGKb95kMXkl_VUvw%gAaiMYWnXkD03%^yVlp!@H)J+8H8VJ5Fl00{WMnWmG%z$UW;io4GBjge1wa;J1s)YTI&W}ga$$6Dav~yMbZ}vGXeeWEZgX@XV`yP=Dl8y#X?kT}bSVHMVPrHgHe)z6WH~l4WMnmBWMMfmH8wP6H#0b9HaBE6H(&)o6Jh`jIy!7=bY*g3Y;yo#F<&ukX>?_BVQh0QXmo9CLug@cXJu?}X8>?-czIuAXkl(=Wo&O}E@*UZYyuzwBmyk~G66RMJpn=kNdrs;Pz6*0S^!=EW&vpcaByK~Wo}_@Wpi+0V`XP@Z*_2EY+-YAb98cbV{~V?Hd2nT9WoBe)a%O34WoC75V`OD!X>Mg@Zgp*CZgp)Sc42IGVRB<{ZewL|bN~PV'); diff --git a/v3.3.0/structtoml_1_1date.html b/v3.3.0/structtoml_1_1date.html new file mode 100644 index 00000000..da19b22e --- /dev/null +++ b/v3.3.0/structtoml_1_1date.html @@ -0,0 +1,217 @@ + + + + toml::date struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date struct +

                                                                                                                              +

                                                                                                                              A local date.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + date() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Default constructor. Does not initialize the members.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Y, typename M, typename D>
                                                                                                                              + date(Y y, + M m, + D d) constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs a date from individual date component values.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              uint16_t year +
                                                                                                                              +
                                                                                                                              The year component.
                                                                                                                              +
                                                                                                                              uint8_t month +
                                                                                                                              +
                                                                                                                              The month component, from 1 - 12.
                                                                                                                              +
                                                                                                                              uint8_t day +
                                                                                                                              +
                                                                                                                              The day component, from 1 - 31.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const date& lhs, + const date& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(const date& lhs, + const date& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const date& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a date out to a stream as YYYY-MM-DD (per RFC 3339).
                                                                                                                              +
                                                                                                                              + auto operator<=(const date& lhs, + const date& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const date& lhs, + const date& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(const date& lhs, + const date& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(const date& lhs, + const date& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const date& rhs) +

                                                                                                                              +

                                                                                                                              Prints a date out to a stream as YYYY-MM-DD (per RFC 3339).

                                                                                                                              +
                                                                                                                              std::cout << toml::date{ 1987, 3, 16 } << "\n";
                                                                                                                              1987-03-16
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.3.0/structtoml_1_1date__time.html b/v3.3.0/structtoml_1_1date__time.html new file mode 100644 index 00000000..2561d7a6 --- /dev/null +++ b/v3.3.0/structtoml_1_1date__time.html @@ -0,0 +1,339 @@ + + + + toml::date_time struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date_time struct +

                                                                                                                              +

                                                                                                                              A date-time.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + date_time() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Default constructor. Does not initialize the members.
                                                                                                                              +
                                                                                                                              + date_time(const toml::date& d, + const toml::time& t) constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs a local date-time.
                                                                                                                              +
                                                                                                                              + date_time(const toml::date& d) explicit constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs a local date-time.
                                                                                                                              +
                                                                                                                              + date_time(const toml::time& t) explicit constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs a local date-time.
                                                                                                                              +
                                                                                                                              + date_time(const toml::date& d, + const toml::time& t, + const toml::time_offset& off) constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs an offset date-time.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto is_local() const -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this date_time does not contain timezone offset information.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + toml::date date +
                                                                                                                              +
                                                                                                                              The date component.
                                                                                                                              +
                                                                                                                              + toml::time time +
                                                                                                                              +
                                                                                                                              The time component.
                                                                                                                              +
                                                                                                                              + optional<toml::time_offset> offset +
                                                                                                                              +
                                                                                                                              The timezone offset component.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const date_time& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a date_time out to a stream in RFC 3339 format.
                                                                                                                              +
                                                                                                                              + auto operator<=(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date_time::date_time(const toml::date& d, + const toml::time& t) constexpr noexcept +

                                                                                                                              +

                                                                                                                              Constructs a local date-time.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              dThe date component.
                                                                                                                              tThe time component.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date_time::date_time(const toml::date& d) explicit constexpr noexcept +

                                                                                                                              +

                                                                                                                              Constructs a local date-time.

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              dThe date component.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date_time::date_time(const toml::time& t) explicit constexpr noexcept +

                                                                                                                              +

                                                                                                                              Constructs a local date-time.

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              tThe time component.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date_time::date_time(const toml::date& d, + const toml::time& t, + const toml::time_offset& off) constexpr noexcept +

                                                                                                                              +

                                                                                                                              Constructs an offset date-time.

                                                                                                                              + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              dThe date component.
                                                                                                                              tThe time component.
                                                                                                                              offThe timezone offset.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const date_time& rhs) +

                                                                                                                              +

                                                                                                                              Prints a date_time out to a stream in RFC 3339 format.

                                                                                                                              +
                                                                                                                              std::cout << toml::date_time{ { 1987, 3, 16 }, { 10, 20, 34 } } << "\n";
                                                                                                                              +std::cout << toml::date_time{ { 1987, 3, 16 }, { 10, 20, 34 }, { -2, -30 } } << "\n";
                                                                                                                              +std::cout << toml::date_time{ { 1987, 3, 16 }, { 10, 20, 34 }, {} } << "\n";
                                                                                                                              1987-03-16T10:20:34
                                                                                                                              +1987-03-16T10:20:34-02:30
                                                                                                                              +1987-03-16T10:20:34Z
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Variable documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + optional<toml::time_offset> toml::date_time::offset +

                                                                                                                              +

                                                                                                                              The timezone offset component.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.3.0/structtoml_1_1inserter.html b/v3.3.0/structtoml_1_1inserter.html new file mode 100644 index 00000000..774b10bd --- /dev/null +++ b/v3.3.0/structtoml_1_1inserter.html @@ -0,0 +1,130 @@ + + + + toml::inserter struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + toml::inserter struct +

                                                                                                                              +

                                                                                                                              Helper class for suppressing move-construction in single-argument array constructors.

                                                                                                                              +
                                                                                                                              // desired result: [ [ 42 ] ]
                                                                                                                              +auto bad = toml::array{ toml::array{ 42 } };
                                                                                                                              +auto good = toml::array{ toml::inserter{ toml::array{ 42 } } };
                                                                                                                              +std::cout << "bad: " << bad << "\n";
                                                                                                                              +std::cout << "good:" << good << "\n";
                                                                                                                              bad:  [ 42 ]
                                                                                                                              +good: [ [ 42 ] ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.3.0/structtoml_1_1source__position.html b/v3.3.0/structtoml_1_1source__position.html new file mode 100644 index 00000000..389b10c3 --- /dev/null +++ b/v3.3.0/structtoml_1_1source__position.html @@ -0,0 +1,255 @@ + + + + toml::source_position struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::source_position struct +

                                                                                                                              +

                                                                                                                              A source document line-and-column pair.

                                                                                                                              + +
                                                                                                                              auto table = toml::parse_file("config.toml"sv);
                                                                                                                              +std::cout << "The node 'description' was defined at "sv
                                                                                                                              +    << table.get("description")->source().begin()
                                                                                                                              +    << "\n";
                                                                                                                              The value 'description' was defined at line 7, column 15
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + operator bool() const explicit constexpr noexcept +
                                                                                                                              +
                                                                                                                              Returns true if both line and column numbers are non-zero.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + source_index line +
                                                                                                                              +
                                                                                                                              The line number.
                                                                                                                              +
                                                                                                                              + source_index column +
                                                                                                                              +
                                                                                                                              The column number.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const source_position& lhs, + const source_position& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(const source_position& lhs, + const source_position& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const source_position& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a source_position to a stream.
                                                                                                                              +
                                                                                                                              + auto operator<=(const source_position& lhs, + const source_position& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const source_position& lhs, + const source_position& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(const source_position& lhs, + const source_position& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(const source_position& lhs, + const source_position& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const source_position& rhs) +

                                                                                                                              +

                                                                                                                              Prints a source_position to a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe stream.
                                                                                                                              rhsThe source_position.
                                                                                                                              ReturnsThe input stream.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse("bar = 42"sv);
                                                                                                                              +
                                                                                                                              +std::cout << "The value for 'bar' was found on "sv
                                                                                                                              +    << tbl.get("bar")->source().begin()
                                                                                                                              +    << "\n";
                                                                                                                              The value for 'bar' was found on line 1, column 7
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Variable documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + source_index toml::source_position::line +

                                                                                                                              +

                                                                                                                              The line number.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + source_index toml::source_position::column +

                                                                                                                              +

                                                                                                                              The column number.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.3.0/structtoml_1_1source__region.html b/v3.3.0/structtoml_1_1source__region.html new file mode 100644 index 00000000..a077385a --- /dev/null +++ b/v3.3.0/structtoml_1_1source__region.html @@ -0,0 +1,234 @@ + + + + toml::source_region struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::source_region struct +

                                                                                                                              +

                                                                                                                              A source document region.

                                                                                                                              + +
                                                                                                                              auto tbl = toml::parse_file("config.toml"sv);
                                                                                                                              +if (auto server = tbl.get("server"))
                                                                                                                              +{
                                                                                                                              +    std::cout << "begin: "sv << server->source().begin << "\n";
                                                                                                                              +    std::cout << "end: "sv << server->source().end << "\n";
                                                                                                                              +    std::cout << "path: "sv << *server->source().path << "\n";
                                                                                                                              +}
                                                                                                                              begin: line 3, column 1
                                                                                                                              +end: line 3, column 22
                                                                                                                              +path: config.toml
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto wide_path() const -> optional<std::wstring> +
                                                                                                                              +
                                                                                                                              The path to the corresponding source document as a wide-string.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + source_position begin +
                                                                                                                              +
                                                                                                                              The beginning of the region (inclusive).
                                                                                                                              +
                                                                                                                              + source_position end +
                                                                                                                              +
                                                                                                                              The end of the region (exclusive).
                                                                                                                              +
                                                                                                                              + source_path_ptr path +
                                                                                                                              +
                                                                                                                              The path to the corresponding source document.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const source_region& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a source_region to a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + optional<std::wstring> toml::source_region::wide_path() const +

                                                                                                                              +

                                                                                                                              The path to the corresponding source document as a wide-string.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const source_region& rhs) +

                                                                                                                              +

                                                                                                                              Prints a source_region to a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe stream.
                                                                                                                              rhsThe source_position.
                                                                                                                              ReturnsThe input stream.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse("bar = 42", "config.toml");
                                                                                                                              +
                                                                                                                              +std::cout << "The value for 'bar' was found on "sv
                                                                                                                              +    << tbl.get("bar")->source()
                                                                                                                              +    << "\n";
                                                                                                                              The value for 'bar' was found on line 1, column 7 of 'config.toml'
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Variable documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + source_path_ptr toml::source_region::path +

                                                                                                                              +

                                                                                                                              The path to the corresponding source document.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.3.0/structtoml_1_1time.html b/v3.3.0/structtoml_1_1time.html new file mode 100644 index 00000000..13eb6fa2 --- /dev/null +++ b/v3.3.0/structtoml_1_1time.html @@ -0,0 +1,223 @@ + + + + toml::time struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::time struct +

                                                                                                                              +

                                                                                                                              A local time-of-day.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + time() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Default constructor. Does not initialize the members.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename H, typename M, typename S = uint8_t, typename NS = uint32_t>
                                                                                                                              + time(H h, + M m, + S s = S{}, + NS ns = NS{}) constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs a time from individual time component values.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              uint8_t hour +
                                                                                                                              +
                                                                                                                              The hour component, from 0 - 23.
                                                                                                                              +
                                                                                                                              uint8_t minute +
                                                                                                                              +
                                                                                                                              The minute component, from 0 - 59.
                                                                                                                              +
                                                                                                                              uint8_t second +
                                                                                                                              +
                                                                                                                              The second component, from 0 - 59.
                                                                                                                              +
                                                                                                                              uint32_t nanosecond +
                                                                                                                              +
                                                                                                                              The fractional nanoseconds component, from 0 - 999999999.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const time& lhs, + const time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(const time& lhs, + const time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const time& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a time out to a stream as HH:MM:SS.FFFFFF (per RFC 3339).
                                                                                                                              +
                                                                                                                              + auto operator<=(const time& lhs, + const time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const time& lhs, + const time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(const time& lhs, + const time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(const time& lhs, + const time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const time& rhs) +

                                                                                                                              +

                                                                                                                              Prints a time out to a stream as HH:MM:SS.FFFFFF (per RFC 3339).

                                                                                                                              +
                                                                                                                              std::cout << toml::time{ 10, 20, 34 } << "\n";
                                                                                                                              +std::cout << toml::time{ 10, 20, 34, 500000000 } << "\n";
                                                                                                                              10:20:34
                                                                                                                              +10:20:34.5
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.3.0/structtoml_1_1time__offset.html b/v3.3.0/structtoml_1_1time__offset.html new file mode 100644 index 00000000..966814a5 --- /dev/null +++ b/v3.3.0/structtoml_1_1time__offset.html @@ -0,0 +1,263 @@ + + + + toml::time_offset struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::time_offset struct +

                                                                                                                              +

                                                                                                                              A timezone offset.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + time_offset() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Default constructor. Does not initialize the members.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename H, typename M>
                                                                                                                              + time_offset(H h, + M m) constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs a timezone offset from individual hour and minute totals.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              int16_t minutes +
                                                                                                                              +
                                                                                                                              Offset from UTC+0, in minutes.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const time_offset& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a time_offset out to a stream as +-HH:MM or Z (per RFC 3339).
                                                                                                                              +
                                                                                                                              + auto operator<=(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename H, typename M> +
                                                                                                                              + toml::time_offset::time_offset(H h, + M m) constexpr noexcept +

                                                                                                                              +

                                                                                                                              Constructs a timezone offset from individual hour and minute totals.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              HAn integral type.
                                                                                                                              MAn integral type.
                                                                                                                              Parameters
                                                                                                                              hThe total hours.
                                                                                                                              mThe total minutes.
                                                                                                                              +
                                                                                                                              std::cout << toml::time_offset{ 2, 30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{ -2, 30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{ -2, -30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{ 0, 0 } << "\n";
                                                                                                                              +02:30
                                                                                                                              +-01:30
                                                                                                                              +-02:30
                                                                                                                              +Z
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const time_offset& rhs) +

                                                                                                                              +

                                                                                                                              Prints a time_offset out to a stream as +-HH:MM or Z (per RFC 3339).

                                                                                                                              +
                                                                                                                              std::cout << toml::time_offset{ 2, 30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{ 2, -30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{} << "\n";
                                                                                                                              +std::cout << toml::time_offset{ -2, 30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{ -2, -30 } << "\n";
                                                                                                                              +02:30
                                                                                                                              ++01:30
                                                                                                                              +Z
                                                                                                                              +-01:30
                                                                                                                              +-02:30
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.3.0/toml++.tagfile.xml b/v3.3.0/toml++.tagfile.xml new file mode 100644 index 00000000..e7f27e8a --- /dev/null +++ b/v3.3.0/toml++.tagfile.xml @@ -0,0 +1,9177 @@ + + + + toml::array + classtoml_1_1array.html + toml::node + + + array + classtoml_1_1array.html + a29fc707cf66a79f3c3d93dadbe3b2719 + () noexcept + + + + array + classtoml_1_1array.html + a3bd4611c96ce97d7e6991b7a4312370d + (const array &) + + + + array + classtoml_1_1array.html + ac552a63c329598d671e6531b0cef957b + (array &&other) noexcept + + + + array + classtoml_1_1array.html + acb17a58f1fbdb12aeaf8f7d1e8093e5c + (ElemType &&val, ElemTypes &&... vals) + + + array & + operator= + classtoml_1_1array.html + a37f428f585188ce70c82f1df6935f5d5 + (const array &) + + + array & + operator= + classtoml_1_1array.html + a7e5e45777e08941abb2069a5991e1f31 + (array &&rhs) noexcept + + + node_type + type + classtoml_1_1array.html + a352b6a99235216f070b5e97976663571 + () const noexcept final + + + bool + is_homogeneous + classtoml_1_1array.html + a79a1fe77c03b33ea2b9d8d0a859c93e6 + (node_type ntype) const noexcept final + + + bool + is_homogeneous + classtoml_1_1array.html + ae4e986f9fdb23090f9a0b3716a63e8bb + (node_type ntype, node *&first_nonmatch) noexcept final + + + bool + is_homogeneous + classtoml_1_1array.html + ad00610c0e18f02516de92b623dc4d0f5 + (node_type ntype, const node *&first_nonmatch) const noexcept final + + + bool + is_table + classtoml_1_1array.html + ad7ed894e54ad3aaef6d7693c26b887d9 + () const noexcept final + + + bool + is_array + classtoml_1_1array.html + a1f1e4d93f52778613d0a7bcf74a23427 + () const noexcept final + + + bool + is_array_of_tables + classtoml_1_1array.html + a87cd0dcbebcfd661a0ae387255c0605e + () const noexcept final + + + bool + is_value + classtoml_1_1array.html + acc533a7fa1ea5c68fce6f4fea5bc419c + () const noexcept final + + + bool + is_string + classtoml_1_1array.html + aeefdd01a2ce3f6bcd7aecfabd363d06b + () const noexcept final + + + bool + is_integer + classtoml_1_1array.html + a78db4190977034c4364674a2958855d4 + () const noexcept final + + + bool + is_floating_point + classtoml_1_1array.html + ab758b93eedbdc27112681f26440bee03 + () const noexcept final + + + bool + is_number + classtoml_1_1array.html + aa034144c580b3d8a4727c0cfbfebc214 + () const noexcept final + + + bool + is_boolean + classtoml_1_1array.html + abbecf0a51aa3e175bc5748ccf71063d8 + () const noexcept final + + + bool + is_date + classtoml_1_1array.html + a792dc3fd7105185415925d4f9ab3ca1d + () const noexcept final + + + bool + is_time + classtoml_1_1array.html + a2d2fc80512d08af7a934a6d02c7bf506 + () const noexcept final + + + bool + is_date_time + classtoml_1_1array.html + ae844f53a9604fb42f185a91616a72cbd + () const noexcept final + + + table * + as_table + classtoml_1_1array.html + a95985d66ecd4abf6c5822cbd0d239582 + () noexcept final + + + array * + as_array + classtoml_1_1array.html + a97b772796c962a635e8d5c50e7c03b3a + () noexcept final + + + toml::value< std::string > * + as_string + classtoml_1_1array.html + a5d4d3b502ef2e33107eb1d682b282c75 + () noexcept final + + + toml::value< int64_t > * + as_integer + classtoml_1_1array.html + a41d03d31a6ab168bc4b50046c4bbb50f + () noexcept final + + + toml::value< double > * + as_floating_point + classtoml_1_1array.html + a5e6ed524c4548fdd2131dcbb38b8c766 + () noexcept final + + + toml::value< bool > * + as_boolean + classtoml_1_1array.html + ac1989a2c4d50f8493f97c23ee22e15e6 + () noexcept final + + + toml::value< date > * + as_date + classtoml_1_1array.html + a78a9e7b1d44f90eb55403e54d6d31e2b + () noexcept final + + + toml::value< time > * + as_time + classtoml_1_1array.html + a3dedcb2261a528c59454fc9e0bb7c9fb + () noexcept final + + + toml::value< date_time > * + as_date_time + classtoml_1_1array.html + a58c350366cbbab3eb430751212ba9b18 + () noexcept final + + + const table * + as_table + classtoml_1_1array.html + ae45534b573d10c7e2e1c5624153608f9 + () const noexcept final + + + const array * + as_array + classtoml_1_1array.html + a8007db93bdeb82c8c77965ff72056f6b + () const noexcept final + + + const toml::value< std::string > * + as_string + classtoml_1_1array.html + a943378ff5912e9c732b4dee12d4bf2de + () const noexcept final + + + const toml::value< int64_t > * + as_integer + classtoml_1_1array.html + a79871c2b52557b74da8302925b5624ee + () const noexcept final + + + const toml::value< double > * + as_floating_point + classtoml_1_1array.html + a8f5736e45881203e362bcbb43ed90093 + () const noexcept final + + + const toml::value< bool > * + as_boolean + classtoml_1_1array.html + a48206827982b5cffe51662adfc3aec2b + () const noexcept final + + + const toml::value< date > * + as_date + classtoml_1_1array.html + afc3f86ca86c60deda39e69d24abcacca + () const noexcept final + + + const toml::value< time > * + as_time + classtoml_1_1array.html + a7708feaac3561b836e0789db0dfa6db4 + () const noexcept final + + + const toml::value< date_time > * + as_date_time + classtoml_1_1array.html + aa8fb689b36f44a4fa7c0ffccff20dbd9 + () const noexcept final + + + node * + get + classtoml_1_1array.html + a10664e00054ea4021fec5144b69b8792 + (size_t index) noexcept + + + const node * + get + classtoml_1_1array.html + a44db509dce6b7b77e563c822a5936abe + (size_t index) const noexcept + + + impl::wrap_node< ElemType > * + get_as + classtoml_1_1array.html + a5c2f4624498cba9e1e467b0eb2e9046e + (size_t index) noexcept + + + const impl::wrap_node< ElemType > * + get_as + classtoml_1_1array.html + ae47ca1cc4c61e94fed30aea72ca8d268 + (size_t index) const noexcept + + + node & + operator[] + classtoml_1_1array.html + a853bad0297ca4dcee57c97da2fe318e7 + (size_t index) noexcept + + + const node & + operator[] + classtoml_1_1array.html + ae9f72a1b877f2ac66327a152d55aa9c6 + (size_t index) const noexcept + + + node & + at + classtoml_1_1array.html + aeade4e0cafa3f57b4800e72baa843b1e + (size_t index) + + + const node & + at + classtoml_1_1array.html + a8a5957e22aa2d0f4f9e6feaf9bfffa55 + (size_t index) const + + + node & + front + classtoml_1_1array.html + a9c78848129a2a703c154e7cbe1a973d3 + () noexcept + + + const node & + front + classtoml_1_1array.html + a5ba3af18c63546da6f9d2ac3b5b77f64 + () const noexcept + + + node & + back + classtoml_1_1array.html + a4c58dea5e8795e4b9f8df4f1e1473204 + () noexcept + + + const node & + back + classtoml_1_1array.html + ac7652c1ab60af2ca1c7d52f0658639b4 + () const noexcept + + + bool + empty + classtoml_1_1array.html + a5d527ea6bfddad1025e90e4363c822cc + () const noexcept + + + size_t + size + classtoml_1_1array.html + af81d7b6a1257ad766a47d9276855a7c9 + () const noexcept + + + size_t + max_size + classtoml_1_1array.html + ae65a76add6d756fc7ba8f12a5aad983c + () const noexcept + + + size_t + capacity + classtoml_1_1array.html + a02b773a1ff337692e78da429030c1610 + () const noexcept + + + void + reserve + classtoml_1_1array.html + a1ba073adc52c3df5ad29cfd7e5daa1d5 + (size_t new_capacity) + + + void + shrink_to_fit + classtoml_1_1array.html + a718c2031ead428aa52912741f6d094aa + () + + + void + truncate + classtoml_1_1array.html + a6e3ac9962c706a88c1001ff83a4084f3 + (size_t new_size) + + + void + resize + classtoml_1_1array.html + ab1aca2337ffce7e583a2cf303f16259f + (size_t new_size, ElemType &&default_init_val, value_flags default_init_flags=preserve_source_value_flags) + + + iterator + erase + classtoml_1_1array.html + a22389a9ed9444fe52be10c4acbdec908 + (const_iterator pos) noexcept + + + iterator + erase + classtoml_1_1array.html + a723388860d72c9a162137d0293366fb2 + (const_iterator first, const_iterator last) noexcept + + + array & + flatten + classtoml_1_1array.html + aa2a21958705629bde15aafae9598a2ec + () & + + + array && + flatten + classtoml_1_1array.html + ad307bea17e7640c57715d67ab8a777d4 + () && + + + array & + prune + classtoml_1_1array.html + ae548cf1dc26ade60733548a00a39b175 + (bool recursive=true) &noexcept + + + array && + prune + classtoml_1_1array.html + a6fc918a151ada40c713d6855af3021c2 + (bool recursive=true) &&noexcept + + + void + pop_back + classtoml_1_1array.html + af99d72e29cef84f736d91d627b47a1dc + () noexcept + + + void + clear + classtoml_1_1array.html + adaa65bf63f29f898c27423306c165d68 + () noexcept + + + iterator + insert + classtoml_1_1array.html + a17c7e34b433ea8907186dbb1788c9d37 + (const_iterator pos, ElemType &&val, value_flags flags=preserve_source_value_flags) + + + iterator + insert + classtoml_1_1array.html + a55a9e6e742e556ea07573d29c23ce7df + (const_iterator pos, size_t count, ElemType &&val, value_flags flags=preserve_source_value_flags) + + + iterator + insert + classtoml_1_1array.html + a60a0d39bfd8721cef23e155f5504d54d + (const_iterator pos, Iter first, Iter last, value_flags flags=preserve_source_value_flags) + + + iterator + insert + classtoml_1_1array.html + a1baecd5d579afb508886572674b89781 + (const_iterator pos, std::initializer_list< ElemType > ilist, value_flags flags=preserve_source_value_flags) + + + iterator + emplace + classtoml_1_1array.html + a4110b96386b33097a255f3694ac01d4a + (const_iterator pos, Args &&... args) + + + iterator + replace + classtoml_1_1array.html + a37a8a283e6c1cbeef757b2e59489ee6c + (const_iterator pos, ElemType &&val, value_flags flags=preserve_source_value_flags) + + + void + push_back + classtoml_1_1array.html + ab7188537b351ef3a756b54b83e4b05b3 + (ElemType &&val, value_flags flags=preserve_source_value_flags) + + + decltype(auto) + emplace_back + classtoml_1_1array.html + ad1383e120e7f8d8fe54e07dab164bd6d + (Args &&... args) + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + aef68f74119416a0a6d0a62f0f7d8d4ea + (const toml::path &path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + afbd39cca3959da4a1d8e1d220b6abe83 + (const toml::path &path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + node_view< node > + operator[] + classtoml_1_1node.html + a8c3214e47f056a3a9bcdb66edd7fa97f + (const toml::path &path) noexcept + + + node_view< const node > + operator[] + classtoml_1_1node.html + a2276f2cac96c095b4e4645ca5bebe0f9 + (const toml::path &path) const noexcept + + + friend std::ostream & + operator<< + classtoml_1_1array.html + af1fae5bb4ad4da74199f0a77170c505e + (std::ostream &lhs, const array &rhs) + + + friend bool + operator== + classtoml_1_1array.html + a06cf25e3f80c98d88e041ef9823976c0 + (const array &lhs, const array &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1array.html + af06c7437a0946a9d5e093d903b59f6a4 + (const array &lhs, const array &rhs) noexcept + + + friend bool + operator== + classtoml_1_1array.html + ab87e435c5a41140e60cd2e703df96fbd + (const array &lhs, const std::initializer_list< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1array.html + a5b3c615e4ba8fd780b966f175070b554 + (const array &lhs, const std::vector< T > &rhs) noexcept + + + array_iterator + iterator + classtoml_1_1array.html + a62a18471ca7c5b06204d2e26c963f833 + + + + const_array_iterator + const_iterator + classtoml_1_1array.html + adfd38318d3390a76f073a83fd2f2aa21 + + + + iterator + begin + classtoml_1_1array.html + a8ee8179ddf1cb44fdf0b8d0700f55c2f + () noexcept + + + const_iterator + begin + classtoml_1_1array.html + a7cff1526a6d1f6157e0eab231b4757aa + () const noexcept + + + const_iterator + cbegin + classtoml_1_1array.html + a56d1cba006dccc5ad9982b58a8b2ddc1 + () const noexcept + + + iterator + end + classtoml_1_1array.html + adaf908b0cc3e8bcb1ee9ec9ec706d223 + () noexcept + + + const_iterator + end + classtoml_1_1array.html + a778b5b807ff7329f7de10237d73f29c2 + () const noexcept + + + const_iterator + cend + classtoml_1_1array.html + a50e6b032805760f3930e02923d9a84b0 + () const noexcept + + + array & + for_each + classtoml_1_1array.html + a1154a3d27b1af41ffaa498c8d6070b88 + (Func &&visitor) &noexcept(for_each_is_nothrow< Func &&, array & >) + + + array && + for_each + classtoml_1_1array.html + aa7d6dd4f662a93b97d1e750a57df7efc + (Func &&visitor) &&noexcept(for_each_is_nothrow< Func &&, array && >) + + + const array & + for_each + classtoml_1_1array.html + a335c0d9bac1ca2b03a961dbe4dabc386 + (Func &&visitor) const &noexcept(for_each_is_nothrow< Func &&, const array & >) + + + const array && + for_each + classtoml_1_1array.html + a944a1130f3dd2b7aa13c38bd600295b5 + (Func &&visitor) const &&noexcept(for_each_is_nothrow< Func &&, const array && >) + + + node_type + type + classtoml_1_1array.html + a352b6a99235216f070b5e97976663571 + () const noexcept final + + + bool + is_homogeneous + classtoml_1_1array.html + a79a1fe77c03b33ea2b9d8d0a859c93e6 + (node_type ntype) const noexcept final + + + bool + is_homogeneous + classtoml_1_1array.html + ae4e986f9fdb23090f9a0b3716a63e8bb + (node_type ntype, node *&first_nonmatch) noexcept final + + + bool + is_homogeneous + classtoml_1_1array.html + ad00610c0e18f02516de92b623dc4d0f5 + (node_type ntype, const node *&first_nonmatch) const noexcept final + + + bool + is_table + classtoml_1_1array.html + ad7ed894e54ad3aaef6d7693c26b887d9 + () const noexcept final + + + bool + is_array + classtoml_1_1array.html + a1f1e4d93f52778613d0a7bcf74a23427 + () const noexcept final + + + bool + is_array_of_tables + classtoml_1_1array.html + a87cd0dcbebcfd661a0ae387255c0605e + () const noexcept final + + + bool + is_value + classtoml_1_1array.html + acc533a7fa1ea5c68fce6f4fea5bc419c + () const noexcept final + + + bool + is_string + classtoml_1_1array.html + aeefdd01a2ce3f6bcd7aecfabd363d06b + () const noexcept final + + + bool + is_integer + classtoml_1_1array.html + a78db4190977034c4364674a2958855d4 + () const noexcept final + + + bool + is_floating_point + classtoml_1_1array.html + ab758b93eedbdc27112681f26440bee03 + () const noexcept final + + + bool + is_number + classtoml_1_1array.html + aa034144c580b3d8a4727c0cfbfebc214 + () const noexcept final + + + bool + is_boolean + classtoml_1_1array.html + abbecf0a51aa3e175bc5748ccf71063d8 + () const noexcept final + + + bool + is_date + classtoml_1_1array.html + a792dc3fd7105185415925d4f9ab3ca1d + () const noexcept final + + + bool + is_time + classtoml_1_1array.html + a2d2fc80512d08af7a934a6d02c7bf506 + () const noexcept final + + + bool + is_date_time + classtoml_1_1array.html + ae844f53a9604fb42f185a91616a72cbd + () const noexcept final + + + table * + as_table + classtoml_1_1array.html + a95985d66ecd4abf6c5822cbd0d239582 + () noexcept final + + + array * + as_array + classtoml_1_1array.html + a97b772796c962a635e8d5c50e7c03b3a + () noexcept final + + + toml::value< std::string > * + as_string + classtoml_1_1array.html + a5d4d3b502ef2e33107eb1d682b282c75 + () noexcept final + + + toml::value< int64_t > * + as_integer + classtoml_1_1array.html + a41d03d31a6ab168bc4b50046c4bbb50f + () noexcept final + + + toml::value< double > * + as_floating_point + classtoml_1_1array.html + a5e6ed524c4548fdd2131dcbb38b8c766 + () noexcept final + + + toml::value< bool > * + as_boolean + classtoml_1_1array.html + ac1989a2c4d50f8493f97c23ee22e15e6 + () noexcept final + + + toml::value< date > * + as_date + classtoml_1_1array.html + a78a9e7b1d44f90eb55403e54d6d31e2b + () noexcept final + + + toml::value< time > * + as_time + classtoml_1_1array.html + a3dedcb2261a528c59454fc9e0bb7c9fb + () noexcept final + + + toml::value< date_time > * + as_date_time + classtoml_1_1array.html + a58c350366cbbab3eb430751212ba9b18 + () noexcept final + + + const table * + as_table + classtoml_1_1array.html + ae45534b573d10c7e2e1c5624153608f9 + () const noexcept final + + + const array * + as_array + classtoml_1_1array.html + a8007db93bdeb82c8c77965ff72056f6b + () const noexcept final + + + const toml::value< std::string > * + as_string + classtoml_1_1array.html + a943378ff5912e9c732b4dee12d4bf2de + () const noexcept final + + + const toml::value< int64_t > * + as_integer + classtoml_1_1array.html + a79871c2b52557b74da8302925b5624ee + () const noexcept final + + + const toml::value< double > * + as_floating_point + classtoml_1_1array.html + a8f5736e45881203e362bcbb43ed90093 + () const noexcept final + + + const toml::value< bool > * + as_boolean + classtoml_1_1array.html + a48206827982b5cffe51662adfc3aec2b + () const noexcept final + + + const toml::value< date > * + as_date + classtoml_1_1array.html + afc3f86ca86c60deda39e69d24abcacca + () const noexcept final + + + const toml::value< time > * + as_time + classtoml_1_1array.html + a7708feaac3561b836e0789db0dfa6db4 + () const noexcept final + + + const toml::value< date_time > * + as_date_time + classtoml_1_1array.html + aa8fb689b36f44a4fa7c0ffccff20dbd9 + () const noexcept final + + + node * + get + classtoml_1_1array.html + a10664e00054ea4021fec5144b69b8792 + (size_t index) noexcept + + + const node * + get + classtoml_1_1array.html + a44db509dce6b7b77e563c822a5936abe + (size_t index) const noexcept + + + impl::wrap_node< ElemType > * + get_as + classtoml_1_1array.html + a5c2f4624498cba9e1e467b0eb2e9046e + (size_t index) noexcept + + + const impl::wrap_node< ElemType > * + get_as + classtoml_1_1array.html + ae47ca1cc4c61e94fed30aea72ca8d268 + (size_t index) const noexcept + + + node & + operator[] + classtoml_1_1array.html + a853bad0297ca4dcee57c97da2fe318e7 + (size_t index) noexcept + + + const node & + operator[] + classtoml_1_1array.html + ae9f72a1b877f2ac66327a152d55aa9c6 + (size_t index) const noexcept + + + node & + at + classtoml_1_1array.html + aeade4e0cafa3f57b4800e72baa843b1e + (size_t index) + + + const node & + at + classtoml_1_1array.html + a8a5957e22aa2d0f4f9e6feaf9bfffa55 + (size_t index) const + + + node & + front + classtoml_1_1array.html + a9c78848129a2a703c154e7cbe1a973d3 + () noexcept + + + const node & + front + classtoml_1_1array.html + a5ba3af18c63546da6f9d2ac3b5b77f64 + () const noexcept + + + node & + back + classtoml_1_1array.html + a4c58dea5e8795e4b9f8df4f1e1473204 + () noexcept + + + const node & + back + classtoml_1_1array.html + ac7652c1ab60af2ca1c7d52f0658639b4 + () const noexcept + + + bool + empty + classtoml_1_1array.html + a5d527ea6bfddad1025e90e4363c822cc + () const noexcept + + + size_t + size + classtoml_1_1array.html + af81d7b6a1257ad766a47d9276855a7c9 + () const noexcept + + + size_t + max_size + classtoml_1_1array.html + ae65a76add6d756fc7ba8f12a5aad983c + () const noexcept + + + size_t + capacity + classtoml_1_1array.html + a02b773a1ff337692e78da429030c1610 + () const noexcept + + + void + reserve + classtoml_1_1array.html + a1ba073adc52c3df5ad29cfd7e5daa1d5 + (size_t new_capacity) + + + void + shrink_to_fit + classtoml_1_1array.html + a718c2031ead428aa52912741f6d094aa + () + + + void + truncate + classtoml_1_1array.html + a6e3ac9962c706a88c1001ff83a4084f3 + (size_t new_size) + + + void + resize + classtoml_1_1array.html + ab1aca2337ffce7e583a2cf303f16259f + (size_t new_size, ElemType &&default_init_val, value_flags default_init_flags=preserve_source_value_flags) + + + iterator + erase + classtoml_1_1array.html + a22389a9ed9444fe52be10c4acbdec908 + (const_iterator pos) noexcept + + + iterator + erase + classtoml_1_1array.html + a723388860d72c9a162137d0293366fb2 + (const_iterator first, const_iterator last) noexcept + + + array & + flatten + classtoml_1_1array.html + aa2a21958705629bde15aafae9598a2ec + () & + + + array && + flatten + classtoml_1_1array.html + ad307bea17e7640c57715d67ab8a777d4 + () && + + + array & + prune + classtoml_1_1array.html + ae548cf1dc26ade60733548a00a39b175 + (bool recursive=true) &noexcept + + + array && + prune + classtoml_1_1array.html + a6fc918a151ada40c713d6855af3021c2 + (bool recursive=true) &&noexcept + + + void + pop_back + classtoml_1_1array.html + af99d72e29cef84f736d91d627b47a1dc + () noexcept + + + void + clear + classtoml_1_1array.html + adaa65bf63f29f898c27423306c165d68 + () noexcept + + + iterator + insert + classtoml_1_1array.html + a17c7e34b433ea8907186dbb1788c9d37 + (const_iterator pos, ElemType &&val, value_flags flags=preserve_source_value_flags) + + + iterator + insert + classtoml_1_1array.html + a55a9e6e742e556ea07573d29c23ce7df + (const_iterator pos, size_t count, ElemType &&val, value_flags flags=preserve_source_value_flags) + + + iterator + insert + classtoml_1_1array.html + a60a0d39bfd8721cef23e155f5504d54d + (const_iterator pos, Iter first, Iter last, value_flags flags=preserve_source_value_flags) + + + iterator + insert + classtoml_1_1array.html + a1baecd5d579afb508886572674b89781 + (const_iterator pos, std::initializer_list< ElemType > ilist, value_flags flags=preserve_source_value_flags) + + + iterator + emplace + classtoml_1_1array.html + a4110b96386b33097a255f3694ac01d4a + (const_iterator pos, Args &&... args) + + + iterator + replace + classtoml_1_1array.html + a37a8a283e6c1cbeef757b2e59489ee6c + (const_iterator pos, ElemType &&val, value_flags flags=preserve_source_value_flags) + + + void + push_back + classtoml_1_1array.html + ab7188537b351ef3a756b54b83e4b05b3 + (ElemType &&val, value_flags flags=preserve_source_value_flags) + + + decltype(auto) + emplace_back + classtoml_1_1array.html + ad1383e120e7f8d8fe54e07dab164bd6d + (Args &&... args) + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + aef68f74119416a0a6d0a62f0f7d8d4ea + (const toml::path &path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + afbd39cca3959da4a1d8e1d220b6abe83 + (const toml::path &path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + node_view< node > + operator[] + classtoml_1_1node.html + a8c3214e47f056a3a9bcdb66edd7fa97f + (const toml::path &path) noexcept + + + node_view< const node > + operator[] + classtoml_1_1node.html + a2276f2cac96c095b4e4645ca5bebe0f9 + (const toml::path &path) const noexcept + + + friend bool + operator== + classtoml_1_1array.html + a06cf25e3f80c98d88e041ef9823976c0 + (const array &lhs, const array &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1array.html + af06c7437a0946a9d5e093d903b59f6a4 + (const array &lhs, const array &rhs) noexcept + + + friend bool + operator== + classtoml_1_1array.html + ab87e435c5a41140e60cd2e703df96fbd + (const array &lhs, const std::initializer_list< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1array.html + a5b3c615e4ba8fd780b966f175070b554 + (const array &lhs, const std::vector< T > &rhs) noexcept + + + + toml::date + structtoml_1_1date.html + + + date + structtoml_1_1date.html + a5cbb79ab52538ec7a74022cf4fcfb129 + () noexcept=default + + + constexpr + date + structtoml_1_1date.html + a6025b77738bf7ed2db704cc85297e74d + (Y y, M m, D d) noexcept + + + uint16_t + year + structtoml_1_1date.html + ad1dc522b115c69dc908540b1c6ff792b + + + + uint8_t + month + structtoml_1_1date.html + a0528c722d0a81741a95f6e3a1116614e + + + + uint8_t + day + structtoml_1_1date.html + a8ec7a7238b8edd3341b450a7b43ec011 + + + + constexpr friend bool + operator== + structtoml_1_1date.html + af76134298f28a36f104515fa6ba018b0 + (const date &lhs, const date &rhs) noexcept + + + constexpr friend bool + operator!= + structtoml_1_1date.html + a5e1b63040c6d403b8e0a717c77d9509d + (const date &lhs, const date &rhs) noexcept + + + constexpr friend bool + operator< + structtoml_1_1date.html + a800189899a4daf5b8cdf1c5b252b772d + (const date &lhs, const date &rhs) noexcept + + + constexpr friend bool + operator<= + structtoml_1_1date.html + a0add90c8bea1fdc5ff50cbbeb5e169fc + (const date &lhs, const date &rhs) noexcept + + + constexpr friend bool + operator> + structtoml_1_1date.html + a1861ff6d5850f8148ce002c75b2ab952 + (const date &lhs, const date &rhs) noexcept + + + constexpr friend bool + operator>= + structtoml_1_1date.html + a8f74ab67a378a52e28478d5f768e4152 + (const date &lhs, const date &rhs) noexcept + + + friend std::ostream & + operator<< + structtoml_1_1date.html + aa24fddba6149a26f1dbeefe036126316 + (std::ostream &lhs, const date &rhs) + + + + toml::date_time + structtoml_1_1date__time.html + + + date_time + structtoml_1_1date__time.html + a2c9ee1c5c94a6623e9cac5db65289d1f + () noexcept=default + + + constexpr + date_time + structtoml_1_1date__time.html + a8b084d38079cf71db0d0ac8465928dc2 + (const toml::date &d, const toml::time &t) noexcept + + + constexpr + date_time + structtoml_1_1date__time.html + a5394c8e6690f59e627f92b614b06be58 + (const toml::date &d) noexcept + + + constexpr + date_time + structtoml_1_1date__time.html + a73df51041eee08b984d38462ba3fdda4 + (const toml::time &t) noexcept + + + constexpr + date_time + structtoml_1_1date__time.html + aacba153f96e9637d536add5159bad99a + (const toml::date &d, const toml::time &t, const toml::time_offset &off) noexcept + + + constexpr bool + is_local + structtoml_1_1date__time.html + af0d6119984645eb015f2fad0ef487bbc + () const noexcept + + + toml::date + date + structtoml_1_1date__time.html + a89f398585f373d1e7bd59fe440212074 + + + + toml::time + time + structtoml_1_1date__time.html + a18d5e772db4f61635643cda390c2b720 + + + + optional< toml::time_offset > + offset + structtoml_1_1date__time.html + af8596013f522b94a88d2caf69e90a1f5 + + + + constexpr friend bool + operator== + structtoml_1_1date__time.html + a885cbe902aeadacb0953230ade9d8b9a + (const date_time &lhs, const date_time &rhs) noexcept + + + constexpr friend bool + operator!= + structtoml_1_1date__time.html + a9ae0e032ffe90928c47b40bd8155dea3 + (const date_time &lhs, const date_time &rhs) noexcept + + + constexpr friend bool + operator< + structtoml_1_1date__time.html + a4f67803fdc02fb5549ba213a9273a63b + (const date_time &lhs, const date_time &rhs) noexcept + + + constexpr friend bool + operator<= + structtoml_1_1date__time.html + a7b2f0261ae38ef6dbb6de0fb35fbbf3b + (const date_time &lhs, const date_time &rhs) noexcept + + + constexpr friend bool + operator> + structtoml_1_1date__time.html + a1bceb05028f33a829d61ffc768eab78a + (const date_time &lhs, const date_time &rhs) noexcept + + + constexpr friend bool + operator>= + structtoml_1_1date__time.html + a361fb1904f477e0a1f7acaa3cdd14abf + (const date_time &lhs, const date_time &rhs) noexcept + + + friend std::ostream & + operator<< + structtoml_1_1date__time.html + a5a090cb9dfa0d6a3e74603ba702bbddc + (std::ostream &lhs, const date_time &rhs) + + + + toml::inserter + structtoml_1_1inserter.html + + + + toml::json_formatter + classtoml_1_1json__formatter.html + + + json_formatter + classtoml_1_1json__formatter.html + ade267ecca82e3bbac3d1392abab91be9 + (const toml::node &source, format_flags flags=default_flags) noexcept + + + + json_formatter + classtoml_1_1json__formatter.html + a51785aa8ef373a9136e896fafabd53be + (const toml::parse_result &result, format_flags flags=default_flags) noexcept + + + static constexpr format_flags + default_flags + classtoml_1_1json__formatter.html + a4541a4662894ce8936f6f2c3ab90fe2e + + + + friend std::ostream & + operator<< + classtoml_1_1json__formatter.html + a2b88bc230c589c1fad25ffd8df96b74e + (std::ostream &lhs, json_formatter &rhs) + + + friend std::ostream & + operator<< + classtoml_1_1json__formatter.html + a5eefe4e5ca640b12fbb09fd521eab335 + (std::ostream &lhs, json_formatter &&rhs) + + + + toml::key + classtoml_1_1key.html + + + key + classtoml_1_1key.html + ac978efd3b48ec0a5c14f08618e4dbe23 + () noexcept=default + + + + key + classtoml_1_1key.html + a5119f122c15687a2f0f81b270a627de2 + (std::string_view k, source_region &&src={}) + + + + key + classtoml_1_1key.html + a0718eb26f4d9c1a4c0fb928efb0d6f81 + (std::string_view k, const source_region &src) + + + + key + classtoml_1_1key.html + a788b1bbeaf636dccc4a78f832bf123e0 + (std::string &&k, source_region &&src={}) noexcept + + + + key + classtoml_1_1key.html + ab86ff590f222d57b8f4630901298d8da + (std::string &&k, const source_region &src) noexcept + + + + key + classtoml_1_1key.html + a981f5ee2fbd822d47d0b347c5df55f11 + (const char *k, source_region &&src={}) + + + + key + classtoml_1_1key.html + ad5f26b37172e34a8c70e848ad7911710 + (const char *k, const source_region &src) + + + + key + classtoml_1_1key.html + a67cfed717c84773ab3fe6ec1b7936fa7 + (std::wstring_view k, source_region &&src={}) + + + + key + classtoml_1_1key.html + aba2cb69db8cae7cbc60899a0ee7618d3 + (std::wstring_view k, const source_region &src) + + + std::string_view + str + classtoml_1_1key.html + a0ca779e816081627f78965683182d4dc + () const noexcept + + + + operator std::string_view + classtoml_1_1key.html + a0f580806c0894ea820c533a9f6e0fa91 + () const noexcept + + + bool + empty + classtoml_1_1key.html + a2baa48f26dac4a10a8328706f9386417 + () const noexcept + + + const char * + data + classtoml_1_1key.html + a49f230dc58174f399f49100115ee088f + () const noexcept + + + size_t + length + classtoml_1_1key.html + a5ffa3226fa66f1be190178572a87a000 + () const noexcept + + + const source_region & + source + classtoml_1_1key.html + a82a81d4a4e4d502b661ee2ba10810bea + () const noexcept + + + friend std::ostream & + operator<< + classtoml_1_1key.html + a78eb7afc69ecd78f4f6ded062f2f7ea7 + (std::ostream &lhs, const key &rhs) + + + friend bool + operator== + classtoml_1_1key.html + aa1d636ad061ad2c8e33c629e112bba5e + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1key.html + a1255e940048a362bda11ee240b3f1ffe + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator< + classtoml_1_1key.html + a7a6f49b1bdf3e234f7598481a4afd5db + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1key.html + ae300be177925b12b73568e194c1444ae + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator> + classtoml_1_1key.html + ae51dcf0f86bed0f6f5ce24d326c0badc + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1key.html + a3c20053f6eae90f946535a95225f522a + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator== + classtoml_1_1key.html + a545b27567960385af1c8ae669029d7dd + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator!= + classtoml_1_1key.html + a24ea2ab9799ab7fec679f2dae3afccf2 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator< + classtoml_1_1key.html + a5578fc46610d6f6e684fbffdf3f61a44 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator<= + classtoml_1_1key.html + a9c59103b835fb600dbb6c808f8c4f8a8 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator> + classtoml_1_1key.html + ad48d1d36a11a9434bc339987838b08f6 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator>= + classtoml_1_1key.html + a61e19637671ad5c5856eafd5753e9b65 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator== + classtoml_1_1key.html + aed4a71da8d0ffb75d847ab2c26948a1c + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1key.html + a165b2057b0144350b1c291ffb0956122 + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator< + classtoml_1_1key.html + a1bacd712822950e9594fd288a236c9cb + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1key.html + a780d9a226184919f080acf0b0a676400 + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator> + classtoml_1_1key.html + aa85755cf51a2ee6d616aa03a8de8b4b0 + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1key.html + aa89096b9f6b364702858f2dc6734987a + (std::string_view lhs, const key &rhs) noexcept + + + const char * + const_iterator + classtoml_1_1key.html + a38a33d5010936195ac2083e428165512 + + + + const_iterator + iterator + classtoml_1_1key.html + a40c42bc323383db54972b5752b9ad4dd + + + + const_iterator + begin + classtoml_1_1key.html + ab1691956be4ffe1c604e8e66acdc237e + () const noexcept + + + const_iterator + end + classtoml_1_1key.html + a9b37a10b4aff1e6e7902301789f579c8 + () const noexcept + + + std::string_view + str + classtoml_1_1key.html + a0ca779e816081627f78965683182d4dc + () const noexcept + + + + operator std::string_view + classtoml_1_1key.html + a0f580806c0894ea820c533a9f6e0fa91 + () const noexcept + + + bool + empty + classtoml_1_1key.html + a2baa48f26dac4a10a8328706f9386417 + () const noexcept + + + const char * + data + classtoml_1_1key.html + a49f230dc58174f399f49100115ee088f + () const noexcept + + + size_t + length + classtoml_1_1key.html + a5ffa3226fa66f1be190178572a87a000 + () const noexcept + + + const source_region & + source + classtoml_1_1key.html + a82a81d4a4e4d502b661ee2ba10810bea + () const noexcept + + + friend bool + operator== + classtoml_1_1key.html + aa1d636ad061ad2c8e33c629e112bba5e + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1key.html + a1255e940048a362bda11ee240b3f1ffe + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator< + classtoml_1_1key.html + a7a6f49b1bdf3e234f7598481a4afd5db + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1key.html + ae300be177925b12b73568e194c1444ae + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator> + classtoml_1_1key.html + ae51dcf0f86bed0f6f5ce24d326c0badc + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1key.html + a3c20053f6eae90f946535a95225f522a + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator== + classtoml_1_1key.html + a545b27567960385af1c8ae669029d7dd + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator!= + classtoml_1_1key.html + a24ea2ab9799ab7fec679f2dae3afccf2 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator< + classtoml_1_1key.html + a5578fc46610d6f6e684fbffdf3f61a44 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator<= + classtoml_1_1key.html + a9c59103b835fb600dbb6c808f8c4f8a8 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator> + classtoml_1_1key.html + ad48d1d36a11a9434bc339987838b08f6 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator>= + classtoml_1_1key.html + a61e19637671ad5c5856eafd5753e9b65 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator== + classtoml_1_1key.html + aed4a71da8d0ffb75d847ab2c26948a1c + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1key.html + a165b2057b0144350b1c291ffb0956122 + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator< + classtoml_1_1key.html + a1bacd712822950e9594fd288a236c9cb + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1key.html + a780d9a226184919f080acf0b0a676400 + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator> + classtoml_1_1key.html + aa85755cf51a2ee6d616aa03a8de8b4b0 + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1key.html + aa89096b9f6b364702858f2dc6734987a + (std::string_view lhs, const key &rhs) noexcept + + + + toml::node + classtoml_1_1node.html + + virtual bool + is_homogeneous + classtoml_1_1node.html + a68de6772e259ef122c00b0a9c7b63516 + (node_type ntype, node *&first_nonmatch) noexcept=0 + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a834e10ece19d04b4d774d5f224d50b8f + (node_type ntype, const node *&first_nonmatch) const noexcept=0 + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a5d9191dc545ecded3bc8f7706c63edad + (node_type ntype) const noexcept=0 + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + virtual node_type + type + classtoml_1_1node.html + a10f389035ce13abb00a1191358af6334 + () const noexcept=0 + + + virtual bool + is_table + classtoml_1_1node.html + a50a2501af7e42b0fab060206dde7a99e + () const noexcept=0 + + + virtual bool + is_array + classtoml_1_1node.html + accce7655b0cc340591a755412fde2ed7 + () const noexcept=0 + + + virtual bool + is_array_of_tables + classtoml_1_1node.html + aa09263a05ef361ad233e710308fce690 + () const noexcept=0 + + + virtual bool + is_value + classtoml_1_1node.html + aeddf9eebbd4ece799e5675e2d9d59e4a + () const noexcept=0 + + + virtual bool + is_string + classtoml_1_1node.html + aa95180487162e844129031842d8a9580 + () const noexcept=0 + + + virtual bool + is_integer + classtoml_1_1node.html + ac5390ac64f018947edc75802a53505a5 + () const noexcept=0 + + + virtual bool + is_floating_point + classtoml_1_1node.html + ad8cdb68a69bdc13cda7d4f7663e57847 + () const noexcept=0 + + + virtual bool + is_number + classtoml_1_1node.html + afcc263be60c33b3f92646b5cfa07393e + () const noexcept=0 + + + virtual bool + is_boolean + classtoml_1_1node.html + a422f765df7ee04fa13254adcda29ae8d + () const noexcept=0 + + + virtual bool + is_date + classtoml_1_1node.html + a1c86fb0bd8e241c4768108988a59332a + () const noexcept=0 + + + virtual bool + is_time + classtoml_1_1node.html + a9266c340ccc94b3349704e91bf12d42d + () const noexcept=0 + + + virtual bool + is_date_time + classtoml_1_1node.html + a900f7589762e01c91fb5b07a2c8e9202 + () const noexcept=0 + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + virtual table * + as_table + classtoml_1_1node.html + ac0ca09368b80436100a1eb042daccacc + () noexcept=0 + + + virtual array * + as_array + classtoml_1_1node.html + a43bc08c435e4fbf5ebbcf34f902a6377 + () noexcept=0 + + + virtual toml::value< std::string > * + as_string + classtoml_1_1node.html + a8560597586915efad21f288f591c23cd + () noexcept=0 + + + virtual toml::value< int64_t > * + as_integer + classtoml_1_1node.html + a9e1419c3f99eda7767d114095b1ad793 + () noexcept=0 + + + virtual toml::value< double > * + as_floating_point + classtoml_1_1node.html + a61d3f2c50952a1c989f82b54c5c2eeda + () noexcept=0 + + + virtual toml::value< bool > * + as_boolean + classtoml_1_1node.html + aea93e54eb94c6cb48d240766983fa493 + () noexcept=0 + + + virtual toml::value< date > * + as_date + classtoml_1_1node.html + adcf92e730609341bb1e3c0ae1d12c36f + () noexcept=0 + + + virtual toml::value< time > * + as_time + classtoml_1_1node.html + a2d88fef8e892aae05c3e9886fdef7dce + () noexcept=0 + + + virtual toml::value< date_time > * + as_date_time + classtoml_1_1node.html + ae1312e66ac95fc1cf6ae12f48e000b2a + () noexcept=0 + + + virtual const table * + as_table + classtoml_1_1node.html + aa167e4d8d6e6db784affe8490e178c8b + () const noexcept=0 + + + virtual const array * + as_array + classtoml_1_1node.html + a7ed34b94f3999b03db45fd5e0830637d + () const noexcept=0 + + + virtual const toml::value< std::string > * + as_string + classtoml_1_1node.html + a47c55af38414fdb32075c378b3405bfa + () const noexcept=0 + + + virtual const toml::value< int64_t > * + as_integer + classtoml_1_1node.html + a43bea93af60b57ecc98efaf50dccfe9b + () const noexcept=0 + + + virtual const toml::value< double > * + as_floating_point + classtoml_1_1node.html + a4ceaa3a398fa76c134c902ec1c4778aa + () const noexcept=0 + + + virtual const toml::value< bool > * + as_boolean + classtoml_1_1node.html + a45dd3436280deeb307127278f816e8e9 + () const noexcept=0 + + + virtual const toml::value< date > * + as_date + classtoml_1_1node.html + ac15b9b4e6aa05ca616bac37610af27fc + () const noexcept=0 + + + virtual const toml::value< time > * + as_time + classtoml_1_1node.html + a7ebf75d2978ae1ea32daff4c063217e7 + () const noexcept=0 + + + virtual const toml::value< date_time > * + as_date_time + classtoml_1_1node.html + a7d7b9d4defe5ffc3f1398715f5e325b3 + () const noexcept=0 + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + aef68f74119416a0a6d0a62f0f7d8d4ea + (const toml::path &path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + afbd39cca3959da4a1d8e1d220b6abe83 + (const toml::path &path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + node_view< node > + operator[] + classtoml_1_1node.html + a8c3214e47f056a3a9bcdb66edd7fa97f + (const toml::path &path) noexcept + + + node_view< const node > + operator[] + classtoml_1_1node.html + a2276f2cac96c095b4e4645ca5bebe0f9 + (const toml::path &path) const noexcept + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a68de6772e259ef122c00b0a9c7b63516 + (node_type ntype, node *&first_nonmatch) noexcept=0 + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a834e10ece19d04b4d774d5f224d50b8f + (node_type ntype, const node *&first_nonmatch) const noexcept=0 + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a5d9191dc545ecded3bc8f7706c63edad + (node_type ntype) const noexcept=0 + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + virtual node_type + type + classtoml_1_1node.html + a10f389035ce13abb00a1191358af6334 + () const noexcept=0 + + + virtual bool + is_table + classtoml_1_1node.html + a50a2501af7e42b0fab060206dde7a99e + () const noexcept=0 + + + virtual bool + is_array + classtoml_1_1node.html + accce7655b0cc340591a755412fde2ed7 + () const noexcept=0 + + + virtual bool + is_array_of_tables + classtoml_1_1node.html + aa09263a05ef361ad233e710308fce690 + () const noexcept=0 + + + virtual bool + is_value + classtoml_1_1node.html + aeddf9eebbd4ece799e5675e2d9d59e4a + () const noexcept=0 + + + virtual bool + is_string + classtoml_1_1node.html + aa95180487162e844129031842d8a9580 + () const noexcept=0 + + + virtual bool + is_integer + classtoml_1_1node.html + ac5390ac64f018947edc75802a53505a5 + () const noexcept=0 + + + virtual bool + is_floating_point + classtoml_1_1node.html + ad8cdb68a69bdc13cda7d4f7663e57847 + () const noexcept=0 + + + virtual bool + is_number + classtoml_1_1node.html + afcc263be60c33b3f92646b5cfa07393e + () const noexcept=0 + + + virtual bool + is_boolean + classtoml_1_1node.html + a422f765df7ee04fa13254adcda29ae8d + () const noexcept=0 + + + virtual bool + is_date + classtoml_1_1node.html + a1c86fb0bd8e241c4768108988a59332a + () const noexcept=0 + + + virtual bool + is_time + classtoml_1_1node.html + a9266c340ccc94b3349704e91bf12d42d + () const noexcept=0 + + + virtual bool + is_date_time + classtoml_1_1node.html + a900f7589762e01c91fb5b07a2c8e9202 + () const noexcept=0 + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + virtual table * + as_table + classtoml_1_1node.html + ac0ca09368b80436100a1eb042daccacc + () noexcept=0 + + + virtual array * + as_array + classtoml_1_1node.html + a43bc08c435e4fbf5ebbcf34f902a6377 + () noexcept=0 + + + virtual toml::value< std::string > * + as_string + classtoml_1_1node.html + a8560597586915efad21f288f591c23cd + () noexcept=0 + + + virtual toml::value< int64_t > * + as_integer + classtoml_1_1node.html + a9e1419c3f99eda7767d114095b1ad793 + () noexcept=0 + + + virtual toml::value< double > * + as_floating_point + classtoml_1_1node.html + a61d3f2c50952a1c989f82b54c5c2eeda + () noexcept=0 + + + virtual toml::value< bool > * + as_boolean + classtoml_1_1node.html + aea93e54eb94c6cb48d240766983fa493 + () noexcept=0 + + + virtual toml::value< date > * + as_date + classtoml_1_1node.html + adcf92e730609341bb1e3c0ae1d12c36f + () noexcept=0 + + + virtual toml::value< time > * + as_time + classtoml_1_1node.html + a2d88fef8e892aae05c3e9886fdef7dce + () noexcept=0 + + + virtual toml::value< date_time > * + as_date_time + classtoml_1_1node.html + ae1312e66ac95fc1cf6ae12f48e000b2a + () noexcept=0 + + + virtual const table * + as_table + classtoml_1_1node.html + aa167e4d8d6e6db784affe8490e178c8b + () const noexcept=0 + + + virtual const array * + as_array + classtoml_1_1node.html + a7ed34b94f3999b03db45fd5e0830637d + () const noexcept=0 + + + virtual const toml::value< std::string > * + as_string + classtoml_1_1node.html + a47c55af38414fdb32075c378b3405bfa + () const noexcept=0 + + + virtual const toml::value< int64_t > * + as_integer + classtoml_1_1node.html + a43bea93af60b57ecc98efaf50dccfe9b + () const noexcept=0 + + + virtual const toml::value< double > * + as_floating_point + classtoml_1_1node.html + a4ceaa3a398fa76c134c902ec1c4778aa + () const noexcept=0 + + + virtual const toml::value< bool > * + as_boolean + classtoml_1_1node.html + a45dd3436280deeb307127278f816e8e9 + () const noexcept=0 + + + virtual const toml::value< date > * + as_date + classtoml_1_1node.html + ac15b9b4e6aa05ca616bac37610af27fc + () const noexcept=0 + + + virtual const toml::value< time > * + as_time + classtoml_1_1node.html + a7ebf75d2978ae1ea32daff4c063217e7 + () const noexcept=0 + + + virtual const toml::value< date_time > * + as_date_time + classtoml_1_1node.html + a7d7b9d4defe5ffc3f1398715f5e325b3 + () const noexcept=0 + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + aef68f74119416a0a6d0a62f0f7d8d4ea + (const toml::path &path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + afbd39cca3959da4a1d8e1d220b6abe83 + (const toml::path &path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + node_view< node > + operator[] + classtoml_1_1node.html + a8c3214e47f056a3a9bcdb66edd7fa97f + (const toml::path &path) noexcept + + + node_view< const node > + operator[] + classtoml_1_1node.html + a2276f2cac96c095b4e4645ca5bebe0f9 + (const toml::path &path) const noexcept + + + + toml::node_view + classtoml_1_1node__view.html + + + ViewedType + viewed_type + classtoml_1_1node__view.html + a1550f4e57532fd03b6c3e9d87805c03a + + + + + node_view + classtoml_1_1node__view.html + a0d8bf511db11b67081bea35c25e4ca9e + () noexcept=default + + + + node_view + classtoml_1_1node__view.html + a199ca0c01e27a74b2ad6dbe554113fb8 + (viewed_type *node) noexcept + + + + node_view + classtoml_1_1node__view.html + af40ced8902e81e354af44a033f05d682 + (viewed_type &node) noexcept + + + + node_view + classtoml_1_1node__view.html + a6f2a4c199237385a61741ab30a64b500 + (const node_view &) noexcept=default + + + + node_view + classtoml_1_1node__view.html + a79091432e79c07c4bb8700f44adfb8d6 + (node_view &&) noexcept=default + + + node_view & + operator= + classtoml_1_1node__view.html + afa455c0337a6fe4d1ca533e10750ba9e + (const node_view &) &noexcept=default + + + node_view & + operator= + classtoml_1_1node__view.html + a3dd8195e3971ebb2110b812783cff136 + (node_view &&) &noexcept=default + + + + operator bool + classtoml_1_1node__view.html + ab8ee0ffcb999601a9b0247c099aa9250 + () const noexcept + + + viewed_type * + node + classtoml_1_1node__view.html + afb42ba6fdddfb407bd37b697a407246d + () const noexcept + + + node_type + type + classtoml_1_1node__view.html + a2483cf1a8314661919b9066ce62c9621 + () const noexcept + + + bool + is_table + classtoml_1_1node__view.html + a70b567ea582c472fe95a89b5b842cee6 + () const noexcept + + + bool + is_array + classtoml_1_1node__view.html + a879d945d2880fc216085d7deb087ad38 + () const noexcept + + + bool + is_value + classtoml_1_1node__view.html + aa58f8de47be5f53738b1a04d7e9d05af + () const noexcept + + + bool + is_string + classtoml_1_1node__view.html + a79b47268155d955b8e2c027b0c2ae983 + () const noexcept + + + bool + is_integer + classtoml_1_1node__view.html + ab9c835ddf017f250d84fa5d5736e8520 + () const noexcept + + + bool + is_floating_point + classtoml_1_1node__view.html + a43ea3eed7b0f133fa7d752a9322c758e + () const noexcept + + + bool + is_number + classtoml_1_1node__view.html + a107732370c62402b1101a78e7382fd8b + () const noexcept + + + bool + is_boolean + classtoml_1_1node__view.html + aa7ee0d1f396e1283c4a11d07b9400897 + () const noexcept + + + bool + is_date + classtoml_1_1node__view.html + a4dc7cf8a57db73fa799a939f7acd549d + () const noexcept + + + bool + is_time + classtoml_1_1node__view.html + a98a6bc33e3ba573c37a069126acf0b8c + () const noexcept + + + bool + is_date_time + classtoml_1_1node__view.html + a5a380f773ae291c942a03e45a88c94b0 + () const noexcept + + + bool + is_array_of_tables + classtoml_1_1node__view.html + a6cc459be36698ec5a9ac0d00b4480eae + () const noexcept + + + bool + is + classtoml_1_1node__view.html + a21d7c55a33aa1c868dde5cbaa7e54ec2 + () const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + a2a2902064421f401e80ea687cef536da + (node_type ntype, viewed_type *&first_nonmatch) const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + afe0abd51e0e108b306be2a3ee9561cca + (node_type ntype) const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + a29c82d83b1d64f016eb42f95fd37e346 + () const noexcept + + + auto * + as + classtoml_1_1node__view.html + a5cd619f292f91fc9d417c61905ea8204 + () const noexcept + + + auto * + as_table + classtoml_1_1node__view.html + a5b73b7eeaa97666ebee3d604171a5576 + () const noexcept + + + auto * + as_array + classtoml_1_1node__view.html + a8593d229d139b05dc81d5d2d97ce3a1f + () const noexcept + + + auto * + as_string + classtoml_1_1node__view.html + a33c4dd8fb9498f6de6fb06714b508d17 + () const noexcept + + + auto * + as_integer + classtoml_1_1node__view.html + ad21750582ec6303e0b257b132ec4409d + () const noexcept + + + auto * + as_floating_point + classtoml_1_1node__view.html + a926821efb73ad7292e3f14841c54871b + () const noexcept + + + auto * + as_boolean + classtoml_1_1node__view.html + a9fec898a7fa88ddbb396fe3b2a81c945 + () const noexcept + + + auto * + as_date + classtoml_1_1node__view.html + a94a7cf14d6ca777de56abd5cdbe8eece + () const noexcept + + + auto * + as_time + classtoml_1_1node__view.html + a94087a35223d51ca76f22a361031bd7e + () const noexcept + + + auto * + as_date_time + classtoml_1_1node__view.html + a5bcb3ac0edcc516efda53fd022057282 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node__view.html + a2d558e7799bc4e24adda096446eb384d + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node__view.html + abb51a912462a258379b968c4074f8324 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node__view.html + a314e5d666dcda3493ff9aa2c0816f53c + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node__view.html + aec5c764293a7eeb20009a484b34d7c3a + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node__view.html + aa5f84bfab779c71a07b04ca0b2db863f + (Func &&visitor) const noexcept(visit_is_nothrow< Func && >) + + + node_view + operator[] + classtoml_1_1node__view.html + a2dde12894f70530d80de45a03eae78fa + (std::string_view key) const noexcept + + + node_view + operator[] + classtoml_1_1node__view.html + a44b94290029477305f0b6720d72bf965 + (const toml::path &path) const noexcept + + + node_view + at_path + classtoml_1_1node__view.html + a59c5432fb77b50ef22098e17d4f956d5 + (std::string_view path) const noexcept + + + node_view + at_path + classtoml_1_1node__view.html + ab265c6f0304647bcd8074ad081f2bf17 + (const toml::path &path) const noexcept + + + node_view + operator[] + classtoml_1_1node__view.html + a35021e65758dc0be505916532b69a7d8 + (std::wstring_view key) const + + + node_view + at_path + classtoml_1_1node__view.html + a157c1eafb7bdf8f33398106017d1b20c + (std::wstring_view path) const + + + node_view + operator[] + classtoml_1_1node__view.html + a5d13b026efcd31812415ead30eeb69db + (size_t index) const noexcept + + + friend std::ostream & + operator<< + classtoml_1_1node__view.html + a170109f0b77888f54b2fcdb8fee0ab90 + (std::ostream &os, const node_view &nv) + + + friend bool + operator== + classtoml_1_1node__view.html + a191820d030035d564fe09f5eb251b927 + (const node_view &lhs, const node_view< T > &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1node__view.html + a3dc82b95849d7e6bd89b5496fe96beaa + (const node_view &lhs, const node_view< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a754bdba78869afe6bccb4b51e0a77e45 + (const node_view &lhs, const table &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a3b39aedbada6221a4e3857b0f0235843 + (const node_view &lhs, const array &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + ad9fd96826fcee43cd1ea1ccf6e22c895 + (const node_view &lhs, const toml::value< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a4dba3ed7356704669e4175fa7c8f5c34 + (const node_view &lhs, const T &rhs) noexcept(!impl::is_wide_string< T >) + + + friend bool + operator== + classtoml_1_1node__view.html + abe826c97f2b451ee287ecf37f46517fb + (const node_view &lhs, const std::initializer_list< T > &rhs) noexcept(!impl::is_wide_string< T >) + + + friend bool + operator== + classtoml_1_1node__view.html + ad4b4144f8033c78e5410f701e5ae7e30 + (const node_view &lhs, const std::vector< T > &rhs) noexcept(!impl::is_wide_string< T >) + + + friend bool + operator== + classtoml_1_1node__view.html + a191820d030035d564fe09f5eb251b927 + (const node_view &lhs, const node_view< T > &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1node__view.html + a3dc82b95849d7e6bd89b5496fe96beaa + (const node_view &lhs, const node_view< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a754bdba78869afe6bccb4b51e0a77e45 + (const node_view &lhs, const table &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a3b39aedbada6221a4e3857b0f0235843 + (const node_view &lhs, const array &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + ad9fd96826fcee43cd1ea1ccf6e22c895 + (const node_view &lhs, const toml::value< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a4dba3ed7356704669e4175fa7c8f5c34 + (const node_view &lhs, const T &rhs) noexcept(!impl::is_wide_string< T >) + + + friend bool + operator== + classtoml_1_1node__view.html + abe826c97f2b451ee287ecf37f46517fb + (const node_view &lhs, const std::initializer_list< T > &rhs) noexcept(!impl::is_wide_string< T >) + + + friend bool + operator== + classtoml_1_1node__view.html + ad4b4144f8033c78e5410f701e5ae7e30 + (const node_view &lhs, const std::vector< T > &rhs) noexcept(!impl::is_wide_string< T >) + + + node_type + type + classtoml_1_1node__view.html + a2483cf1a8314661919b9066ce62c9621 + () const noexcept + + + bool + is_table + classtoml_1_1node__view.html + a70b567ea582c472fe95a89b5b842cee6 + () const noexcept + + + bool + is_array + classtoml_1_1node__view.html + a879d945d2880fc216085d7deb087ad38 + () const noexcept + + + bool + is_value + classtoml_1_1node__view.html + aa58f8de47be5f53738b1a04d7e9d05af + () const noexcept + + + bool + is_string + classtoml_1_1node__view.html + a79b47268155d955b8e2c027b0c2ae983 + () const noexcept + + + bool + is_integer + classtoml_1_1node__view.html + ab9c835ddf017f250d84fa5d5736e8520 + () const noexcept + + + bool + is_floating_point + classtoml_1_1node__view.html + a43ea3eed7b0f133fa7d752a9322c758e + () const noexcept + + + bool + is_number + classtoml_1_1node__view.html + a107732370c62402b1101a78e7382fd8b + () const noexcept + + + bool + is_boolean + classtoml_1_1node__view.html + aa7ee0d1f396e1283c4a11d07b9400897 + () const noexcept + + + bool + is_date + classtoml_1_1node__view.html + a4dc7cf8a57db73fa799a939f7acd549d + () const noexcept + + + bool + is_time + classtoml_1_1node__view.html + a98a6bc33e3ba573c37a069126acf0b8c + () const noexcept + + + bool + is_date_time + classtoml_1_1node__view.html + a5a380f773ae291c942a03e45a88c94b0 + () const noexcept + + + bool + is_array_of_tables + classtoml_1_1node__view.html + a6cc459be36698ec5a9ac0d00b4480eae + () const noexcept + + + bool + is + classtoml_1_1node__view.html + a21d7c55a33aa1c868dde5cbaa7e54ec2 + () const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + a2a2902064421f401e80ea687cef536da + (node_type ntype, viewed_type *&first_nonmatch) const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + afe0abd51e0e108b306be2a3ee9561cca + (node_type ntype) const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + a29c82d83b1d64f016eb42f95fd37e346 + () const noexcept + + + auto * + as + classtoml_1_1node__view.html + a5cd619f292f91fc9d417c61905ea8204 + () const noexcept + + + auto * + as_table + classtoml_1_1node__view.html + a5b73b7eeaa97666ebee3d604171a5576 + () const noexcept + + + auto * + as_array + classtoml_1_1node__view.html + a8593d229d139b05dc81d5d2d97ce3a1f + () const noexcept + + + auto * + as_string + classtoml_1_1node__view.html + a33c4dd8fb9498f6de6fb06714b508d17 + () const noexcept + + + auto * + as_integer + classtoml_1_1node__view.html + ad21750582ec6303e0b257b132ec4409d + () const noexcept + + + auto * + as_floating_point + classtoml_1_1node__view.html + a926821efb73ad7292e3f14841c54871b + () const noexcept + + + auto * + as_boolean + classtoml_1_1node__view.html + a9fec898a7fa88ddbb396fe3b2a81c945 + () const noexcept + + + auto * + as_date + classtoml_1_1node__view.html + a94a7cf14d6ca777de56abd5cdbe8eece + () const noexcept + + + auto * + as_time + classtoml_1_1node__view.html + a94087a35223d51ca76f22a361031bd7e + () const noexcept + + + auto * + as_date_time + classtoml_1_1node__view.html + a5bcb3ac0edcc516efda53fd022057282 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node__view.html + a2d558e7799bc4e24adda096446eb384d + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node__view.html + abb51a912462a258379b968c4074f8324 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node__view.html + a314e5d666dcda3493ff9aa2c0816f53c + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node__view.html + aec5c764293a7eeb20009a484b34d7c3a + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node__view.html + aa5f84bfab779c71a07b04ca0b2db863f + (Func &&visitor) const noexcept(visit_is_nothrow< Func && >) + + + node_view + operator[] + classtoml_1_1node__view.html + a2dde12894f70530d80de45a03eae78fa + (std::string_view key) const noexcept + + + node_view + operator[] + classtoml_1_1node__view.html + a44b94290029477305f0b6720d72bf965 + (const toml::path &path) const noexcept + + + node_view + at_path + classtoml_1_1node__view.html + a59c5432fb77b50ef22098e17d4f956d5 + (std::string_view path) const noexcept + + + node_view + at_path + classtoml_1_1node__view.html + ab265c6f0304647bcd8074ad081f2bf17 + (const toml::path &path) const noexcept + + + node_view + operator[] + classtoml_1_1node__view.html + a35021e65758dc0be505916532b69a7d8 + (std::wstring_view key) const + + + node_view + at_path + classtoml_1_1node__view.html + a157c1eafb7bdf8f33398106017d1b20c + (std::wstring_view path) const + + + node_view + operator[] + classtoml_1_1node__view.html + a5d13b026efcd31812415ead30eeb69db + (size_t index) const noexcept + + + + toml::parse_error + classtoml_1_1parse__error.html + + std::string_view + description + classtoml_1_1parse__error.html + a5582e9d66f8aa3f6ef442c0a04d5282f + () const noexcept + + + const source_region & + source + classtoml_1_1parse__error.html + a8168b4941305654cf4ba8fc96efd0514 + () const noexcept + + + friend std::ostream & + operator<< + classtoml_1_1parse__error.html + a90796878877b2a028354f643be725cf6 + (std::ostream &lhs, const parse_error &rhs) + + + + toml::parse_result + classtoml_1_1parse__result.html + + + parse_result + classtoml_1_1parse__result.html + a49f926286dae7ed5a6298f5a3656548b + () noexcept + + + + parse_result + classtoml_1_1parse__result.html + a058b76f39fb5a971585538f2d4098ba5 + (parse_result &&res) noexcept + + + parse_result & + operator= + classtoml_1_1parse__result.html + aa4c2c770a8d214f9d508582233ff1d84 + (parse_result &&rhs) noexcept + + + + ~parse_result + classtoml_1_1parse__result.html + ad9e22f09854af4c36860d61e0c0f25b1 + () noexcept + + + bool + succeeded + classtoml_1_1parse__result.html + ab5bfcd6ed385016395029bd69ad78a3c + () const noexcept + + + bool + failed + classtoml_1_1parse__result.html + a9097bc552007537f840602ceca00e99b + () const noexcept + + + + operator bool + classtoml_1_1parse__result.html + af66ea78a6dd881521ce865a372298e12 + () const noexcept + + + toml::table & + table + classtoml_1_1parse__result.html + a47d2ead20ae9d1681210c63319a6a162 + () &noexcept + + + toml::table && + table + classtoml_1_1parse__result.html + a77b470b66dd401a0a929006dd788b882 + () &&noexcept + + + const toml::table & + table + classtoml_1_1parse__result.html + a993f5d59c4b10f87138f8abb8a16d51d + () const &noexcept + + + + operator toml::table & + classtoml_1_1parse__result.html + a5e14e22d4d68b27c11711a3319dc6bf9 + () noexcept + + + + operator toml::table && + classtoml_1_1parse__result.html + a8dca1600886954b38b99a4a4f9cb77c4 + () noexcept + + + + operator const toml::table & + classtoml_1_1parse__result.html + a9d059289edaf6c7fb71916b21a2f9c9f + () const noexcept + + + parse_error & + error + classtoml_1_1parse__result.html + aefbb9aafdf00fa1ac979962d22e12e68 + () &noexcept + + + parse_error && + error + classtoml_1_1parse__result.html + ab07914228f9f7436628c99df454f177d + () &&noexcept + + + const parse_error & + error + classtoml_1_1parse__result.html + a9a5929b01df9a7f7f986b8431cefd2b8 + () const &noexcept + + + + operator parse_error & + classtoml_1_1parse__result.html + abc8a693cb538441b5974eff38c716669 + () noexcept + + + + operator parse_error && + classtoml_1_1parse__result.html + a9f70aa665d84aaf5f936dd27f6c95c4a + () noexcept + + + + operator const parse_error & + classtoml_1_1parse__result.html + a43df64e02443b2abfd9d2c86c5e4c30a + () const noexcept + + + node_view< node > + at_path + classtoml_1_1parse__result.html + a09972ac3195147c36fcb40386c863a35 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1parse__result.html + a1296ae08b7d147c6b83f1ba07fc4186f + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1parse__result.html + aebf8e6383263bf51e1145949250ca779 + (const toml::path &path) noexcept + + + node_view< const node > + at_path + classtoml_1_1parse__result.html + a57deb2b5e41a3fd89af32f6a8092a4c1 + (const toml::path &path) const noexcept + + + node_view< node > + at_path + classtoml_1_1parse__result.html + a1d945519896bd0095b4ed6cbb9215774 + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1parse__result.html + a9f9d6bd799058036b11d8de03b43bb57 + (std::wstring_view path) const + + + node_view< node > + operator[] + classtoml_1_1parse__result.html + a29af8ed25f2bb21266b9dd2004c38f2c + (const toml::path &path) noexcept + + + node_view< const node > + operator[] + classtoml_1_1parse__result.html + a84997148a9f0113e39233da93844c6d1 + (const toml::path &path) const noexcept + + + node_view< node > + operator[] + classtoml_1_1parse__result.html + a8825eaef011c7dbb5c1d1e46584e90bc + (std::string_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1parse__result.html + a1d91207197c22f396acba5d46995d8ab + (std::string_view key) const noexcept + + + node_view< node > + operator[] + classtoml_1_1parse__result.html + a67f55af8782d160d14026af394b2954b + (std::wstring_view key) + + + node_view< const node > + operator[] + classtoml_1_1parse__result.html + a025653d2720d17884461814ae3473367 + (std::wstring_view key) const + + + friend std::ostream & + operator<< + classtoml_1_1parse__result.html + ad4eaa8dc3cc144a912a63d9f95331572 + (std::ostream &os, const parse_result &result) + + + table_iterator + iterator + classtoml_1_1parse__result.html + aae503c11e9f9162de5cbef5e2c9f4863 + + + + const_table_iterator + const_iterator + classtoml_1_1parse__result.html + abf92ffb48c1f4d0f129f4032708d4ab0 + + + + table_iterator + begin + classtoml_1_1parse__result.html + a3f641e942f1518dffad6fcc7dc13893d + () noexcept + + + const_table_iterator + begin + classtoml_1_1parse__result.html + a910f13933a0547a2920404287829781f + () const noexcept + + + const_table_iterator + cbegin + classtoml_1_1parse__result.html + af58212d8a367e5c1d38eb5d58708754b + () const noexcept + + + table_iterator + end + classtoml_1_1parse__result.html + a336d398e329f08195d714ff02fdffca6 + () noexcept + + + const_table_iterator + end + classtoml_1_1parse__result.html + a154d32bca3ea50dc5030372675a85a65 + () const noexcept + + + const_table_iterator + cend + classtoml_1_1parse__result.html + afa4f821ad60ceb06327cec6b42b05071 + () const noexcept + + + bool + succeeded + classtoml_1_1parse__result.html + ab5bfcd6ed385016395029bd69ad78a3c + () const noexcept + + + bool + failed + classtoml_1_1parse__result.html + a9097bc552007537f840602ceca00e99b + () const noexcept + + + + operator bool + classtoml_1_1parse__result.html + af66ea78a6dd881521ce865a372298e12 + () const noexcept + + + toml::table & + table + classtoml_1_1parse__result.html + a47d2ead20ae9d1681210c63319a6a162 + () &noexcept + + + toml::table && + table + classtoml_1_1parse__result.html + a77b470b66dd401a0a929006dd788b882 + () &&noexcept + + + const toml::table & + table + classtoml_1_1parse__result.html + a993f5d59c4b10f87138f8abb8a16d51d + () const &noexcept + + + + operator toml::table & + classtoml_1_1parse__result.html + a5e14e22d4d68b27c11711a3319dc6bf9 + () noexcept + + + + operator toml::table && + classtoml_1_1parse__result.html + a8dca1600886954b38b99a4a4f9cb77c4 + () noexcept + + + + operator const toml::table & + classtoml_1_1parse__result.html + a9d059289edaf6c7fb71916b21a2f9c9f + () const noexcept + + + parse_error & + error + classtoml_1_1parse__result.html + aefbb9aafdf00fa1ac979962d22e12e68 + () &noexcept + + + parse_error && + error + classtoml_1_1parse__result.html + ab07914228f9f7436628c99df454f177d + () &&noexcept + + + const parse_error & + error + classtoml_1_1parse__result.html + a9a5929b01df9a7f7f986b8431cefd2b8 + () const &noexcept + + + + operator parse_error & + classtoml_1_1parse__result.html + abc8a693cb538441b5974eff38c716669 + () noexcept + + + + operator parse_error && + classtoml_1_1parse__result.html + a9f70aa665d84aaf5f936dd27f6c95c4a + () noexcept + + + + operator const parse_error & + classtoml_1_1parse__result.html + a43df64e02443b2abfd9d2c86c5e4c30a + () const noexcept + + + node_view< node > + at_path + classtoml_1_1parse__result.html + a09972ac3195147c36fcb40386c863a35 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1parse__result.html + a1296ae08b7d147c6b83f1ba07fc4186f + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1parse__result.html + aebf8e6383263bf51e1145949250ca779 + (const toml::path &path) noexcept + + + node_view< const node > + at_path + classtoml_1_1parse__result.html + a57deb2b5e41a3fd89af32f6a8092a4c1 + (const toml::path &path) const noexcept + + + node_view< node > + at_path + classtoml_1_1parse__result.html + a1d945519896bd0095b4ed6cbb9215774 + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1parse__result.html + a9f9d6bd799058036b11d8de03b43bb57 + (std::wstring_view path) const + + + node_view< node > + operator[] + classtoml_1_1parse__result.html + a29af8ed25f2bb21266b9dd2004c38f2c + (const toml::path &path) noexcept + + + node_view< const node > + operator[] + classtoml_1_1parse__result.html + a84997148a9f0113e39233da93844c6d1 + (const toml::path &path) const noexcept + + + node_view< node > + operator[] + classtoml_1_1parse__result.html + a8825eaef011c7dbb5c1d1e46584e90bc + (std::string_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1parse__result.html + a1d91207197c22f396acba5d46995d8ab + (std::string_view key) const noexcept + + + node_view< node > + operator[] + classtoml_1_1parse__result.html + a67f55af8782d160d14026af394b2954b + (std::wstring_view key) + + + node_view< const node > + operator[] + classtoml_1_1parse__result.html + a025653d2720d17884461814ae3473367 + (std::wstring_view key) const + + + + toml::path + classtoml_1_1path.html + + + path + classtoml_1_1path.html + accc6964f93bc7990f38263894d4daae6 + () noexcept=default + + + + path + classtoml_1_1path.html + aabc43d93056c759d389085b32935ec2a + (std::string_view) + + + + path + classtoml_1_1path.html + a4f340e37cfb32ca1fdfebf24e5b842b4 + (std::wstring_view) + + + + ~path + classtoml_1_1path.html + ad585b73db97202e2b4841a64773046e5 + () noexcept=default + + + + path + classtoml_1_1path.html + a3b120d3a25c2f3caffaba984ecf19bdc + (const path &)=default + + + + path + classtoml_1_1path.html + a4b65042b43757e2d509d1563f4ee5342 + (path &&) noexcept=default + + + size_t + size + classtoml_1_1path.html + a129b1539ef880b97468f26ac53538120 + () const noexcept + + + + operator bool + classtoml_1_1path.html + ac482e0b0187449abdbaf74830e0f1e48 + () const noexcept + + + bool + empty + classtoml_1_1path.html + af22c11324f36da827d4256b904d6e421 + () const noexcept + + + path_component & + operator[] + classtoml_1_1path.html + ae5dce1e849fac73d89169795e53e15f3 + (size_t index) noexcept + + + const path_component & + operator[] + classtoml_1_1path.html + aa15b77d275df1147844843404b3def4b + (size_t index) const noexcept + + + path & + operator= + classtoml_1_1path.html + a660ab69db8a42b622bbf623d58397da4 + (const path &)=default + + + path & + operator= + classtoml_1_1path.html + a630751521383d7072a580a9b8e1e3f4f + (path &&) noexcept=default + + + path & + operator= + classtoml_1_1path.html + af5da17b2697b6d93ed6a111b7a05f569 + (std::string_view) + + + path & + operator= + classtoml_1_1path.html + a50ed97223baadcbf26f4c2311394c04b + (std::wstring_view) + + + path & + assign + classtoml_1_1path.html + a7cb81f8977d4499d0b4e17ac2965cdcc + (const path &p) + + + path & + assign + classtoml_1_1path.html + ae3110f90fa002bb2d5046a575811a57f + (path &&p) noexcept + + + path & + assign + classtoml_1_1path.html + ae08245751676ffd3261540e9d9a4ce16 + (std::string_view str) + + + path & + assign + classtoml_1_1path.html + adcbcf8f53945d889d525a9562e380308 + (std::wstring_view str) + + + path & + operator+= + classtoml_1_1path.html + aabc9213e26b1db7d87fbfc504e39695f + (const path &) + + + path & + operator+= + classtoml_1_1path.html + a4eeaed05f49c2b9017bef230754f3777 + (path &&) + + + path & + operator+= + classtoml_1_1path.html + a71085a959e83687873f72aeffe03a242 + (std::string_view) + + + path & + operator+= + classtoml_1_1path.html + a834f7fe3bfb77ca19faccf5394c4b381 + (std::wstring_view) + + + path & + append + classtoml_1_1path.html + a224e1f74cc7773354062d5d69ec0a90e + (const path &p) + + + path & + append + classtoml_1_1path.html + a05d52919fcca2c2e058a52e4fe6e07f8 + (path &&p) + + + path & + append + classtoml_1_1path.html + add3d5c222320fab26fd5cadd9a610e04 + (std::string_view str) + + + path & + append + classtoml_1_1path.html + ae4be853daa76de724446f8aa2bff4b0f + (std::wstring_view str) + + + path & + prepend + classtoml_1_1path.html + acf3f8ebc882216590047e0fd9ca679e2 + (const path &) + + + path & + prepend + classtoml_1_1path.html + ac0ea4613a8ce311699284d22753a966c + (path &&) + + + path & + prepend + classtoml_1_1path.html + a97cca814a51b425e1baf310d5672fbe4 + (std::string_view) + + + path & + prepend + classtoml_1_1path.html + aa30721d1f0b21c4d42176063dd7ad08a + (std::wstring_view) + + + void + clear + classtoml_1_1path.html + a109a0d82839904cd0808388023305dc4 + () noexcept + + + path & + truncate + classtoml_1_1path.html + aa4140e7e34e06546d509335037d1101b + (size_t n) + + + path + truncated + classtoml_1_1path.html + a2f4f4b86e0a06edd27668dc12410e86b + (size_t n) const + + + path + parent + classtoml_1_1path.html + a0efb28707c4366481ca6e549c1d31a78 + () const + + + path + leaf + classtoml_1_1path.html + ace0a076c96fb0b46828de5d4f59ade5d + (size_t n=1) const + + + path + subpath + classtoml_1_1path.html + afc5f7494ca4cd2a574619d7ffb080cd3 + (const_iterator start, const_iterator end) const + + + path + subpath + classtoml_1_1path.html + aa7e62837fc83f9a78e942c5f4105b8f0 + (size_t start, size_t length) const + + + friend path + operator+ + classtoml_1_1path.html + a8595d795b316e2ec04e2257cecd2aa7c + (const path &lhs, const path &rhs) + + + friend path + operator+ + classtoml_1_1path.html + aa752dbb500cd4fa6efe4195266852ada + (const path &lhs, std::string_view rhs) + + + friend path + operator+ + classtoml_1_1path.html + a238f3a1d147825f4596718983ff4eea2 + (std::string_view lhs, const path &rhs) + + + friend path + operator+ + classtoml_1_1path.html + af6cb0b10895f5308e1b02aec607cb5a0 + (const path &lhs, std::wstring_view rhs) + + + friend path + operator+ + classtoml_1_1path.html + ae4c30c186c418ed4e7c9cc0ce1c2d167 + (std::wstring_view lhs, const path &rhs) + + + friend bool + operator== + classtoml_1_1path.html + a5d23cf873bac38cf71970fa3710a8cc2 + (const path &lhs, const path &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1path.html + a7c09a0a727d62a8a0526df213bf609f2 + (const path &lhs, const path &rhs) noexcept + + + friend bool + operator== + classtoml_1_1path.html + a85f0a0111e2b80bebe29d4ce0085e4a6 + (const path &lhs, std::string_view rhs) + + + friend bool + operator== + classtoml_1_1path.html + acaa57e919274df170a42fb906fe2b5a4 + (std::string_view lhs, const path &rhs) + + + friend bool + operator!= + classtoml_1_1path.html + a4aac6128cf3096aad26b0b0a96c2146b + (const path &lhs, std::string_view rhs) + + + friend bool + operator!= + classtoml_1_1path.html + ac52129303944b45af80b81ad7661f0b9 + (std::string_view lhs, const path &rhs) + + + friend bool + operator== + classtoml_1_1path.html + a87379c0582c782cff4740608e0343158 + (const path &lhs, std::wstring_view rhs) + + + friend bool + operator== + classtoml_1_1path.html + a2149371c079844c9891a92fa74a89d38 + (std::wstring_view lhs, const path &rhs) + + + friend bool + operator!= + classtoml_1_1path.html + a6151f164638727d9c4df34087ec43044 + (const path &lhs, std::wstring_view rhs) + + + friend bool + operator!= + classtoml_1_1path.html + a6c525194daf7a573eae71f4b9e33ee58 + (std::wstring_view lhs, const path &rhs) + + + std::vector< path_component >::iterator + iterator + classtoml_1_1path.html + ad752d8838221c179af93c94d8a7ed3d2 + + + + std::vector< path_component >::const_iterator + const_iterator + classtoml_1_1path.html + aaed31ecb434c644dc316042b744a6a59 + + + + iterator + begin + classtoml_1_1path.html + a4d44a1165c0b5dc1b3171db952b56afd + () noexcept + + + iterator + end + classtoml_1_1path.html + a884ed05a1f4ad2a2d4fe9133eb72a391 + () noexcept + + + const_iterator + begin + classtoml_1_1path.html + ad757a451dd6902f26a8d2ad3c3f15194 + () const noexcept + + + const_iterator + end + classtoml_1_1path.html + add0dbda00d37c1838b55de73f31c2dc6 + () const noexcept + + + const_iterator + cbegin + classtoml_1_1path.html + adc73ea43ee4542041c58186691f665e8 + () const noexcept + + + const_iterator + cend + classtoml_1_1path.html + aae5ffcde5edfbe8ae33cadafdac34bfa + () const noexcept + + + path & + operator= + classtoml_1_1path.html + a660ab69db8a42b622bbf623d58397da4 + (const path &)=default + + + path & + operator= + classtoml_1_1path.html + a630751521383d7072a580a9b8e1e3f4f + (path &&) noexcept=default + + + path & + operator= + classtoml_1_1path.html + af5da17b2697b6d93ed6a111b7a05f569 + (std::string_view) + + + path & + operator= + classtoml_1_1path.html + a50ed97223baadcbf26f4c2311394c04b + (std::wstring_view) + + + path & + assign + classtoml_1_1path.html + a7cb81f8977d4499d0b4e17ac2965cdcc + (const path &p) + + + path & + assign + classtoml_1_1path.html + ae3110f90fa002bb2d5046a575811a57f + (path &&p) noexcept + + + path & + assign + classtoml_1_1path.html + ae08245751676ffd3261540e9d9a4ce16 + (std::string_view str) + + + path & + assign + classtoml_1_1path.html + adcbcf8f53945d889d525a9562e380308 + (std::wstring_view str) + + + path & + operator+= + classtoml_1_1path.html + aabc9213e26b1db7d87fbfc504e39695f + (const path &) + + + path & + operator+= + classtoml_1_1path.html + a4eeaed05f49c2b9017bef230754f3777 + (path &&) + + + path & + operator+= + classtoml_1_1path.html + a71085a959e83687873f72aeffe03a242 + (std::string_view) + + + path & + operator+= + classtoml_1_1path.html + a834f7fe3bfb77ca19faccf5394c4b381 + (std::wstring_view) + + + path & + append + classtoml_1_1path.html + a224e1f74cc7773354062d5d69ec0a90e + (const path &p) + + + path & + append + classtoml_1_1path.html + a05d52919fcca2c2e058a52e4fe6e07f8 + (path &&p) + + + path & + append + classtoml_1_1path.html + add3d5c222320fab26fd5cadd9a610e04 + (std::string_view str) + + + path & + append + classtoml_1_1path.html + ae4be853daa76de724446f8aa2bff4b0f + (std::wstring_view str) + + + path & + prepend + classtoml_1_1path.html + acf3f8ebc882216590047e0fd9ca679e2 + (const path &) + + + path & + prepend + classtoml_1_1path.html + ac0ea4613a8ce311699284d22753a966c + (path &&) + + + path & + prepend + classtoml_1_1path.html + a97cca814a51b425e1baf310d5672fbe4 + (std::string_view) + + + path & + prepend + classtoml_1_1path.html + aa30721d1f0b21c4d42176063dd7ad08a + (std::wstring_view) + + + std::string + str + classtoml_1_1path.html + a8d70d707cbd38ffc03fcb3b6f81069fa + () const + + + + operator std::string + classtoml_1_1path.html + a48e8847229969e912855c71a8c59c094 + () const + + + std::wstring + wide_str + classtoml_1_1path.html + a0a824034b0ef08cb2e497af21858a574 + () const + + + + operator std::wstring + classtoml_1_1path.html + ac77a8dffca78bd3091b7db123837097b + () const + + + friend std::ostream & + operator<< + classtoml_1_1path.html + a0f19c68fa53ab75540f2ebf28088bd68 + (std::ostream &os, const path &rhs) + + + void + clear + classtoml_1_1path.html + a109a0d82839904cd0808388023305dc4 + () noexcept + + + path & + truncate + classtoml_1_1path.html + aa4140e7e34e06546d509335037d1101b + (size_t n) + + + path + truncated + classtoml_1_1path.html + a2f4f4b86e0a06edd27668dc12410e86b + (size_t n) const + + + path + parent + classtoml_1_1path.html + a0efb28707c4366481ca6e549c1d31a78 + () const + + + path + leaf + classtoml_1_1path.html + ace0a076c96fb0b46828de5d4f59ade5d + (size_t n=1) const + + + path + subpath + classtoml_1_1path.html + afc5f7494ca4cd2a574619d7ffb080cd3 + (const_iterator start, const_iterator end) const + + + path + subpath + classtoml_1_1path.html + aa7e62837fc83f9a78e942c5f4105b8f0 + (size_t start, size_t length) const + + + friend path + operator+ + classtoml_1_1path.html + a8595d795b316e2ec04e2257cecd2aa7c + (const path &lhs, const path &rhs) + + + friend path + operator+ + classtoml_1_1path.html + aa752dbb500cd4fa6efe4195266852ada + (const path &lhs, std::string_view rhs) + + + friend path + operator+ + classtoml_1_1path.html + a238f3a1d147825f4596718983ff4eea2 + (std::string_view lhs, const path &rhs) + + + friend path + operator+ + classtoml_1_1path.html + af6cb0b10895f5308e1b02aec607cb5a0 + (const path &lhs, std::wstring_view rhs) + + + friend path + operator+ + classtoml_1_1path.html + ae4c30c186c418ed4e7c9cc0ce1c2d167 + (std::wstring_view lhs, const path &rhs) + + + friend bool + operator== + classtoml_1_1path.html + a5d23cf873bac38cf71970fa3710a8cc2 + (const path &lhs, const path &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1path.html + a7c09a0a727d62a8a0526df213bf609f2 + (const path &lhs, const path &rhs) noexcept + + + friend bool + operator== + classtoml_1_1path.html + a85f0a0111e2b80bebe29d4ce0085e4a6 + (const path &lhs, std::string_view rhs) + + + friend bool + operator== + classtoml_1_1path.html + acaa57e919274df170a42fb906fe2b5a4 + (std::string_view lhs, const path &rhs) + + + friend bool + operator!= + classtoml_1_1path.html + a4aac6128cf3096aad26b0b0a96c2146b + (const path &lhs, std::string_view rhs) + + + friend bool + operator!= + classtoml_1_1path.html + ac52129303944b45af80b81ad7661f0b9 + (std::string_view lhs, const path &rhs) + + + friend bool + operator== + classtoml_1_1path.html + a87379c0582c782cff4740608e0343158 + (const path &lhs, std::wstring_view rhs) + + + friend bool + operator== + classtoml_1_1path.html + a2149371c079844c9891a92fa74a89d38 + (std::wstring_view lhs, const path &rhs) + + + friend bool + operator!= + classtoml_1_1path.html + a6151f164638727d9c4df34087ec43044 + (const path &lhs, std::wstring_view rhs) + + + friend bool + operator!= + classtoml_1_1path.html + a6c525194daf7a573eae71f4b9e33ee58 + (std::wstring_view lhs, const path &rhs) + + + + toml::path_component + classtoml_1_1path__component.html + + + path_component + classtoml_1_1path__component.html + a71021caeadfba986add66776fde75afc + () + + + + path_component + classtoml_1_1path__component.html + ae8588444d8e20eedda3c7c9de020211d + (size_t index) noexcept + + + + path_component + classtoml_1_1path__component.html + a0a43eb66501060d7904e92ce83992231 + (std::string_view key) + + + + path_component + classtoml_1_1path__component.html + ae5cabcb9ca01c6fe1a523ebaf27b8203 + (std::wstring_view key) + + + + path_component + classtoml_1_1path__component.html + a7b6ed29a247bfb453e67e84c4000ad32 + (const path_component &pc) + + + + path_component + classtoml_1_1path__component.html + a8510261dadffa958e0dd334fc442bff2 + (path_component &&pc) noexcept + + + path_component & + operator= + classtoml_1_1path__component.html + aa32a4eef434a839c7379e5c9a734be42 + (const path_component &rhs) + + + path_component & + operator= + classtoml_1_1path__component.html + a2a9f790c3f54919bbeb6617d27df8dbf + (path_component &&rhs) noexcept + + + path_component & + operator= + classtoml_1_1path__component.html + a8a1c7128de9bde5c4e17037a827fe050 + (size_t new_index) noexcept + + + path_component & + operator= + classtoml_1_1path__component.html + a6f6d6747a56a2480608654f682816df2 + (std::string_view new_key) + + + path_component & + operator= + classtoml_1_1path__component.html + a16ae3aa3861f989a6aa6ec7d5f7533f6 + (std::wstring_view new_key) + + + + ~path_component + classtoml_1_1path__component.html + a9023bc344bbf001fb54661491d52ed21 + () noexcept + + + path_component_type + type + classtoml_1_1path__component.html + a59858d261f3e4e9e67d83835163312d5 + () const noexcept + + + size_t + index + classtoml_1_1path__component.html + aa2c540242b230123321196a87267fd58 + () const noexcept + + + + operator size_t + classtoml_1_1path__component.html + a0776d976060500ceba2491dbcffa04e8 + () const noexcept + + + const std::string & + key + classtoml_1_1path__component.html + a222d79d89d6fdf075e948aa2a91ae375 + () const noexcept + + + + operator const std::string & + classtoml_1_1path__component.html + aa6f05d78ce148082e85ac7f648ef1b6a + () const noexcept + + + friend bool + operator== + classtoml_1_1path__component.html + a9aef313f246e34a691c7e7475a62f3dd + (const path_component &lhs, const path_component &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1path__component.html + a6ebe7d221b72eff60b9570c9e87aaa9a + (const path_component &lhs, const path_component &rhs) noexcept + + + size_t + index + classtoml_1_1path__component.html + aa2c540242b230123321196a87267fd58 + () const noexcept + + + + operator size_t + classtoml_1_1path__component.html + a0776d976060500ceba2491dbcffa04e8 + () const noexcept + + + const std::string & + key + classtoml_1_1path__component.html + a222d79d89d6fdf075e948aa2a91ae375 + () const noexcept + + + + operator const std::string & + classtoml_1_1path__component.html + aa6f05d78ce148082e85ac7f648ef1b6a + () const noexcept + + + friend bool + operator== + classtoml_1_1path__component.html + a9aef313f246e34a691c7e7475a62f3dd + (const path_component &lhs, const path_component &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1path__component.html + a6ebe7d221b72eff60b9570c9e87aaa9a + (const path_component &lhs, const path_component &rhs) noexcept + + + + toml::source_position + structtoml_1_1source__position.html + + constexpr + operator bool + structtoml_1_1source__position.html + accba2f34a07d8b453b8f2f6baf2d73cf + () const noexcept + + + source_index + line + structtoml_1_1source__position.html + ab21cac59798d70e25fe97ac7433763cc + + + + source_index + column + structtoml_1_1source__position.html + a1ca6d0db40c69d2784703011f7cf5434 + + + + constexpr friend bool + operator== + structtoml_1_1source__position.html + a2661adb822c0291c5328d9d00e4b9a8f + (const source_position &lhs, const source_position &rhs) noexcept + + + constexpr friend bool + operator!= + structtoml_1_1source__position.html + a90fec8fa1014a1358a362f9171cdb073 + (const source_position &lhs, const source_position &rhs) noexcept + + + constexpr friend bool + operator< + structtoml_1_1source__position.html + a771714902fb113445597a1fd2a24e8cd + (const source_position &lhs, const source_position &rhs) noexcept + + + constexpr friend bool + operator<= + structtoml_1_1source__position.html + abb7d47c85374301ec48e7c5f3ee1c71a + (const source_position &lhs, const source_position &rhs) noexcept + + + constexpr friend bool + operator> + structtoml_1_1source__position.html + a6050abda53e8d371cf328179ef70a1f7 + (const source_position &lhs, const source_position &rhs) noexcept + + + constexpr friend bool + operator>= + structtoml_1_1source__position.html + a14386eeea63b71de792b8a752ee5d4df + (const source_position &lhs, const source_position &rhs) noexcept + + + friend std::ostream & + operator<< + structtoml_1_1source__position.html + a40b4b23ccd23a205a2c2298853066aba + (std::ostream &lhs, const source_position &rhs) + + + + toml::source_region + structtoml_1_1source__region.html + + optional< std::wstring > + wide_path + structtoml_1_1source__region.html + a8e9110cd42e834f95e9a12c59909c1c0 + () const + + + source_position + begin + structtoml_1_1source__region.html + ab36a5db15201864a13fb628f331196d0 + + + + source_position + end + structtoml_1_1source__region.html + a054940b42dcf83391697ec2b8690531d + + + + source_path_ptr + path + structtoml_1_1source__region.html + a25fc23f579edb8afc0818c013c5ac5d7 + + + + friend std::ostream & + operator<< + structtoml_1_1source__region.html + a9de8ac24a607abd098bb4179520f3734 + (std::ostream &lhs, const source_region &rhs) + + + + toml::table + classtoml_1_1table.html + toml::node + + + table + classtoml_1_1table.html + a823f0d3385d2d8d8320a72f78c677a35 + () noexcept + + + + table + classtoml_1_1table.html + a8c06941e05e31602d46f26ba84d14b23 + (const table &) + + + + table + classtoml_1_1table.html + ab47a76ab242afa13f1a74e5e2bcded44 + (table &&other) noexcept + + + + table + classtoml_1_1table.html + a7fdc52c0aa1bd67ae6738f029787bc2f + (std::initializer_list< impl::table_init_pair > kvps) + + + table & + operator= + classtoml_1_1table.html + ac4bdf5ade95ac5afa472ae1219b8b89d + (const table &) + + + table & + operator= + classtoml_1_1table.html + a5c5fd0e11db828ab264eccc96dfdd619 + (table &&rhs) noexcept + + + node_type + type + classtoml_1_1table.html + a03d15150652176b1714b70fb035cdeb0 + () const noexcept final + + + bool + is_homogeneous + classtoml_1_1table.html + abe1cc42533dc108b2062de2666471faa + (node_type ntype) const noexcept final + + + bool + is_homogeneous + classtoml_1_1table.html + af1a2f48edbb3afa9363c392595830846 + (node_type ntype, node *&first_nonmatch) noexcept final + + + bool + is_homogeneous + classtoml_1_1table.html + a8a0a8d4e44883a2467798dad07ddcb43 + (node_type ntype, const node *&first_nonmatch) const noexcept final + + + bool + is_table + classtoml_1_1table.html + a2cdfa1fd3e9d5c64cb5d4089a1d4344e + () const noexcept final + + + bool + is_array + classtoml_1_1table.html + a56d186a17d8e24bfa90fa6578e7b3872 + () const noexcept final + + + bool + is_array_of_tables + classtoml_1_1table.html + a52e6d4f667e464a49ac4928c8ed31fec + () const noexcept final + + + bool + is_value + classtoml_1_1table.html + aae222bf8089461dd4954311d1e403386 + () const noexcept final + + + bool + is_string + classtoml_1_1table.html + a6bf5f3666709891c5c6beba70835604a + () const noexcept final + + + bool + is_integer + classtoml_1_1table.html + a1a8b05c8de343cff20b47189d309862b + () const noexcept final + + + bool + is_floating_point + classtoml_1_1table.html + a6eafaab181b8ce2632b5c0556941fb76 + () const noexcept final + + + bool + is_number + classtoml_1_1table.html + a89392000e892868540f0513f4be45ba2 + () const noexcept final + + + bool + is_boolean + classtoml_1_1table.html + a60c4177e5d411c2f8be30f0b99b68189 + () const noexcept final + + + bool + is_date + classtoml_1_1table.html + a3052f7b2bce6add8ef50ea77c59338c4 + () const noexcept final + + + bool + is_time + classtoml_1_1table.html + a1fc645d975ce2b07348e1e9f8029d0c1 + () const noexcept final + + + bool + is_date_time + classtoml_1_1table.html + a38d82efe9d6fc89b5140e5abdde9127d + () const noexcept final + + + table * + as_table + classtoml_1_1table.html + af9cb47ecee9c13ded1308b64902f8a5c + () noexcept final + + + array * + as_array + classtoml_1_1table.html + a673bdcac9903b7da00c5893f6d7fe8e0 + () noexcept final + + + toml::value< std::string > * + as_string + classtoml_1_1table.html + aa8e3920bff569dee33fe8e34ffb6361d + () noexcept final + + + toml::value< int64_t > * + as_integer + classtoml_1_1table.html + a5b86281620ba34efabf7e3c4bef9675b + () noexcept final + + + toml::value< double > * + as_floating_point + classtoml_1_1table.html + ac3b5e969c4aaeebc3c36d514c3b54d5f + () noexcept final + + + toml::value< bool > * + as_boolean + classtoml_1_1table.html + a0cd6412f40c200939645028417d789cf + () noexcept final + + + toml::value< date > * + as_date + classtoml_1_1table.html + a1b5f7025e387eb10f16d4b3a763db501 + () noexcept final + + + toml::value< time > * + as_time + classtoml_1_1table.html + a980f61149308e193282b8f5bfaeda284 + () noexcept final + + + toml::value< date_time > * + as_date_time + classtoml_1_1table.html + a6a33617f7d6d95ef676ce0cb098d2970 + () noexcept final + + + const table * + as_table + classtoml_1_1table.html + a84fc8b87acc1f9f86384d375893f5d3c + () const noexcept final + + + const array * + as_array + classtoml_1_1table.html + af2dda58dc42b782b0c36a2367d948957 + () const noexcept final + + + const toml::value< std::string > * + as_string + classtoml_1_1table.html + aa8ab32e1b60f5b3b0bf9539076c89acc + () const noexcept final + + + const toml::value< int64_t > * + as_integer + classtoml_1_1table.html + a98c296e8a635190bab97e886c83f2648 + () const noexcept final + + + const toml::value< double > * + as_floating_point + classtoml_1_1table.html + aaf302e3edd84df4c31765ffb15aed0f2 + () const noexcept final + + + const toml::value< bool > * + as_boolean + classtoml_1_1table.html + abc2f126a04989073083065662df9e72b + () const noexcept final + + + const toml::value< date > * + as_date + classtoml_1_1table.html + a5759fb6852495964827f9982e9c8ce12 + () const noexcept final + + + const toml::value< time > * + as_time + classtoml_1_1table.html + a19e3aa65fd09b2f36d98627c432638b1 + () const noexcept final + + + const toml::value< date_time > * + as_date_time + classtoml_1_1table.html + a2fd53fcb036c335021e3ad098cf4d883 + () const noexcept final + + + bool + is_inline + classtoml_1_1table.html + a53be1b93aa90608ed378323df835a2f3 + () const noexcept + + + void + is_inline + classtoml_1_1table.html + a8e797a683ff2bacd14d7e7461ecd2780 + (bool val) noexcept + + + node * + get + classtoml_1_1table.html + ae6811ea7c692ac71880693e225c66aed + (std::string_view key) noexcept + + + const node * + get + classtoml_1_1table.html + a43afae4f760f715c69b0b8aa0a7ef071 + (std::string_view key) const noexcept + + + node * + get + classtoml_1_1table.html + a637ff9b8eb2880a1084f01b7b0725b12 + (std::wstring_view key) + + + const node * + get + classtoml_1_1table.html + add0f0c51c63d385f881022cab988744c + (std::wstring_view key) const + + + impl::wrap_node< T > * + get_as + classtoml_1_1table.html + afb960c9b2ea8066f917d22d348758513 + (std::string_view key) noexcept + + + const impl::wrap_node< T > * + get_as + classtoml_1_1table.html + aa21b91ee2ed48b24bf684b762f01c684 + (std::string_view key) const noexcept + + + impl::wrap_node< T > * + get_as + classtoml_1_1table.html + a32bfcd190cb9a8e06f381097a23d0b66 + (std::wstring_view key) + + + const impl::wrap_node< T > * + get_as + classtoml_1_1table.html + a0099ccf5df2f15ca17309c1897cb5e61 + (std::wstring_view key) const + + + node & + at + classtoml_1_1table.html + ae1e3925fca9b027958934a5c015c6c98 + (std::string_view key) + + + const node & + at + classtoml_1_1table.html + acadf9153fcdc5019add35426044f369e + (std::string_view key) const + + + node & + at + classtoml_1_1table.html + aef4d6369cf64a56322b96f1a15f761c6 + (std::wstring_view key) + + + const node & + at + classtoml_1_1table.html + ae8429bf4d0d3dd15b82344b575ec2a15 + (std::wstring_view key) const + + + bool + empty + classtoml_1_1table.html + a554f495f6f2ebc993be1bd0379447051 + () const noexcept + + + size_t + size + classtoml_1_1table.html + ad7c4105854cc817bf6e781fa7fb1b6d6 + () const noexcept + + + iterator + lower_bound + classtoml_1_1table.html + acc5180d0f3b1a78f45962f246a5d9605 + (std::string_view key) noexcept + + + const_iterator + lower_bound + classtoml_1_1table.html + a3b678ac60d00790308b96f5e51da4274 + (std::string_view key) const noexcept + + + iterator + lower_bound + classtoml_1_1table.html + aaaffca1b5d53d7b72d2f29c14f06d75e + (std::wstring_view key) + + + const_iterator + lower_bound + classtoml_1_1table.html + a2799383d484028ef5f466f8d1d34f315 + (std::wstring_view key) const + + + iterator + find + classtoml_1_1table.html + a087ecb9d9fd4562d79f83341f0c643c0 + (std::string_view key) noexcept + + + const_iterator + find + classtoml_1_1table.html + a65a894481bab5dd2bd00690931ed2692 + (std::string_view key) const noexcept + + + bool + contains + classtoml_1_1table.html + aacf6efa6e7865211f7a1283f79a88ee0 + (std::string_view key) const noexcept + + + iterator + find + classtoml_1_1table.html + ab1f12a827212d23ee0895fda92a5113c + (std::wstring_view key) + + + const_iterator + find + classtoml_1_1table.html + a25f8f4a8c4672042d75b810856bd676f + (std::wstring_view key) const + + + bool + contains + classtoml_1_1table.html + a7bec8d45353adeac918668a9fc5cb6a2 + (std::wstring_view key) const + + + iterator + erase + classtoml_1_1table.html + a1a90984876ccdd03aaa9e0f9801a839f + (iterator pos) noexcept + + + iterator + erase + classtoml_1_1table.html + a4dafb4ae116d92add973e5f27f880a9d + (const_iterator pos) noexcept + + + iterator + erase + classtoml_1_1table.html + a59f4dd9e42b73c9c1ec43134bef7e113 + (const_iterator begin, const_iterator end) noexcept + + + size_t + erase + classtoml_1_1table.html + ac6064df3f6f23b022884390a9963c1bc + (std::string_view key) noexcept + + + size_t + erase + classtoml_1_1table.html + add732807ee5e8fde81ceaa33acbaa7c6 + (std::wstring_view key) + + + table & + prune + classtoml_1_1table.html + a7f4d1d90dcea74d84f70db7e2d70c78a + (bool recursive=true) &noexcept + + + table && + prune + classtoml_1_1table.html + a14a59eed720b4d01840e290f82bb87b5 + (bool recursive=true) &&noexcept + + + void + clear + classtoml_1_1table.html + aa710f85c588a1b00c3192d1553de4eef + () noexcept + + + iterator + emplace_hint + classtoml_1_1table.html + a0d2378b5d13432bf8e325c388c650189 + (const_iterator hint, KeyType &&key, ValueArgs &&... args) + + + std::pair< iterator, bool > + insert + classtoml_1_1table.html + aed4c994aec5209b69d54d19f306b31bc + (KeyType &&key, ValueType &&val, value_flags flags=preserve_source_value_flags) + + + void + insert + classtoml_1_1table.html + a331eb6de04d95c3f76bf64e6f84d4ad6 + (Iter begin, Iter end, value_flags flags=preserve_source_value_flags) + + + std::pair< iterator, bool > + insert_or_assign + classtoml_1_1table.html + aa160b71ed6bc6fc638b19b5d9a8ef569 + (KeyType &&key, ValueType &&val, value_flags flags=preserve_source_value_flags) + + + std::pair< iterator, bool > + emplace + classtoml_1_1table.html + a485d7763c578d716b4f22abb1db3c975 + (KeyType &&key, ValueArgs &&... args) + + + node_view< node > + operator[] + classtoml_1_1table.html + a6d8386049f630c8551597a2180479c7c + (std::string_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1table.html + a9b13a19ddfcd2f76685f57587d28701c + (std::string_view key) const noexcept + + + node_view< node > + operator[] + classtoml_1_1table.html + a706215b69aefbcc303e2882341c766eb + (std::wstring_view key) + + + node_view< const node > + operator[] + classtoml_1_1table.html + a5c4132e9936b1d6b0d9f2ccda7417fd7 + (std::wstring_view key) const + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + aef68f74119416a0a6d0a62f0f7d8d4ea + (const toml::path &path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + afbd39cca3959da4a1d8e1d220b6abe83 + (const toml::path &path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + node_view< node > + operator[] + classtoml_1_1node.html + a8c3214e47f056a3a9bcdb66edd7fa97f + (const toml::path &path) noexcept + + + node_view< const node > + operator[] + classtoml_1_1node.html + a2276f2cac96c095b4e4645ca5bebe0f9 + (const toml::path &path) const noexcept + + + friend std::ostream & + operator<< + classtoml_1_1table.html + a3d8aefefc9701472d2a314a43deba6d2 + (std::ostream &lhs, const table &rhs) + + + friend bool + operator== + classtoml_1_1table.html + af8ebaed8105e5de2098992764f2d534a + (const table &lhs, const table &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1table.html + abdeb5d9d9fc23c031c78e544c6196ea6 + (const table &lhs, const table &rhs) noexcept + + + toml::table_iterator + iterator + classtoml_1_1table.html + a87e055bad435d5332dc496c518733a4d + + + + toml::const_table_iterator + const_iterator + classtoml_1_1table.html + a68fea8ca9b1018f9675fd346b9f4512e + + + + iterator + begin + classtoml_1_1table.html + a334f050427eb20c8530254f4cd6dddf3 + () noexcept + + + const_iterator + begin + classtoml_1_1table.html + a3352f9954e03087b6f596ae23283bd3c + () const noexcept + + + const_iterator + cbegin + classtoml_1_1table.html + a15a5f8bd6d194fcbe925a24e5b73b1fb + () const noexcept + + + iterator + end + classtoml_1_1table.html + a96da67654c5ca131cfec2e3c07aa2730 + () noexcept + + + const_iterator + end + classtoml_1_1table.html + a40c72e81de1da66b7083cad11442cb05 + () const noexcept + + + const_iterator + cend + classtoml_1_1table.html + a311451209f990931ea25828c6091714f + () const noexcept + + + table & + for_each + classtoml_1_1table.html + ac22ee86d5b83fd73a8013d39be1cc698 + (Func &&visitor) &noexcept(for_each_is_nothrow< Func &&, table & >) + + + table && + for_each + classtoml_1_1table.html + aca50cb292d1029b5df558847a0fec7c5 + (Func &&visitor) &&noexcept(for_each_is_nothrow< Func &&, table && >) + + + const table & + for_each + classtoml_1_1table.html + a58267a6238a414e7b6db9f59218e790f + (Func &&visitor) const &noexcept(for_each_is_nothrow< Func &&, const table & >) + + + const table && + for_each + classtoml_1_1table.html + ab89cdd042f443f05a07e032494b650c2 + (Func &&visitor) const &&noexcept(for_each_is_nothrow< Func &&, const table && >) + + + node_type + type + classtoml_1_1table.html + a03d15150652176b1714b70fb035cdeb0 + () const noexcept final + + + bool + is_homogeneous + classtoml_1_1table.html + abe1cc42533dc108b2062de2666471faa + (node_type ntype) const noexcept final + + + bool + is_homogeneous + classtoml_1_1table.html + af1a2f48edbb3afa9363c392595830846 + (node_type ntype, node *&first_nonmatch) noexcept final + + + bool + is_homogeneous + classtoml_1_1table.html + a8a0a8d4e44883a2467798dad07ddcb43 + (node_type ntype, const node *&first_nonmatch) const noexcept final + + + bool + is_table + classtoml_1_1table.html + a2cdfa1fd3e9d5c64cb5d4089a1d4344e + () const noexcept final + + + bool + is_array + classtoml_1_1table.html + a56d186a17d8e24bfa90fa6578e7b3872 + () const noexcept final + + + bool + is_array_of_tables + classtoml_1_1table.html + a52e6d4f667e464a49ac4928c8ed31fec + () const noexcept final + + + bool + is_value + classtoml_1_1table.html + aae222bf8089461dd4954311d1e403386 + () const noexcept final + + + bool + is_string + classtoml_1_1table.html + a6bf5f3666709891c5c6beba70835604a + () const noexcept final + + + bool + is_integer + classtoml_1_1table.html + a1a8b05c8de343cff20b47189d309862b + () const noexcept final + + + bool + is_floating_point + classtoml_1_1table.html + a6eafaab181b8ce2632b5c0556941fb76 + () const noexcept final + + + bool + is_number + classtoml_1_1table.html + a89392000e892868540f0513f4be45ba2 + () const noexcept final + + + bool + is_boolean + classtoml_1_1table.html + a60c4177e5d411c2f8be30f0b99b68189 + () const noexcept final + + + bool + is_date + classtoml_1_1table.html + a3052f7b2bce6add8ef50ea77c59338c4 + () const noexcept final + + + bool + is_time + classtoml_1_1table.html + a1fc645d975ce2b07348e1e9f8029d0c1 + () const noexcept final + + + bool + is_date_time + classtoml_1_1table.html + a38d82efe9d6fc89b5140e5abdde9127d + () const noexcept final + + + table * + as_table + classtoml_1_1table.html + af9cb47ecee9c13ded1308b64902f8a5c + () noexcept final + + + array * + as_array + classtoml_1_1table.html + a673bdcac9903b7da00c5893f6d7fe8e0 + () noexcept final + + + toml::value< std::string > * + as_string + classtoml_1_1table.html + aa8e3920bff569dee33fe8e34ffb6361d + () noexcept final + + + toml::value< int64_t > * + as_integer + classtoml_1_1table.html + a5b86281620ba34efabf7e3c4bef9675b + () noexcept final + + + toml::value< double > * + as_floating_point + classtoml_1_1table.html + ac3b5e969c4aaeebc3c36d514c3b54d5f + () noexcept final + + + toml::value< bool > * + as_boolean + classtoml_1_1table.html + a0cd6412f40c200939645028417d789cf + () noexcept final + + + toml::value< date > * + as_date + classtoml_1_1table.html + a1b5f7025e387eb10f16d4b3a763db501 + () noexcept final + + + toml::value< time > * + as_time + classtoml_1_1table.html + a980f61149308e193282b8f5bfaeda284 + () noexcept final + + + toml::value< date_time > * + as_date_time + classtoml_1_1table.html + a6a33617f7d6d95ef676ce0cb098d2970 + () noexcept final + + + const table * + as_table + classtoml_1_1table.html + a84fc8b87acc1f9f86384d375893f5d3c + () const noexcept final + + + const array * + as_array + classtoml_1_1table.html + af2dda58dc42b782b0c36a2367d948957 + () const noexcept final + + + const toml::value< std::string > * + as_string + classtoml_1_1table.html + aa8ab32e1b60f5b3b0bf9539076c89acc + () const noexcept final + + + const toml::value< int64_t > * + as_integer + classtoml_1_1table.html + a98c296e8a635190bab97e886c83f2648 + () const noexcept final + + + const toml::value< double > * + as_floating_point + classtoml_1_1table.html + aaf302e3edd84df4c31765ffb15aed0f2 + () const noexcept final + + + const toml::value< bool > * + as_boolean + classtoml_1_1table.html + abc2f126a04989073083065662df9e72b + () const noexcept final + + + const toml::value< date > * + as_date + classtoml_1_1table.html + a5759fb6852495964827f9982e9c8ce12 + () const noexcept final + + + const toml::value< time > * + as_time + classtoml_1_1table.html + a19e3aa65fd09b2f36d98627c432638b1 + () const noexcept final + + + const toml::value< date_time > * + as_date_time + classtoml_1_1table.html + a2fd53fcb036c335021e3ad098cf4d883 + () const noexcept final + + + bool + is_inline + classtoml_1_1table.html + a53be1b93aa90608ed378323df835a2f3 + () const noexcept + + + void + is_inline + classtoml_1_1table.html + a8e797a683ff2bacd14d7e7461ecd2780 + (bool val) noexcept + + + node * + get + classtoml_1_1table.html + ae6811ea7c692ac71880693e225c66aed + (std::string_view key) noexcept + + + const node * + get + classtoml_1_1table.html + a43afae4f760f715c69b0b8aa0a7ef071 + (std::string_view key) const noexcept + + + node * + get + classtoml_1_1table.html + a637ff9b8eb2880a1084f01b7b0725b12 + (std::wstring_view key) + + + const node * + get + classtoml_1_1table.html + add0f0c51c63d385f881022cab988744c + (std::wstring_view key) const + + + impl::wrap_node< T > * + get_as + classtoml_1_1table.html + afb960c9b2ea8066f917d22d348758513 + (std::string_view key) noexcept + + + const impl::wrap_node< T > * + get_as + classtoml_1_1table.html + aa21b91ee2ed48b24bf684b762f01c684 + (std::string_view key) const noexcept + + + impl::wrap_node< T > * + get_as + classtoml_1_1table.html + a32bfcd190cb9a8e06f381097a23d0b66 + (std::wstring_view key) + + + const impl::wrap_node< T > * + get_as + classtoml_1_1table.html + a0099ccf5df2f15ca17309c1897cb5e61 + (std::wstring_view key) const + + + node & + at + classtoml_1_1table.html + ae1e3925fca9b027958934a5c015c6c98 + (std::string_view key) + + + const node & + at + classtoml_1_1table.html + acadf9153fcdc5019add35426044f369e + (std::string_view key) const + + + node & + at + classtoml_1_1table.html + aef4d6369cf64a56322b96f1a15f761c6 + (std::wstring_view key) + + + const node & + at + classtoml_1_1table.html + ae8429bf4d0d3dd15b82344b575ec2a15 + (std::wstring_view key) const + + + bool + empty + classtoml_1_1table.html + a554f495f6f2ebc993be1bd0379447051 + () const noexcept + + + size_t + size + classtoml_1_1table.html + ad7c4105854cc817bf6e781fa7fb1b6d6 + () const noexcept + + + iterator + lower_bound + classtoml_1_1table.html + acc5180d0f3b1a78f45962f246a5d9605 + (std::string_view key) noexcept + + + const_iterator + lower_bound + classtoml_1_1table.html + a3b678ac60d00790308b96f5e51da4274 + (std::string_view key) const noexcept + + + iterator + lower_bound + classtoml_1_1table.html + aaaffca1b5d53d7b72d2f29c14f06d75e + (std::wstring_view key) + + + const_iterator + lower_bound + classtoml_1_1table.html + a2799383d484028ef5f466f8d1d34f315 + (std::wstring_view key) const + + + iterator + find + classtoml_1_1table.html + a087ecb9d9fd4562d79f83341f0c643c0 + (std::string_view key) noexcept + + + const_iterator + find + classtoml_1_1table.html + a65a894481bab5dd2bd00690931ed2692 + (std::string_view key) const noexcept + + + bool + contains + classtoml_1_1table.html + aacf6efa6e7865211f7a1283f79a88ee0 + (std::string_view key) const noexcept + + + iterator + find + classtoml_1_1table.html + ab1f12a827212d23ee0895fda92a5113c + (std::wstring_view key) + + + const_iterator + find + classtoml_1_1table.html + a25f8f4a8c4672042d75b810856bd676f + (std::wstring_view key) const + + + bool + contains + classtoml_1_1table.html + a7bec8d45353adeac918668a9fc5cb6a2 + (std::wstring_view key) const + + + iterator + erase + classtoml_1_1table.html + a1a90984876ccdd03aaa9e0f9801a839f + (iterator pos) noexcept + + + iterator + erase + classtoml_1_1table.html + a4dafb4ae116d92add973e5f27f880a9d + (const_iterator pos) noexcept + + + iterator + erase + classtoml_1_1table.html + a59f4dd9e42b73c9c1ec43134bef7e113 + (const_iterator begin, const_iterator end) noexcept + + + size_t + erase + classtoml_1_1table.html + ac6064df3f6f23b022884390a9963c1bc + (std::string_view key) noexcept + + + size_t + erase + classtoml_1_1table.html + add732807ee5e8fde81ceaa33acbaa7c6 + (std::wstring_view key) + + + table & + prune + classtoml_1_1table.html + a7f4d1d90dcea74d84f70db7e2d70c78a + (bool recursive=true) &noexcept + + + table && + prune + classtoml_1_1table.html + a14a59eed720b4d01840e290f82bb87b5 + (bool recursive=true) &&noexcept + + + void + clear + classtoml_1_1table.html + aa710f85c588a1b00c3192d1553de4eef + () noexcept + + + iterator + emplace_hint + classtoml_1_1table.html + a0d2378b5d13432bf8e325c388c650189 + (const_iterator hint, KeyType &&key, ValueArgs &&... args) + + + std::pair< iterator, bool > + insert + classtoml_1_1table.html + aed4c994aec5209b69d54d19f306b31bc + (KeyType &&key, ValueType &&val, value_flags flags=preserve_source_value_flags) + + + void + insert + classtoml_1_1table.html + a331eb6de04d95c3f76bf64e6f84d4ad6 + (Iter begin, Iter end, value_flags flags=preserve_source_value_flags) + + + std::pair< iterator, bool > + insert_or_assign + classtoml_1_1table.html + aa160b71ed6bc6fc638b19b5d9a8ef569 + (KeyType &&key, ValueType &&val, value_flags flags=preserve_source_value_flags) + + + std::pair< iterator, bool > + emplace + classtoml_1_1table.html + a485d7763c578d716b4f22abb1db3c975 + (KeyType &&key, ValueArgs &&... args) + + + node_view< node > + operator[] + classtoml_1_1table.html + a6d8386049f630c8551597a2180479c7c + (std::string_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1table.html + a9b13a19ddfcd2f76685f57587d28701c + (std::string_view key) const noexcept + + + node_view< node > + operator[] + classtoml_1_1table.html + a706215b69aefbcc303e2882341c766eb + (std::wstring_view key) + + + node_view< const node > + operator[] + classtoml_1_1table.html + a5c4132e9936b1d6b0d9f2ccda7417fd7 + (std::wstring_view key) const + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + aef68f74119416a0a6d0a62f0f7d8d4ea + (const toml::path &path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + afbd39cca3959da4a1d8e1d220b6abe83 + (const toml::path &path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + node_view< node > + operator[] + classtoml_1_1node.html + a8c3214e47f056a3a9bcdb66edd7fa97f + (const toml::path &path) noexcept + + + node_view< const node > + operator[] + classtoml_1_1node.html + a2276f2cac96c095b4e4645ca5bebe0f9 + (const toml::path &path) const noexcept + + + friend bool + operator== + classtoml_1_1table.html + af8ebaed8105e5de2098992764f2d534a + (const table &lhs, const table &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1table.html + abdeb5d9d9fc23c031c78e544c6196ea6 + (const table &lhs, const table &rhs) noexcept + + + + toml::time + structtoml_1_1time.html + + + time + structtoml_1_1time.html + a460d6626a20b992f38c676bf5ee62a20 + () noexcept=default + + + constexpr + time + structtoml_1_1time.html + acaec3dc6784706c57cc712ab403123e6 + (H h, M m, S s=S{}, NS ns=NS{}) noexcept + + + uint8_t + hour + structtoml_1_1time.html + a18f32a58846d333f9e866b725b7b7ae4 + + + + uint8_t + minute + structtoml_1_1time.html + a02de4fe041dfa9535eb4df60d86f7fb4 + + + + uint8_t + second + structtoml_1_1time.html + a8ae0ab849a761543207ca86a2e1d0fdf + + + + uint32_t + nanosecond + structtoml_1_1time.html + a3e9c60650ccd21f1e47132b777547185 + + + + constexpr friend bool + operator== + structtoml_1_1time.html + aa88d156f8ea405513e00702b3c88de2f + (const time &lhs, const time &rhs) noexcept + + + constexpr friend bool + operator!= + structtoml_1_1time.html + a76766a077e105960758caa4a9cbfd25b + (const time &lhs, const time &rhs) noexcept + + + constexpr friend bool + operator< + structtoml_1_1time.html + a220d5428532dc59f1846f29159430be8 + (const time &lhs, const time &rhs) noexcept + + + constexpr friend bool + operator<= + structtoml_1_1time.html + a459d4906732bd6c6129de62f1c601a60 + (const time &lhs, const time &rhs) noexcept + + + constexpr friend bool + operator> + structtoml_1_1time.html + a8564e5d443652ec48b50acedee1ab64c + (const time &lhs, const time &rhs) noexcept + + + constexpr friend bool + operator>= + structtoml_1_1time.html + ae551c63caf265a78d5a73c797ee538f5 + (const time &lhs, const time &rhs) noexcept + + + friend std::ostream & + operator<< + structtoml_1_1time.html + aad81b91942de3b3f2d54656c8a686ee7 + (std::ostream &lhs, const time &rhs) + + + + toml::time_offset + structtoml_1_1time__offset.html + + + time_offset + structtoml_1_1time__offset.html + a49af2cb136f213443f15e108657f5f0e + () noexcept=default + + + constexpr + time_offset + structtoml_1_1time__offset.html + a9e963488f164473ee9af35ddf7d4f93e + (H h, M m) noexcept + + + int16_t + minutes + structtoml_1_1time__offset.html + a2f4cd0259300e318defc0c5efde592dd + + + + constexpr friend bool + operator== + structtoml_1_1time__offset.html + ad9423ee067d0a4c0ba39deb2679a07f6 + (time_offset lhs, time_offset rhs) noexcept + + + constexpr friend bool + operator!= + structtoml_1_1time__offset.html + a77e5bb056ffcd6a91b1740333f23b806 + (time_offset lhs, time_offset rhs) noexcept + + + constexpr friend bool + operator< + structtoml_1_1time__offset.html + afe1582662b6922546524d14c1588cf9d + (time_offset lhs, time_offset rhs) noexcept + + + constexpr friend bool + operator<= + structtoml_1_1time__offset.html + a4a0886d9ad65963a4e812576ba0c6928 + (time_offset lhs, time_offset rhs) noexcept + + + constexpr friend bool + operator> + structtoml_1_1time__offset.html + aa5270a5c11af2a9344d2c20911643429 + (time_offset lhs, time_offset rhs) noexcept + + + constexpr friend bool + operator>= + structtoml_1_1time__offset.html + a0146123daf63c677b2559aaf9bda1338 + (time_offset lhs, time_offset rhs) noexcept + + + friend std::ostream & + operator<< + structtoml_1_1time__offset.html + ac87df01b4e60bd303d75712470517451 + (std::ostream &lhs, const time_offset &rhs) + + + + toml::toml_formatter + classtoml_1_1toml__formatter.html + + + toml_formatter + classtoml_1_1toml__formatter.html + a8110aaa1057d7633428f6795ac14983a + (const toml::node &source, format_flags flags=default_flags) noexcept + + + + toml_formatter + classtoml_1_1toml__formatter.html + a3af0ca99139edbd30845a5cd7d2c0137 + (const toml::parse_result &result, format_flags flags=default_flags) noexcept + + + static constexpr format_flags + default_flags + classtoml_1_1toml__formatter.html + a0aa00006896f1b23e8bb2ec1a6842845 + + + + friend std::ostream & + operator<< + classtoml_1_1toml__formatter.html + a50815f484095776407f34b1694bbf73e + (std::ostream &lhs, toml_formatter &rhs) + + + friend std::ostream & + operator<< + classtoml_1_1toml__formatter.html + af02b5eabe1e84be843255c7cf02e8dda + (std::ostream &lhs, toml_formatter &&rhs) + + + + toml::value + classtoml_1_1value.html + + toml::node + + ValueType + value_type + classtoml_1_1value.html + ad87b8c7ec465c424b861aba2d4cd5526 + + + + POXY_IMPLEMENTATION_DETAIL_IMPL + value_arg + classtoml_1_1value.html + ac1316850f0671bab2505d126570e3660 + + + + + value + classtoml_1_1value.html + addb06e973867c52b1ea77efae1c6ad10 + (Args &&... args) noexcept(noexcept(value_type(impl::native_value_maker< value_type, std::decay_t< Args >... >::make(static_cast< Args && >(args)...)))) + + + + value + classtoml_1_1value.html + a62ace5d37c6cf09fdc589efa5e0a0905 + (const value &other) noexcept + + + + value + classtoml_1_1value.html + a65e6e8fa27455d83ad3ada020e11cf91 + (const value &other, value_flags flags) noexcept + + + + value + classtoml_1_1value.html + adfb0250a9769fea9d585609db77bc64a + (value &&other) noexcept + + + + value + classtoml_1_1value.html + a5f6f5a83b2dc3f5842f7fd5fbc0e4f59 + (value &&other, value_flags flags) noexcept + + + value & + operator= + classtoml_1_1value.html + a339731a8213b5e0993b5547067fde1f7 + (const value &rhs) noexcept + + + value & + operator= + classtoml_1_1value.html + a958da7aae3ff90094e348ebceaa4aa5d + (value &&rhs) noexcept + + + value & + operator= + classtoml_1_1value.html + a08950deffd1a5568154d58d27517c973 + (value_arg rhs) noexcept + + + node_type + type + classtoml_1_1value.html + a69ed0d45e2de5929fea3375cd68960eb + () const noexcept final + + + bool + is_homogeneous + classtoml_1_1value.html + a66f31db0fe4aa1a65fff1ce3bb8be1eb + (node_type ntype) const noexcept final + + + bool + is_homogeneous + classtoml_1_1value.html + a5097925569d4e2f581907dc692aefe02 + (node_type ntype, node *&first_nonmatch) noexcept final + + + bool + is_homogeneous + classtoml_1_1value.html + a40d4ea2ff0d393245fc31dfc6a0f27fb + (node_type ntype, const node *&first_nonmatch) const noexcept final + + + bool + is_table + classtoml_1_1value.html + a4169ed284f3a6d31e838f117dc2f3df0 + () const noexcept final + + + bool + is_array + classtoml_1_1value.html + a160b4dd33afd4d8c02b1a4c7bc48f17f + () const noexcept final + + + bool + is_array_of_tables + classtoml_1_1value.html + a6676776ebf94891825c658432252cab0 + () const noexcept final + + + bool + is_value + classtoml_1_1value.html + a5d1d988a74ab5c6e6cae9706891083f3 + () const noexcept final + + + bool + is_string + classtoml_1_1value.html + a98d477b7ee151d7fc68c49ea7c52a314 + () const noexcept final + + + bool + is_integer + classtoml_1_1value.html + ad5b1844c180a0fb2de06ed4cdbb259a4 + () const noexcept final + + + bool + is_floating_point + classtoml_1_1value.html + aa5b3aac577c60b24f31550f8b7add69f + () const noexcept final + + + bool + is_number + classtoml_1_1value.html + ad40ad64d9a8f0256e550a9226dbed121 + () const noexcept final + + + bool + is_boolean + classtoml_1_1value.html + a6816cd2fbae35e21990d3d5616da595a + () const noexcept final + + + bool + is_date + classtoml_1_1value.html + a47ebc97c4b51999c81eb053d453ac916 + () const noexcept final + + + bool + is_time + classtoml_1_1value.html + a9a1a2e0a15181c6677d14a2812e34878 + () const noexcept final + + + bool + is_date_time + classtoml_1_1value.html + a1e8fb6a37f65fff99a631ade34ab6db4 + () const noexcept final + + + table * + as_table + classtoml_1_1value.html + a684976e4e2ea671e7bd21c39a4f73575 + () noexcept final + + + array * + as_array + classtoml_1_1value.html + a5e2f5338ace567ec7bc755885b793c01 + () noexcept final + + + value< std::string > * + as_string + classtoml_1_1value.html + a9a7177395eb559e2ed2c117832dace2a + () noexcept final + + + value< int64_t > * + as_integer + classtoml_1_1value.html + a170f66cced91fc2886c22df7d45f8f73 + () noexcept final + + + value< double > * + as_floating_point + classtoml_1_1value.html + ab95947fa235b163c138d925425035059 + () noexcept final + + + value< bool > * + as_boolean + classtoml_1_1value.html + ab06706bf668f496a6d24d6891b34b464 + () noexcept final + + + value< date > * + as_date + classtoml_1_1value.html + afd03f397e42e97c8c3e045c4b19b609e + () noexcept final + + + value< time > * + as_time + classtoml_1_1value.html + a4314057128266b74095454cca743a27d + () noexcept final + + + value< date_time > * + as_date_time + classtoml_1_1value.html + a49cf272fa0f71b73938df7ddffcc8b1c + () noexcept final + + + const table * + as_table + classtoml_1_1value.html + a8b5c3b02c365287e9b563dbe11c7172c + () const noexcept final + + + const array * + as_array + classtoml_1_1value.html + a5d7017fd9eec74756496960956a92d6a + () const noexcept final + + + const value< std::string > * + as_string + classtoml_1_1value.html + a316fa5b1b2764447c8d51c38071f79c1 + () const noexcept final + + + const value< int64_t > * + as_integer + classtoml_1_1value.html + aac0acf026dfb903349ce49321153f55d + () const noexcept final + + + const value< double > * + as_floating_point + classtoml_1_1value.html + af2a3d05b2ef1ff57291d3d4c660b86d6 + () const noexcept final + + + const value< bool > * + as_boolean + classtoml_1_1value.html + a3a81671d39b75363ba7c2b3fd6b7644a + () const noexcept final + + + const value< date > * + as_date + classtoml_1_1value.html + a40247e128f2ffdb5386ee41b2a84b52d + () const noexcept final + + + const value< time > * + as_time + classtoml_1_1value.html + a725874485bb19ade041deb8869bff6d5 + () const noexcept final + + + const value< date_time > * + as_date_time + classtoml_1_1value.html + ad297cd1ba10960e125e5a0c75ea51ff4 + () const noexcept final + + + value_type & + get + classtoml_1_1value.html + af607a8347e5918b35fcfb11e8f7d4398 + () &noexcept + + + value_type && + get + classtoml_1_1value.html + a0b4ea781b83a3c164df24129d0e73341 + () &&noexcept + + + const value_type & + get + classtoml_1_1value.html + a3a0ec9ea9604d68ba9a9a4692868f8d8 + () const &noexcept + + + const value_type && + get + classtoml_1_1value.html + ae3bb95e7af4622ded16328b827a6089d + () const &&noexcept + + + value_type & + operator* + classtoml_1_1value.html + a054c1fb796a4e560d4afb27019bb1aef + () &noexcept + + + value_type && + operator* + classtoml_1_1value.html + a64ad94a1086eedde1a94f12f020498d2 + () &&noexcept + + + const value_type & + operator* + classtoml_1_1value.html + a15e56286d17f11a4d567eaddb36368f8 + () const &noexcept + + + const value_type && + operator* + classtoml_1_1value.html + a752f50ec7dac91b579e48db6a15f388e + () const &&noexcept + + + + operator value_type & + classtoml_1_1value.html + adaf04b51fea2bdc3da39fbf63c240b3b + () &noexcept + + + + operator value_type && + classtoml_1_1value.html + ad5d4a1c818d7004bc4c42219edf84dd9 + () &&noexcept + + + + operator const value_type & + classtoml_1_1value.html + aeaa7f385c753bc7f11f0758d8ae325b6 + () const &noexcept + + + + operator const value_type && + classtoml_1_1value.html + aef9bb783e7c8ba475838742b7cfc3178 + () &&noexcept + + + value_type * + operator-> + classtoml_1_1value.html + a79983137e697848cb82a95b265b03d4d + () noexcept + + + const value_type * + operator-> + classtoml_1_1value.html + a23ab1c59bf4ec4bc19b6fa3fcf399171 + () const noexcept + + + value_flags + flags + classtoml_1_1value.html + a1a213908a7297491a07e647967897fcb + () const noexcept + + + value & + flags + classtoml_1_1value.html + a4311828058d75bfaa2c01c3395d09385 + (value_flags new_flags) noexcept + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + aef68f74119416a0a6d0a62f0f7d8d4ea + (const toml::path &path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + afbd39cca3959da4a1d8e1d220b6abe83 + (const toml::path &path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + node_view< node > + operator[] + classtoml_1_1node.html + a8c3214e47f056a3a9bcdb66edd7fa97f + (const toml::path &path) noexcept + + + node_view< const node > + operator[] + classtoml_1_1node.html + a2276f2cac96c095b4e4645ca5bebe0f9 + (const toml::path &path) const noexcept + + + friend std::ostream & + operator<< + classtoml_1_1value.html + ae160ab8204a4ed57dac2ad6c5aebb683 + (std::ostream &lhs, const value &rhs) + + + friend bool + operator== + classtoml_1_1value.html + a0b90e4f85ecaf2c81e4ba8b42aa5ce34 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a1771aa33bd2d425b542d0b9d0e90866d + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a6bbe09942bd6046fa94addb911940491 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + a7d02565c608c663afc8f3d2102639740 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + a2f37f69d3e477c0c2e2ba16f6919815e + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + ace8c00e345c69ee93e5d2bd2df694340 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + af200f2be4273ed0923743f4b918f86e6 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a80417b5055072f20d3a6985d1b78af21 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a727e2acd21edf04a144918d174706ba6 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator== + classtoml_1_1value.html + a2fa446100047d052d0cca2c1f3f60085 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1value.html + a872e565adfbcd201f2ab1e3103699758 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a7fdc4f87f9ec3efb896cc3e09694328b + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + ac6af15f59d537d95d1afe887b12b697e + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + ab95d07a7f48e44baefbacbf5f6072837 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a0ebdea821d98546de4b686f450506637 + (const value &lhs, const value< T > &rhs) noexcept + + + node_type + type + classtoml_1_1value.html + a69ed0d45e2de5929fea3375cd68960eb + () const noexcept final + + + bool + is_homogeneous + classtoml_1_1value.html + a66f31db0fe4aa1a65fff1ce3bb8be1eb + (node_type ntype) const noexcept final + + + bool + is_homogeneous + classtoml_1_1value.html + a5097925569d4e2f581907dc692aefe02 + (node_type ntype, node *&first_nonmatch) noexcept final + + + bool + is_homogeneous + classtoml_1_1value.html + a40d4ea2ff0d393245fc31dfc6a0f27fb + (node_type ntype, const node *&first_nonmatch) const noexcept final + + + bool + is_table + classtoml_1_1value.html + a4169ed284f3a6d31e838f117dc2f3df0 + () const noexcept final + + + bool + is_array + classtoml_1_1value.html + a160b4dd33afd4d8c02b1a4c7bc48f17f + () const noexcept final + + + bool + is_array_of_tables + classtoml_1_1value.html + a6676776ebf94891825c658432252cab0 + () const noexcept final + + + bool + is_value + classtoml_1_1value.html + a5d1d988a74ab5c6e6cae9706891083f3 + () const noexcept final + + + bool + is_string + classtoml_1_1value.html + a98d477b7ee151d7fc68c49ea7c52a314 + () const noexcept final + + + bool + is_integer + classtoml_1_1value.html + ad5b1844c180a0fb2de06ed4cdbb259a4 + () const noexcept final + + + bool + is_floating_point + classtoml_1_1value.html + aa5b3aac577c60b24f31550f8b7add69f + () const noexcept final + + + bool + is_number + classtoml_1_1value.html + ad40ad64d9a8f0256e550a9226dbed121 + () const noexcept final + + + bool + is_boolean + classtoml_1_1value.html + a6816cd2fbae35e21990d3d5616da595a + () const noexcept final + + + bool + is_date + classtoml_1_1value.html + a47ebc97c4b51999c81eb053d453ac916 + () const noexcept final + + + bool + is_time + classtoml_1_1value.html + a9a1a2e0a15181c6677d14a2812e34878 + () const noexcept final + + + bool + is_date_time + classtoml_1_1value.html + a1e8fb6a37f65fff99a631ade34ab6db4 + () const noexcept final + + + table * + as_table + classtoml_1_1value.html + a684976e4e2ea671e7bd21c39a4f73575 + () noexcept final + + + array * + as_array + classtoml_1_1value.html + a5e2f5338ace567ec7bc755885b793c01 + () noexcept final + + + value< std::string > * + as_string + classtoml_1_1value.html + a9a7177395eb559e2ed2c117832dace2a + () noexcept final + + + value< int64_t > * + as_integer + classtoml_1_1value.html + a170f66cced91fc2886c22df7d45f8f73 + () noexcept final + + + value< double > * + as_floating_point + classtoml_1_1value.html + ab95947fa235b163c138d925425035059 + () noexcept final + + + value< bool > * + as_boolean + classtoml_1_1value.html + ab06706bf668f496a6d24d6891b34b464 + () noexcept final + + + value< date > * + as_date + classtoml_1_1value.html + afd03f397e42e97c8c3e045c4b19b609e + () noexcept final + + + value< time > * + as_time + classtoml_1_1value.html + a4314057128266b74095454cca743a27d + () noexcept final + + + value< date_time > * + as_date_time + classtoml_1_1value.html + a49cf272fa0f71b73938df7ddffcc8b1c + () noexcept final + + + const table * + as_table + classtoml_1_1value.html + a8b5c3b02c365287e9b563dbe11c7172c + () const noexcept final + + + const array * + as_array + classtoml_1_1value.html + a5d7017fd9eec74756496960956a92d6a + () const noexcept final + + + const value< std::string > * + as_string + classtoml_1_1value.html + a316fa5b1b2764447c8d51c38071f79c1 + () const noexcept final + + + const value< int64_t > * + as_integer + classtoml_1_1value.html + aac0acf026dfb903349ce49321153f55d + () const noexcept final + + + const value< double > * + as_floating_point + classtoml_1_1value.html + af2a3d05b2ef1ff57291d3d4c660b86d6 + () const noexcept final + + + const value< bool > * + as_boolean + classtoml_1_1value.html + a3a81671d39b75363ba7c2b3fd6b7644a + () const noexcept final + + + const value< date > * + as_date + classtoml_1_1value.html + a40247e128f2ffdb5386ee41b2a84b52d + () const noexcept final + + + const value< time > * + as_time + classtoml_1_1value.html + a725874485bb19ade041deb8869bff6d5 + () const noexcept final + + + const value< date_time > * + as_date_time + classtoml_1_1value.html + ad297cd1ba10960e125e5a0c75ea51ff4 + () const noexcept final + + + value_type & + get + classtoml_1_1value.html + af607a8347e5918b35fcfb11e8f7d4398 + () &noexcept + + + value_type && + get + classtoml_1_1value.html + a0b4ea781b83a3c164df24129d0e73341 + () &&noexcept + + + const value_type & + get + classtoml_1_1value.html + a3a0ec9ea9604d68ba9a9a4692868f8d8 + () const &noexcept + + + const value_type && + get + classtoml_1_1value.html + ae3bb95e7af4622ded16328b827a6089d + () const &&noexcept + + + value_type & + operator* + classtoml_1_1value.html + a054c1fb796a4e560d4afb27019bb1aef + () &noexcept + + + value_type && + operator* + classtoml_1_1value.html + a64ad94a1086eedde1a94f12f020498d2 + () &&noexcept + + + const value_type & + operator* + classtoml_1_1value.html + a15e56286d17f11a4d567eaddb36368f8 + () const &noexcept + + + const value_type && + operator* + classtoml_1_1value.html + a752f50ec7dac91b579e48db6a15f388e + () const &&noexcept + + + + operator value_type & + classtoml_1_1value.html + adaf04b51fea2bdc3da39fbf63c240b3b + () &noexcept + + + + operator value_type && + classtoml_1_1value.html + ad5d4a1c818d7004bc4c42219edf84dd9 + () &&noexcept + + + + operator const value_type & + classtoml_1_1value.html + aeaa7f385c753bc7f11f0758d8ae325b6 + () const &noexcept + + + + operator const value_type && + classtoml_1_1value.html + aef9bb783e7c8ba475838742b7cfc3178 + () &&noexcept + + + value_type * + operator-> + classtoml_1_1value.html + a79983137e697848cb82a95b265b03d4d + () noexcept + + + const value_type * + operator-> + classtoml_1_1value.html + a23ab1c59bf4ec4bc19b6fa3fcf399171 + () const noexcept + + + value_flags + flags + classtoml_1_1value.html + a1a213908a7297491a07e647967897fcb + () const noexcept + + + value & + flags + classtoml_1_1value.html + a4311828058d75bfaa2c01c3395d09385 + (value_flags new_flags) noexcept + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + aef68f74119416a0a6d0a62f0f7d8d4ea + (const toml::path &path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + afbd39cca3959da4a1d8e1d220b6abe83 + (const toml::path &path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + node_view< node > + operator[] + classtoml_1_1node.html + a8c3214e47f056a3a9bcdb66edd7fa97f + (const toml::path &path) noexcept + + + node_view< const node > + operator[] + classtoml_1_1node.html + a2276f2cac96c095b4e4645ca5bebe0f9 + (const toml::path &path) const noexcept + + + friend bool + operator== + classtoml_1_1value.html + a0b90e4f85ecaf2c81e4ba8b42aa5ce34 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a1771aa33bd2d425b542d0b9d0e90866d + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a6bbe09942bd6046fa94addb911940491 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + a7d02565c608c663afc8f3d2102639740 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + a2f37f69d3e477c0c2e2ba16f6919815e + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + ace8c00e345c69ee93e5d2bd2df694340 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + af200f2be4273ed0923743f4b918f86e6 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a80417b5055072f20d3a6985d1b78af21 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a727e2acd21edf04a144918d174706ba6 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator== + classtoml_1_1value.html + a2fa446100047d052d0cca2c1f3f60085 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1value.html + a872e565adfbcd201f2ab1e3103699758 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a7fdc4f87f9ec3efb896cc3e09694328b + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + ac6af15f59d537d95d1afe887b12b697e + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + ab95d07a7f48e44baefbacbf5f6072837 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a0ebdea821d98546de4b686f450506637 + (const value &lhs, const value< T > &rhs) noexcept + + + + toml::yaml_formatter + classtoml_1_1yaml__formatter.html + + + yaml_formatter + classtoml_1_1yaml__formatter.html + a0089cdd517d9f6641ed10c8ddb5b1c11 + (const toml::node &source, format_flags flags=default_flags) noexcept + + + + yaml_formatter + classtoml_1_1yaml__formatter.html + a2eb50c4983f7ec26a417befeface23bf + (const toml::parse_result &result, format_flags flags=default_flags) noexcept + + + static constexpr format_flags + default_flags + classtoml_1_1yaml__formatter.html + af161f0a6c794945e85b210ee85cb78e9 + + + + friend std::ostream & + operator<< + classtoml_1_1yaml__formatter.html + a10b0c89256eb2ab4ea2b4e23f8ad8eff + (std::ostream &lhs, yaml_formatter &rhs) + + + friend std::ostream & + operator<< + classtoml_1_1yaml__formatter.html + a50d463617bccb66a9cdf01390321bd47 + (std::ostream &lhs, yaml_formatter &&rhs) + + + + toml + namespacetoml.html + toml::literals + toml::array + toml::date + toml::time + toml::time_offset + toml::date_time + toml::inserter + toml::json_formatter + toml::key + toml::node + toml::node_view + toml::parse_error + toml::parse_result + toml::path_component + toml::path + toml::source_position + toml::source_region + toml::table + toml::toml_formatter + toml::value + toml::yaml_formatter + + POXY_IMPLEMENTATION_DETAIL_IMPL + array_iterator + namespacetoml.html + ac7e383cde1b8d61dba45292b2b0fcb69 + + + + POXY_IMPLEMENTATION_DETAIL_IMPL + const_array_iterator + namespacetoml.html + aeba9fe3a193c8b641a1fb3a2096d7c13 + + + + toml_formatter + default_formatter + namespacetoml.html + a2b87b5d257f54773683328031f453e76 + + + + POXY_IMPLEMENTATION_DETAIL_IMPL + inserted_type_of + namespacetoml.html + aef1f0bbcdd3686e268f4b81d9da701be + + + + uint32_t + source_index + namespacetoml.html + afb852fa22a8b3ea9d200d645b9d5c308 + + + + std::shared_ptr< const std::string > + source_path_ptr + namespacetoml.html + ac6cf446b480546ae1f71f5b86442368d + + + + std::optional< T > + optional + namespacetoml.html + af34a9fb3305e419784104609e6bbb7ac + + + + POXY_IMPLEMENTATION_DETAIL_IMPL + table_iterator + namespacetoml.html + a19243ec6febf1bb834ea9e366405e317 + + + + POXY_IMPLEMENTATION_DETAIL_IMPL + const_table_iterator + namespacetoml.html + a4bccd753f54404e0097457514177fcbb + + + + + node_type + namespacetoml.html + abac3e84bbf1f2c90717fca107055f48d + + none + table + array + string + integer + floating_point + boolean + date + time + date_time + + + + value_flags + namespacetoml.html + a73eba6a34e7c7c4a4d311100800e1bb5 + + none + format_as_binary + format_as_octal + format_as_hexadecimal + + + + format_flags + namespacetoml.html + a2102aa80bc57783d96180f36e1f64f6a + + none + quote_dates_and_times + quote_infinities_and_nans + allow_literal_strings + allow_multi_line_strings + allow_real_tabs_in_strings + allow_unicode_strings + allow_binary_integers + allow_octal_integers + allow_hexadecimal_integers + indent_sub_tables + indent_array_elements + indentation + relaxed_float_precision + terse_key_value_pairs + + + + path_component_type + namespacetoml.html + a05daf3902d4363b06fb467a3292c0bc5 + + key + array_index + + + node_view< node > + at_path + namespacetoml.html + a034ab5f50d46f89dcaf871a788d56be9 + (node &root, std::string_view path) noexcept + + + node_view< const node > + at_path + namespacetoml.html + acecea9874ff621405e1c3f38433ba56d + (const node &root, std::string_view path) noexcept + + + node_view< node > + at_path + namespacetoml.html + a6355193bb51dc19b1f1509c6dac46b23 + (node &root, std::wstring_view path) + + + node_view< const node > + at_path + namespacetoml.html + aef2c5186913edbd8daf4a3d525fa5333 + (const node &root, std::wstring_view path) + + + std::basic_ostream< Char > & + operator<< + namespacetoml.html + aba6195d5e83ab18f30c9a211384e2c1a + (std::basic_ostream< Char > &lhs, node_type rhs) + + + parse_result + parse + namespacetoml.html + ada8654fb4ceef15c20fc1d5e0cc734dd + (std::string_view doc, std::string_view source_path={}) + + + parse_result + parse + namespacetoml.html + a20fa3e08d72759083fb17c772a357043 + (std::string_view doc, std::string &&source_path) + + + parse_result + parse_file + namespacetoml.html + a8dbc58dad43c3b66f4476a7131f5741a + (std::string_view file_path) + + + parse_result + parse + namespacetoml.html + ae9ee4300ddfbd72b7237283ab8d97618 + (std::u8string_view doc, std::string_view source_path={}) + + + parse_result + parse + namespacetoml.html + a02a2724564149ad8439c0457357308b8 + (std::u8string_view doc, std::string &&source_path) + + + parse_result + parse_file + namespacetoml.html + acdbabd4b771d221fe98b0053d848d69d + (std::u8string_view file_path) + + + parse_result + parse + namespacetoml.html + a01565f26a7982d162949bac3b554a334 + (std::string_view doc, std::wstring_view source_path) + + + parse_result + parse + namespacetoml.html + ac7767943620762c22b6341dc6682cc2d + (std::istream &doc, std::wstring_view source_path) + + + parse_result + parse_file + namespacetoml.html + ad425af491341206589ca6acc37c3b19e + (std::wstring_view file_path) + + + parse_result + parse + namespacetoml.html + a38852451309f406db281f17334ea8dfe + (std::u8string_view doc, std::wstring_view source_path) + + + parse_result + parse + namespacetoml.html + a2ee84ffccded737ab40afcb8122d8277 + (std::istream &doc, std::string_view source_path={}) + + + parse_result + parse + namespacetoml.html + a8079e71bd86722701ca91828c6709305 + (std::istream &doc, std::string &&source_path) + + + node_view< node > + at_path + namespacetoml.html + a5a5b291fdf3ecb9ad8bef4d6e689c402 + (node &root, const toml::path &path) noexcept + + + node_view< const node > + at_path + namespacetoml.html + aaf452c3c4696e20eeabd11669db66a9e + (const node &root, const toml::path &path) noexcept + + + constexpr value_flags + preserve_source_value_flags + namespacetoml.html + a32f700b152e15c357801e905d626a4fb + + + + constexpr bool + is_table + namespacetoml.html + ad11c8c8a8286d6931e40658679aa7ddb + + + + constexpr bool + is_array + namespacetoml.html + a2251b703f3ec4d1a3036c82ead3d69cc + + + + constexpr bool + is_container + namespacetoml.html + ad6c6e1677e1cc564d40efa89af2514a2 + + + + constexpr bool + is_string + namespacetoml.html + aea14621807afe92a840d82c7139cde07 + + + + constexpr bool + is_integer + namespacetoml.html + a513bdc4a19071f0be70e92bb6cb1a1a3 + + + + constexpr bool + is_floating_point + namespacetoml.html + a1aaaa0e264cdd4f43518571f2f61ac36 + + + + constexpr bool + is_number + namespacetoml.html + a64ce7ed6974d2b17823565bc67c40873 + + + + constexpr bool + is_boolean + namespacetoml.html + a8e79820651cc9a835082cf9abd47d885 + + + + constexpr bool + is_date + namespacetoml.html + a3c5daa4563e3aff2b5e6460aa97d28df + + + + constexpr bool + is_time + namespacetoml.html + a87aee32768a32bb838150421e4e3cf97 + + + + constexpr bool + is_date_time + namespacetoml.html + a3285caf012789a607851026f9827a33d + + + + constexpr bool + is_chronological + namespacetoml.html + a7f8764060ca7dccb7e829f67d82c0485 + + + + constexpr bool + is_value + namespacetoml.html + a0d9cd265e448130b95305ccd68d2f508 + + + + constexpr bool + is_node + namespacetoml.html + a4e4126f63ba560963de095cd9bee0704 + + + + constexpr bool + is_node_view + namespacetoml.html + ab5b06dac8c1e0de9e06411917e10b618 + + + + constexpr bool + is_key + namespacetoml.html + a7b8ef907d9629d139a30d874b345b195 + + + + constexpr bool + is_key_or_convertible + namespacetoml.html + a052fafde71907ef3a8590ef7ec2455d8 + + + + + toml::literals + namespacetoml_1_1literals.html + + parse_result + operator""_toml + namespacetoml_1_1literals.html + a401530e560c2dc540729af01e10b2a74 + (const char *str, size_t len) + + + parse_result + operator""_toml + namespacetoml_1_1literals.html + abb2307d66538d0d43dd074040f83224c + (const char8_t *str, size_t len) + + + path + operator""_tpath + namespacetoml_1_1literals.html + ad406c84d960dd5bda91564f738f67d47 + (const char *str, size_t len) + + + + configuration + Library Configuration + group__configuration.html + + #define + TOML_CONFIG_HEADER + group__configuration.html + ga09204feb4a3ff5534623c2bd052dcec0 + + + + #define + TOML_HEADER_ONLY + group__configuration.html + ga8219bfd7e75587516385b6022b28abc2 + + + + #define + TOML_HEADER_ONLY + group__configuration.html + ga8219bfd7e75587516385b6022b28abc2 + + + + #define + TOML_IMPLEMENTATION + group__configuration.html + ga27ee69835a1ddff9dbaf3015b4b08a11 + + + + #define + TOML_EXPORTED_CLASS + group__configuration.html + ga3d7aebf91431575688d573f09a17559a + + + + #define + TOML_EXPORTED_MEMBER_FUNCTION + group__configuration.html + gadf515bb7a6b8ce6b14bf86c8961a63cb + + + + #define + TOML_EXPORTED_STATIC_FUNCTION + group__configuration.html + ga8436c6f378c73f3446a3b6f1e2c5e81c + + + + #define + TOML_EXPORTED_FREE_FUNCTION + group__configuration.html + gac40a454cde06de4e76df3d6d460a3544 + + + + #define + TOML_ENABLE_UNRELEASED_FEATURES + group__configuration.html + ga1110ff7d189a7738b9109d120f568b6b + + + + #define + TOML_ENABLE_PARSER + group__configuration.html + ga121912d75d4624de6ab6854e41d8a852 + + + + #define + TOML_ENABLE_FORMATTERS + group__configuration.html + ga9fc77582d9de77f59d2ddc9ae1f748ca + + + + #define + TOML_ENABLE_WINDOWS_COMPAT + group__configuration.html + ga94867db67c98e0e9d4fbb70690951fbf + + + + #define + TOML_OPTIONAL_TYPE + group__configuration.html + ga9c2c03f867eb6d76a5f65b06eeb1186e + + + + #define + TOML_EXCEPTIONS + group__configuration.html + ga93097ecd88ca4bca393f60a78bda643b + + + + #define + TOML_CALLCONV + group__configuration.html + ga2bfc7ae4747f15378d92249aadce019e + + + + #define + TOML_SMALL_FLOAT_TYPE + group__configuration.html + ga11a3368da40938a6b5cfd898320706f7 + + + + #define + TOML_ASSERT + group__configuration.html + ga8c407a8f6fe52a795db35be3f00393f8 + (expr) + + + #define + TOML_SMALL_INT_TYPE + group__configuration.html + ga0722fa2c57da6360c7f2ba08c60e1a81 + + + + #define + TOML_ENABLE_FLOAT16 + group__configuration.html + ga56ab81041897681ac38ceba52a380b97 + + + + + poxy_changelog + Changelog + poxy_changelog.html + + + index + toml++ + index.html + mainpage-features + mainpage-api-documentation + mainpage-example + mainpage-example-parsing-files + mainpage-example-parsing-strings + mainpage-example-parsing-without-exceptions + mainpage-example-custom-error-formatting + mainpage-example-manipulations + mainpage-example-serialization + mainpage-example-speed-up-compilation + mainpage-adding-lib + mainpage-adding-lib-old-school + mainpage-adding-lib-conan + mainpage-adding-lib-dds + mainpage-adding-lib-meson + mainpage-adding-lib-tipi + mainpage-adding-lib-vcpkg + mainpage-adding-lib-cmake-fetch-content + mainpage-adding-lib-git-submodules + mainpage-adding-lib-other + mainpage-adding-lib-python + mainpage-configuration + mainpage-contributing + mainpage-license + mainpage-contact + + diff --git a/v3.4.0/annotated.html b/v3.4.0/annotated.html new file mode 100644 index 00000000..147d73aa --- /dev/null +++ b/v3.4.0/annotated.html @@ -0,0 +1,166 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Classes

                                                                                                                              +
                                                                                                                                +
                                                                                                                              • + namespace toml The root namespace for all toml++ functions and types. +
                                                                                                                                  +
                                                                                                                                • class array A TOML array.
                                                                                                                                • +
                                                                                                                                • struct date A local date.
                                                                                                                                • +
                                                                                                                                • struct date_time A date-time.
                                                                                                                                • +
                                                                                                                                • struct inserter Helper class for suppressing move-construction in single-argument array constructors.
                                                                                                                                • +
                                                                                                                                • class json_formatter A wrapper for printing TOML objects out to a stream as formatted JSON.
                                                                                                                                • +
                                                                                                                                • class key A key parsed from a TOML document.
                                                                                                                                • +
                                                                                                                                • class node A TOML node.
                                                                                                                                • +
                                                                                                                                • class node_view A view of a node.
                                                                                                                                • +
                                                                                                                                • class parse_error An error generated when parsing fails.
                                                                                                                                • +
                                                                                                                                • class parse_result The result of a parsing operation.
                                                                                                                                • +
                                                                                                                                • class path A TOML path.
                                                                                                                                • +
                                                                                                                                • class path_component Represents a single component of a complete 'TOML-path': either a key or an array index.
                                                                                                                                • +
                                                                                                                                • struct source_position A source document line-and-column pair.
                                                                                                                                • +
                                                                                                                                • struct source_region A source document region.
                                                                                                                                • +
                                                                                                                                • class table A TOML table.
                                                                                                                                • +
                                                                                                                                • struct time A local time-of-day.
                                                                                                                                • +
                                                                                                                                • struct time_offset A timezone offset.
                                                                                                                                • +
                                                                                                                                • class toml_formatter A wrapper for printing TOML objects out to a stream as formatted TOML.
                                                                                                                                • +
                                                                                                                                • class value A TOML value.
                                                                                                                                • +
                                                                                                                                • class yaml_formatter A wrapper for printing TOML objects out to a stream as formatted YAML.
                                                                                                                                • +
                                                                                                                                +
                                                                                                                              • +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.4.0/badge-TOML.svg b/v3.4.0/badge-TOML.svg new file mode 100644 index 00000000..01db3c41 --- /dev/null +++ b/v3.4.0/badge-TOML.svg @@ -0,0 +1 @@ +TOML: v1.0.0TOMLv1.0.0 \ No newline at end of file diff --git a/v3.4.0/badge-awesome.svg b/v3.4.0/badge-awesome.svg new file mode 100644 index 00000000..5d9da969 --- /dev/null +++ b/v3.4.0/badge-awesome.svg @@ -0,0 +1 @@ +Mentioned in an Awesome list diff --git a/v3.4.0/badge-gitter.svg b/v3.4.0/badge-gitter.svg new file mode 100644 index 00000000..08a42236 --- /dev/null +++ b/v3.4.0/badge-gitter.svg @@ -0,0 +1 @@ +chat: on gitterchaton gitter \ No newline at end of file diff --git a/v3.4.0/banner.svg b/v3.4.0/banner.svg new file mode 100644 index 00000000..b12d4d11 --- /dev/null +++ b/v3.4.0/banner.svg @@ -0,0 +1 @@ +banner diff --git a/v3.4.0/classtoml_1_1array.html b/v3.4.0/classtoml_1_1array.html new file mode 100644 index 00000000..92a424ea --- /dev/null +++ b/v3.4.0/classtoml_1_1array.html @@ -0,0 +1,1764 @@ + + + + toml::array class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::array class +

                                                                                                                              +

                                                                                                                              A TOML array.

                                                                                                                              + +

                                                                                                                              The interface of this type is modeled after std::vector, with some additional considerations made for the heterogeneous nature of a TOML array.

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              toml::table tbl = toml::parse(R"( + arr = [1, 2, 3, 4, 'five'] +)"sv); + +// get the element as an array +toml::array& arr = *tbl.get_as<toml::array>("arr"); +std::cout << arr << "\n"; + +// increment each element with visit() +for (auto&& elem : arr) +{ + elem.visit([](auto&& el) noexcept + { + if constexpr (toml::is_number<decltype(el)>) + (*el)++; + else if constexpr (toml::is_string<decltype(el)>) + el = "six"sv; + }); +} +std::cout << arr << "\n"; + +// add and remove elements +arr.push_back(7); +arr.push_back(8.0f); +arr.push_back("nine"sv); +arr.erase(arr.cbegin()); +std::cout << arr << "\n"; + +// emplace elements +arr.emplace_back("ten"); +arr.emplace_back<toml::array>(11, 12.0); +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3, 4, 'five' ]
                                                                                                                              +[ 2, 3, 4, 5, 'six' ]
                                                                                                                              +[ 3, 4, 5, 'six', 7, 8.0, 'nine' ]
                                                                                                                              +[ 3, 4, 5, 'six', 7, 8.0, 'nine', 'ten', [ 11, 12.0 ] ]
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Base classes

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + class node +
                                                                                                                              +
                                                                                                                              A TOML node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + array() noexcept +
                                                                                                                              +
                                                                                                                              Default constructor.
                                                                                                                              +
                                                                                                                              + array(const array&) +
                                                                                                                              +
                                                                                                                              Copy constructor.
                                                                                                                              +
                                                                                                                              + array(array&& other) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType, typename... ElemTypes>
                                                                                                                              + array(ElemType&& val, + ElemTypes && ... vals) explicit +
                                                                                                                              +
                                                                                                                              Constructs an array with one or more initial elements.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator=(const array&) -> array& +
                                                                                                                              +
                                                                                                                              Copy-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(array&& rhs) -> array& noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const array& lhs, + const array& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const array& lhs, + const array& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const array& lhs, + const std::initializer_list<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Initializer list equality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const array& lhs, + const std::vector<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Vector equality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Erasure

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + void clear() noexcept +
                                                                                                                              +
                                                                                                                              Removes all elements from the array.
                                                                                                                              +
                                                                                                                              + auto erase(const_iterator pos) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Removes the specified element from the array.
                                                                                                                              +
                                                                                                                              + auto erase(const_iterator first, + const_iterator last) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Removes the elements in the range [first, last) from the array.
                                                                                                                              +
                                                                                                                              + auto flatten() & -> array& +
                                                                                                                              +
                                                                                                                              Flattens this array, recursively hoisting the contents of child arrays up into itself.
                                                                                                                              +
                                                                                                                              + auto flatten() && -> array&& +
                                                                                                                              +
                                                                                                                              Flattens this array, recursively hoisting the contents of child arrays up into itself (rvalue overload).
                                                                                                                              +
                                                                                                                              + void pop_back() noexcept +
                                                                                                                              +
                                                                                                                              Removes the last element from the array.
                                                                                                                              +
                                                                                                                              + auto prune(bool recursive = true) & -> array& noexcept +
                                                                                                                              +
                                                                                                                              Removes empty child arrays and tables.
                                                                                                                              +
                                                                                                                              + auto prune(bool recursive = true) && -> array&& noexcept +
                                                                                                                              +
                                                                                                                              Removes empty child arrays and tables (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Insertion and Emplacement

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType = void, typename... Args>
                                                                                                                              + auto emplace(const_iterator pos, + Args && ... args) -> iterator +
                                                                                                                              +
                                                                                                                              Emplaces a new element at a specific position in the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType = void, typename... Args>
                                                                                                                              + auto emplace_back(Args && ... args) -> decltype(auto) +
                                                                                                                              +
                                                                                                                              Emplaces a new element at the end of the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto insert(const_iterator pos, + ElemType&& val, + value_flags flags = preserve_source_value_flags) -> iterator +
                                                                                                                              +
                                                                                                                              Inserts a new element at a specific position in the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto insert(const_iterator pos, + size_t count, + ElemType&& val, + value_flags flags = preserve_source_value_flags) -> iterator +
                                                                                                                              +
                                                                                                                              Repeatedly inserts a new element starting at a specific position in the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Iter>
                                                                                                                              + auto insert(const_iterator pos, + Iter first, + Iter last, + value_flags flags = preserve_source_value_flags) -> iterator +
                                                                                                                              +
                                                                                                                              Inserts a range of elements into the array at a specific position.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto insert(const_iterator pos, + std::initializer_list<ElemType> ilist, + value_flags flags = preserve_source_value_flags) -> iterator +
                                                                                                                              +
                                                                                                                              Inserts a range of elements into the array at a specific position.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + void push_back(ElemType&& val, + value_flags flags = preserve_source_value_flags) +
                                                                                                                              +
                                                                                                                              Appends a new element to the end of the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto replace(const_iterator pos, + ElemType&& val, + value_flags flags = preserve_source_value_flags) -> iterator +
                                                                                                                              +
                                                                                                                              Replaces the element at a specific position in the array with a different value.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Iteration

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using const_iterator = const_array_iterator +
                                                                                                                              +
                                                                                                                              A RandomAccessIterator for iterating over const elements in a toml::array.
                                                                                                                              +
                                                                                                                              + using iterator = array_iterator +
                                                                                                                              +
                                                                                                                              A RandomAccessIterator for iterating over elements in a toml::array.
                                                                                                                              +
                                                                                                                              + auto begin() -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first element.
                                                                                                                              +
                                                                                                                              + auto begin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first element.
                                                                                                                              +
                                                                                                                              + auto cbegin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first element.
                                                                                                                              +
                                                                                                                              + auto cend() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last element.
                                                                                                                              +
                                                                                                                              + auto end() -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last element.
                                                                                                                              +
                                                                                                                              + auto end() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last element.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto for_each(Func&& visitor) & -> array& noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on each element in the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto for_each(Func&& visitor) && -> array&& noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on each element in the array (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto for_each(Func&& visitor) const & -> const array& noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on each element in the array (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto for_each(Func&& visitor) const && -> const array&& noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on each element in the array (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Metadata

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the source region responsible for generating this node during parsing.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Node views

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const toml::path& path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const toml::path& path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) -> node_view<node> +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) const -> node_view<const node> +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + operator node_view<const node>() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node (const overload).
                                                                                                                              +
                                                                                                                              + operator node_view<node>() explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node.
                                                                                                                              +
                                                                                                                              + auto operator[](const toml::path& path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto operator[](const toml::path& path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Size and Capacity

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto capacity() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the current max number of elements that may be held in the array's internal storage.
                                                                                                                              +
                                                                                                                              + auto empty() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the array is empty.
                                                                                                                              +
                                                                                                                              + auto max_size() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the maximum number of elements that can be stored in an array on the current platform.
                                                                                                                              +
                                                                                                                              + void reserve(size_t new_capacity) +
                                                                                                                              +
                                                                                                                              Reserves internal storage capacity up to a pre-determined number of elements.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + void resize(size_t new_size, + ElemType&& default_init_val, + value_flags default_init_flags = preserve_source_value_flags) +
                                                                                                                              +
                                                                                                                              Resizes the array.
                                                                                                                              +
                                                                                                                              + void shrink_to_fit() +
                                                                                                                              +
                                                                                                                              Requests the removal of any unused internal storage capacity.
                                                                                                                              +
                                                                                                                              + auto size() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the number of elements in the array.
                                                                                                                              +
                                                                                                                              + void truncate(size_t new_size) +
                                                                                                                              +
                                                                                                                              Shrinks the array to the given size.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type casts

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() -> impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() const -> const impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type (const overload).
                                                                                                                              +
                                                                                                                              + auto as_array() -> array* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the array.
                                                                                                                              +
                                                                                                                              + auto as_array() const -> const array* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the array.
                                                                                                                              +
                                                                                                                              + auto as_boolean() -> toml::value<bool>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_boolean() const -> const toml::value<bool>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date() -> toml::value<date>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date() const -> const toml::value<date>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date_time() -> toml::value<date_time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date_time() const -> const toml::value<date_time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() -> toml::value<double>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() const -> const toml::value<double>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_integer() -> toml::value<int64_t>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_integer() const -> const toml::value<int64_t>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_string() -> toml::value<std::string>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_string() const -> const toml::value<std::string>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_table() -> table* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_table() const -> const table* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_time() -> toml::value<time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_time() const -> const toml::value<time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type checks

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto is() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node is a specific type.
                                                                                                                              +
                                                                                                                              + auto is_array() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true.
                                                                                                                              +
                                                                                                                              + auto is_array_of_tables() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the array contains only tables.
                                                                                                                              +
                                                                                                                              + auto is_boolean() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_date() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_date_time() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_floating_point() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype) const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + node*& first_nonmatch) -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + const node*& first_nonmatch) const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType = void>
                                                                                                                              + auto is_homogeneous() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_integer() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_number() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_string() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_table() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_time() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_value() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto type() const -> node_type final noexcept +
                                                                                                                              +
                                                                                                                              Returns toml::node_type::array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Value retrieval

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at(size_t index) -> node& +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific index, throwing std::out_of_range if none existed.
                                                                                                                              +
                                                                                                                              + auto at(size_t index) const -> const node& +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific index, throwing std::out_of_range if none existed.
                                                                                                                              +
                                                                                                                              + auto back() -> node& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the last element in the array.
                                                                                                                              +
                                                                                                                              + auto back() const -> const node& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the last element in the array.
                                                                                                                              +
                                                                                                                              + auto front() -> node& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the first element in the array.
                                                                                                                              +
                                                                                                                              + auto front() const -> const node& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the first element in the array.
                                                                                                                              +
                                                                                                                              + auto get(size_t index) -> node* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the element at a specific index.
                                                                                                                              +
                                                                                                                              + auto get(size_t index) const -> const node* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the element at a specific index (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto get_as(size_t index) -> impl::wrap_node<ElemType>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the element at a specific index if it is a particular type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType>
                                                                                                                              + auto get_as(size_t index) const -> const impl::wrap_node<ElemType>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the element at a specific index if it is a particular type (const overload).
                                                                                                                              +
                                                                                                                              + auto operator[](size_t index) -> node& noexcept +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific index.
                                                                                                                              +
                                                                                                                              + auto operator[](size_t index) const -> const node& noexcept +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific index.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_exact() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_or(T&& default_value) const -> auto noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the raw value contained by this node, or a default.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Visitation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const array& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the array out to a stream as formatted TOML.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType, typename... ElemTypes> +
                                                                                                                              + toml::array::array(ElemType&& val, + ElemTypes && ... vals) explicit +

                                                                                                                              +

                                                                                                                              Constructs an array with one or more initial elements.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypeOne of the TOML node or value types (or a type promotable to one).
                                                                                                                              ElemTypesOne of the TOML node or value types (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              valThe node or value used to initialize element 0.
                                                                                                                              valsThe nodes or values used to initialize elements 1...N.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2.0, "three"sv, toml::array{ 4, 5 } };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2.0, 'three', [ 4, 5 ] ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::array::operator!=(const array& lhs, + const array& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Inequality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS array.
                                                                                                                              rhsThe RHS array.
                                                                                                                              ReturnsTrue if the arrays did not contain the same elements.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::array::operator==(const array& lhs, + const array& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Equality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS array.
                                                                                                                              rhsThe RHS array.
                                                                                                                              ReturnsTrue if the arrays contained the same elements.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::array::erase(const_iterator pos) noexcept +

                                                                                                                              +

                                                                                                                              Removes the specified element from the array.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              posIterator to the element being erased.
                                                                                                                              ReturnsIterator to the first element immediately following the removed element.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +
                                                                                                                              +arr.erase(arr.cbegin() + 1);
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3 ]
                                                                                                                              +[ 1, 3 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::array::erase(const_iterator first, + const_iterator last) noexcept +

                                                                                                                              +

                                                                                                                              Removes the elements in the range [first, last) from the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              firstIterator to the first element being erased.
                                                                                                                              lastIterator to the one-past-the-last element being erased.
                                                                                                                              ReturnsIterator to the first element immediately following the last removed element.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, "bad", "karma" 2 };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +
                                                                                                                              +arr.erase(arr.cbegin() + 1, arr.cbegin() + 3);
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 'bad', 'karma', 3 ]
                                                                                                                              +[ 1, 3 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + array& toml::array::flatten() & +

                                                                                                                              +

                                                                                                                              Flattens this array, recursively hoisting the contents of child arrays up into itself.

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsA reference to the array.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, toml::array{ 3, 4, toml::array{ 5 } }, 6, toml::array{} };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +
                                                                                                                              +arr.flatten();
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, [ 3, 4, [ 5 ] ], 6, [] ]
                                                                                                                              +[ 1, 2, 3, 4, 5, 6 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + array& toml::array::prune(bool recursive = true) & noexcept +

                                                                                                                              +

                                                                                                                              Removes empty child arrays and tables.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              recursiveShould child arrays and tables themselves be pruned?
                                                                                                                              ReturnsA reference to the array.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, toml::array{ }, toml::array{ 3, toml::array{ } }, 4 };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +
                                                                                                                              +arr.prune(true);
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, [], [ 3, [] ], 4 ]
                                                                                                                              +[ 1, 2, [ 3 ], 4 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + array&& toml::array::prune(bool recursive = true) && noexcept +

                                                                                                                              +

                                                                                                                              Removes empty child arrays and tables (rvalue overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              recursiveShould child arrays and tables themselves be pruned?
                                                                                                                              ReturnsAn rvalue reference to the array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType = void, typename... Args> +
                                                                                                                              + iterator toml::array::emplace(const_iterator pos, + Args && ... args) +

                                                                                                                              +

                                                                                                                              Emplaces a new element at a specific position in the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::table, toml::array, or any native TOML value type.
                                                                                                                              ArgsValue constructor argument types.
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              argsArguments to forward to the value's constructor.
                                                                                                                              ReturnsAn iterator to the inserted element.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2 };
                                                                                                                              +
                                                                                                                              +//add a string using std::string's substring constructor
                                                                                                                              +arr.emplace<std::string>(arr.cbegin() + 1, "this is not a drill"sv, 14, 5);
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 'drill', 2 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType = void, typename... Args> +
                                                                                                                              + decltype(auto) toml::array::emplace_back(Args && ... args) +

                                                                                                                              +

                                                                                                                              Emplaces a new element at the end of the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::table, toml::array, or a native TOML value type
                                                                                                                              ArgsElement constructor argument types.
                                                                                                                              Parameters
                                                                                                                              argsArguments to forward to the elements's constructor.
                                                                                                                              ReturnsA reference to the newly-constructed element.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2 };
                                                                                                                              +arr.emplace_back<toml::array>(3, "four"sv);
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, [ 3, 'four' ] ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + iterator toml::array::insert(const_iterator pos, + ElemType&& val, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Inserts a new element at a specific position in the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              valThe node or value being inserted.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              ReturnsValid input: An iterator to the newly-inserted element. Input is a null toml::node_view: + end()
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 3 };
                                                                                                                              +arr.insert(arr.cbegin() + 1, "two");
                                                                                                                              +arr.insert(arr.cend(), toml::array{ 4, 5 });
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 'two', 3, [ 4, 5 ] ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + iterator toml::array::insert(const_iterator pos, + size_t count, + ElemType&& val, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Repeatedly inserts a new element starting at a specific position in the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              countThe number of times the node or value should be inserted.
                                                                                                                              valThe node or value being inserted.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              ReturnsValid input: An iterator to the newly-inserted element. count == 0: A copy of pos Input is a null toml::node_view: + end()
                                                                                                                              +
                                                                                                                              auto arr = toml::array{
                                                                                                                              +    "with an evil twinkle in its eye the goose said",
                                                                                                                              +    "and immediately we knew peace was never an option."
                                                                                                                              +};
                                                                                                                              +arr.insert(arr.cbegin() + 1, 3, "honk");
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [
                                                                                                                              +    'with an evil twinkle in its eye the goose said',
                                                                                                                              +    'honk',
                                                                                                                              +    'honk',
                                                                                                                              +    'honk',
                                                                                                                              +    'and immediately we knew peace was never an option.'
                                                                                                                              +]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Iter> +
                                                                                                                              + iterator toml::array::insert(const_iterator pos, + Iter first, + Iter last, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Inserts a range of elements into the array at a specific position.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              IterAn iterator type. Must satisfy ForwardIterator.
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              firstIterator to the first node or value being inserted.
                                                                                                                              lastIterator to the one-past-the-last node or value being inserted.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              ReturnsValid input: An iterator to the first newly-inserted element. first >= last: A copy of pos All objects in the range were null toml::node_views: A copy of pos
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + iterator toml::array::insert(const_iterator pos, + std::initializer_list<ElemType> ilist, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Inserts a range of elements into the array at a specific position.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              ilistAn initializer list containing the values to be inserted.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              ReturnsValid input: An iterator to the first newly-inserted element. Input list is empty: A copy of pos All objects in the list were null toml::node_views: A copy of pos
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + void toml::array::push_back(ElemType&& val, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Appends a new element to the end of the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type
                                                                                                                              Parameters
                                                                                                                              valThe node or value being added.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2 };
                                                                                                                              +arr.push_back(3);
                                                                                                                              +arr.push_back(4.0);
                                                                                                                              +arr.push_back(toml::array{ 5, "six"sv });
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3, 4.0, [ 5, 'six' ] ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + iterator toml::array::replace(const_iterator pos, + ElemType&& val, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Replaces the element at a specific position in the array with a different value.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              posThe insertion position.
                                                                                                                              valThe node or value being inserted.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              ReturnsValid input: An iterator to the replaced element. Input is a null toml::node_view: + end()
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +arr.replace(arr.cbegin() + 1, "two");
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3 ]
                                                                                                                              +[ 1, 'two', 3 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Func> +
                                                                                                                              + array& toml::array::for_each(Func&& visitor) & noexcept(…) +

                                                                                                                              +

                                                                                                                              Invokes a visitor on each element in the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              Func

                                                                                                                              A callable type invocable with one of the following signatures:

                                                                                                                              • func(elem, index)
                                                                                                                              • func(elem)
                                                                                                                              • func(index, elem)

                                                                                                                              Where:

                                                                                                                              • elem will recieve the element as it's concrete type with cvref-qualifications matching the array
                                                                                                                              • index will recieve a size_t indicating the element's index

                                                                                                                              Visitors returning bool (or something convertible to bool) will cause iteration to stop if they return false.

                                                                                                                              Parameters
                                                                                                                              visitorThe visitor object.
                                                                                                                              ReturnsA reference to the array.
                                                                                                                              +
                                                                                                                              toml::array arr{ 0, 1, 2, 3.0, "four", "five", 6 };
                                                                                                                              +
                                                                                                                              +// select only the integers using a strongly-typed visitor
                                                                                                                              +arr.for_each([](toml::value<int64_t>& elem)
                                                                                                                              +{
                                                                                                                              +    std::cout << elem << ", ";
                                                                                                                              +});
                                                                                                                              +std::cout << "\n";
                                                                                                                              +
                                                                                                                              +// select all the numeric values using a generic visitor + is_number<> metafunction
                                                                                                                              +arr.for_each([](auto&& elem)
                                                                                                                              +{
                                                                                                                              +    if constexpr (toml::is_number<decltype(elem)>)
                                                                                                                              +        std::cout << elem << ", ";
                                                                                                                              +});
                                                                                                                              +std::cout << "\n";
                                                                                                                              +
                                                                                                                              +// select all the numeric values until we encounter something non-numeric
                                                                                                                              +arr.for_each([](auto&& elem)
                                                                                                                              +{
                                                                                                                              +    if constexpr (toml::is_number<decltype(elem)>)
                                                                                                                              +    {
                                                                                                                              +        std::cout << elem << ", ";
                                                                                                                              +        return true; // "keep going"
                                                                                                                              +    }
                                                                                                                              +    else
                                                                                                                              +        return false; // "stop!"
                                                                                                                              +
                                                                                                                              +});
                                                                                                                              +std::cout << "\n";
                                                                                                                              0, 1, 2, 6,
                                                                                                                              +0, 1, 2, 3.0, 6,
                                                                                                                              +0, 1, 2, 3.0,
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + void toml::array::resize(size_t new_size, + ElemType&& default_init_val, + value_flags default_init_flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Resizes the array.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::node, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              new_sizeThe number of elements the array will have after resizing.
                                                                                                                              default_init_valThe node or value used to initialize new elements if the array needs to grow.
                                                                                                                              default_init_flagsValue flags to apply to new values created if new elements are created by growing.
                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto arr = toml::array{ 1, 2, 3 }; +std::cout << arr << "\n"; + +arr.resize(6, 42); +std::cout << arr << "\n"; + +arr.resize(2, 0); +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3 ]
                                                                                                                              +[ 1, 2, 3, 42, 42, 42 ]
                                                                                                                              +[ 1, 2 ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + void toml::array::truncate(size_t new_size) +

                                                                                                                              +

                                                                                                                              Shrinks the array to the given size.

                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto arr = toml::array{ 1, 2, 3 }; +std::cout << arr << "\n"; + +arr.truncate(5); // no-op +std::cout << arr << "\n"; + +arr.truncate(1); +std::cout << arr << "\n";
                                                                                                                              [ 1, 2, 3 ]
                                                                                                                              +[ 1, 2, 3 ]
                                                                                                                              +[ 1]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::array::is_homogeneous(node_type ntype) const final noexcept +

                                                                                                                              +

                                                                                                                              Checks if the node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << "homogenous: "sv << arr.is_homogeneous(toml::node_type::none) << "\n";
                                                                                                                              +std::cout << "all floats: "sv << arr.is_homogeneous(toml::node_type::floating_point) << "\n";
                                                                                                                              +std::cout << "all arrays: "sv << arr.is_homogeneous(toml::node_type::array) << "\n";
                                                                                                                              +std::cout << "all ints:   "sv << arr.is_homogeneous(toml::node_type::integer) << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::array::is_homogeneous(node_type ntype, + node*& first_nonmatch) final noexcept +

                                                                                                                              +

                                                                                                                              Checks if a node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              first_nonmatchReference to a pointer in which the address of the first non-matching element will be stored if the return value is false.
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]");
                                                                                                                              +toml::array& arr = *cfg["arr"].as_array();
                                                                                                                              +
                                                                                                                              +toml::node* nonmatch{};
                                                                                                                              +if (arr.is_homogeneous(toml::node_type::integer, nonmatch))
                                                                                                                              +    std::cout << "array was homogeneous"sv << "\n";
                                                                                                                              +else
                                                                                                                              +    std::cout << "array was not homogeneous!\n"
                                                                                                                              +    << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
                                                                                                                              array was not homogeneous!
                                                                                                                              +first non-match was a floating-point at line 1, column 18
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node* toml::array::get(size_t index) noexcept +

                                                                                                                              +

                                                                                                                              Gets a pointer to the element at a specific index.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              indexThe element's index.
                                                                                                                              ReturnsA pointer to the element at the specified index if one existed, or nullptr.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 99, "bottles of beer on the wall" };
                                                                                                                              +std::cout << "element [0] exists: "sv << !!arr.get(0) << "\n";
                                                                                                                              +std::cout << "element [1] exists: "sv << !!arr.get(1) << "\n";
                                                                                                                              +std::cout << "element [2] exists: "sv << !!arr.get(2) << "\n";
                                                                                                                              +if (toml::node* val = arr.get(0))
                                                                                                                              +    std::cout << "element [0] is an "sv << val->type() << "\n";
                                                                                                                              element [0] exists: true
                                                                                                                              +element [1] exists: true
                                                                                                                              +element [2] exists: false
                                                                                                                              +element [0] is an integer
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const node* toml::array::get(size_t index) const noexcept +

                                                                                                                              +

                                                                                                                              Gets a pointer to the element at a specific index (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              indexThe element's index.
                                                                                                                              ReturnsA pointer to the element at the specified index if one existed, or nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + impl::wrap_node<ElemType>* toml::array::get_as(size_t index) noexcept +

                                                                                                                              +

                                                                                                                              Gets a pointer to the element at a specific index if it is a particular type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::table, toml::array, or a native TOML value type
                                                                                                                              Parameters
                                                                                                                              indexThe element's index.
                                                                                                                              ReturnsA pointer to the selected element if it existed and was of the specified type, or nullptr.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 42, "is the meaning of life, apparently."sv };
                                                                                                                              +if (toml::value<int64_t>* val = arr.get_as<int64_t>(0))
                                                                                                                              +    std::cout << "element [0] is an integer with value "sv << *val << "\n";
                                                                                                                              element [0] is an integer with value 42
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType> +
                                                                                                                              + const impl::wrap_node<ElemType>* toml::array::get_as(size_t index) const noexcept +

                                                                                                                              +

                                                                                                                              Gets a pointer to the element at a specific index if it is a particular type (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypetoml::table, toml::array, or a native TOML value type
                                                                                                                              Parameters
                                                                                                                              indexThe element's index.
                                                                                                                              ReturnsA pointer to the selected element if it existed and was of the specified type, or nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const array& rhs) +

                                                                                                                              +

                                                                                                                              Prints the array out to a stream as formatted TOML.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.4.0/classtoml_1_1json__formatter.html b/v3.4.0/classtoml_1_1json__formatter.html new file mode 100644 index 00000000..df03bb08 --- /dev/null +++ b/v3.4.0/classtoml_1_1json__formatter.html @@ -0,0 +1,255 @@ + + + + toml::json_formatter class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::json_formatter class +

                                                                                                                              +

                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted JSON.

                                                                                                                              + +
                                                                                                                              auto some_toml = toml::parse(R"(
                                                                                                                              +    [fruit]
                                                                                                                              +    apple.color = "red"
                                                                                                                              +    apple.taste.sweet = true
                                                                                                                              +
                                                                                                                              +    [fruit.apple.texture]
                                                                                                                              +    smooth = true
                                                                                                                              +)"sv);
                                                                                                                              +std::cout << toml::json_formatter{ some_toml } << "\n";
                                                                                                                              {
                                                                                                                              +    "fruit" : {
                                                                                                                              +        "apple" : {
                                                                                                                              +            "color" : "red",
                                                                                                                              +            "taste" : {
                                                                                                                              +                "sweet" : true
                                                                                                                              +            },
                                                                                                                              +            "texture" : {
                                                                                                                              +                "smooth" : true
                                                                                                                              +            }
                                                                                                                              +        }
                                                                                                                              +    }
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public static variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + static format_flags default_flags constexpr +
                                                                                                                              +
                                                                                                                              The default flags for a json_formatter.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + json_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a JSON formatter and binds it to a TOML object.
                                                                                                                              +
                                                                                                                              + json_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a JSON formatter and binds it to a toml::parse_result.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + json_formatter& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as JSON.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + json_formatter&& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as JSON (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::json_formatter::json_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a JSON formatter and binds it to a TOML object.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              sourceThe source TOML object.
                                                                                                                              flagsFormat option flags.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::json_formatter::json_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a JSON formatter and binds it to a toml::parse_result.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              resultThe parse result.
                                                                                                                              flagsFormat option flags.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.4.0/classtoml_1_1key.html b/v3.4.0/classtoml_1_1key.html new file mode 100644 index 00000000..bd9cb793 --- /dev/null +++ b/v3.4.0/classtoml_1_1key.html @@ -0,0 +1,381 @@ + + + + toml::key class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::key class +

                                                                                                                              +

                                                                                                                              A key parsed from a TOML document.

                                                                                                                              + +

                                                                                                                              These are used as the internal keys for a toml::table:

                                                                                                                              const toml::table tbl = R"(
                                                                                                                              +    a = 1
                                                                                                                              +      b = 2
                                                                                                                              +        c = 3
                                                                                                                              +)"_toml;
                                                                                                                              +
                                                                                                                              +for (auto&& [k, v] : tbl)
                                                                                                                              +    std::cout << "key '"sv << k << "' defined at "sv << k.source() << "\n";
                                                                                                                              key 'a' defined at line 2, column 5
                                                                                                                              +key 'b' defined at line 3, column 7
                                                                                                                              +key 'c' defined at line 4, column 9
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + key() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Default constructor.
                                                                                                                              +
                                                                                                                              + key(std::string_view k, + source_region&& src = {}) explicit +
                                                                                                                              +
                                                                                                                              Constructs a key from a string view and source region.
                                                                                                                              +
                                                                                                                              + key(std::string_view k, + const source_region& src) explicit +
                                                                                                                              +
                                                                                                                              Constructs a key from a string view and source region.
                                                                                                                              +
                                                                                                                              + key(std::string&& k, + source_region&& src = {}) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a key from a string and source region.
                                                                                                                              +
                                                                                                                              + key(std::string&& k, + const source_region& src) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a key from a string and source region.
                                                                                                                              +
                                                                                                                              + key(const char* k, + source_region&& src = {}) explicit +
                                                                                                                              +
                                                                                                                              Constructs a key from a c-string and source region.
                                                                                                                              +
                                                                                                                              + key(const char* k, + const source_region& src) explicit +
                                                                                                                              +
                                                                                                                              Constructs a key from a c-string view and source region.
                                                                                                                              +
                                                                                                                              + key(std::wstring_view k, + source_region&& src = {}) explicit +
                                                                                                                              +
                                                                                                                              Constructs a key from a wide string view and source region.
                                                                                                                              +
                                                                                                                              + key(std::wstring_view k, + const source_region& src) explicit +
                                                                                                                              +
                                                                                                                              Constructs a key from a wide string and source region.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality and Comparison

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              + auto operator!=(const key& lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() != rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator!=(const key& lhs, + std::string_view rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() != rhs.
                                                                                                                              +
                                                                                                                              + auto operator!=(std::string_view lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs != rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator<(const key& lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() < rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator<(const key& lhs, + std::string_view rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() < rhs.
                                                                                                                              +
                                                                                                                              + auto operator<(std::string_view lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs < rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator<=(const key& lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() <= rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator<=(const key& lhs, + std::string_view rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() <= rhs.
                                                                                                                              +
                                                                                                                              + auto operator<=(std::string_view lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs <= rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator==(const key& lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() == rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator==(const key& lhs, + std::string_view rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() == rhs.
                                                                                                                              +
                                                                                                                              + auto operator==(std::string_view lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs == rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator>(const key& lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() > rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator>(const key& lhs, + std::string_view rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() > rhs.
                                                                                                                              +
                                                                                                                              + auto operator>(std::string_view lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs > rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator>=(const key& lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() >= rhs.str().
                                                                                                                              +
                                                                                                                              + auto operator>=(const key& lhs, + std::string_view rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs.str() >= rhs.
                                                                                                                              +
                                                                                                                              + auto operator>=(std::string_view lhs, + const key& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if lhs >= rhs.str().
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Iteration

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using const_iterator = const char* +
                                                                                                                              +
                                                                                                                              A const iterator for iterating over the characters in the key.
                                                                                                                              +
                                                                                                                              + using iterator = const_iterator +
                                                                                                                              +
                                                                                                                              A const iterator for iterating over the characters in the key.
                                                                                                                              +
                                                                                                                              + auto begin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first character in the key's backing string.
                                                                                                                              +
                                                                                                                              + auto end() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last character in the key's backing string.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Metadata

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the source region responsible for specifying this key during parsing.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              String operations

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto data() const -> const char* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the start of the key's underlying string.
                                                                                                                              +
                                                                                                                              + auto empty() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the key's underlying string is empty.
                                                                                                                              +
                                                                                                                              + auto length() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the length of the key's underlying string.
                                                                                                                              +
                                                                                                                              + operator std::string_view() const noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the key's underlying string.
                                                                                                                              +
                                                                                                                              + auto str() const -> std::string_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the key's underlying string.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const key& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the key's underlying string out to the stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::key::key(std::wstring_view k, + source_region&& src = {}) explicit +

                                                                                                                              +

                                                                                                                              Constructs a key from a wide string view and source region.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::key::key(std::wstring_view k, + const source_region& src) explicit +

                                                                                                                              +

                                                                                                                              Constructs a key from a wide string and source region.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.4.0/classtoml_1_1node.html b/v3.4.0/classtoml_1_1node.html new file mode 100644 index 00000000..0da1ea1e --- /dev/null +++ b/v3.4.0/classtoml_1_1node.html @@ -0,0 +1,1027 @@ + + + + toml::node class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::node class +

                                                                                                                              +

                                                                                                                              A TOML node.

                                                                                                                              + +

                                                                                                                              A parsed TOML document forms a tree made up of tables, arrays and values. This type is the base of each of those, providing a lot of the polymorphic plumbing.

                                                                                                                              +
                                                                                                                              +

                                                                                                                              Derived classes

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + class array +
                                                                                                                              +
                                                                                                                              A TOML array.
                                                                                                                              +
                                                                                                                              + class table +
                                                                                                                              +
                                                                                                                              A TOML table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ValueType>
                                                                                                                              + class value +
                                                                                                                              +
                                                                                                                              A TOML value.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Metadata

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the source region responsible for generating this node during parsing.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Node views

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const toml::path& path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const toml::path& path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) -> node_view<node> +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) const -> node_view<const node> +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + operator node_view<const node>() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node (const overload).
                                                                                                                              +
                                                                                                                              + operator node_view<node>() explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node.
                                                                                                                              +
                                                                                                                              + auto operator[](const toml::path& path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto operator[](const toml::path& path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type casts

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() -> impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() const -> const impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type (const overload).
                                                                                                                              +
                                                                                                                              + auto as_array() -> array* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::array, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_array() const -> const array* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::array, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_boolean() -> toml::value<bool>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<bool>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_boolean() const -> const toml::value<bool>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<bool>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date() -> toml::value<date>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<toml::date>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date() const -> const toml::value<date>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<toml::date>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date_time() -> toml::value<date_time>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<toml::date_time>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date_time() const -> const toml::value<date_time>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<toml::date_time>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() -> toml::value<double>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<double>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() const -> const toml::value<double>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<double>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_integer() -> toml::value<int64_t>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<int64_t>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_integer() const -> const toml::value<int64_t>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<int64_t>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_string() -> toml::value<std::string>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<std::string>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_string() const -> const toml::value<std::string>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<std::string>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_table() -> table* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::table, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_table() const -> const table* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::table, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_time() -> toml::value<time>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the node as a toml::value<toml::time>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_time() const -> const toml::value<time>* pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the node as a toml::value<toml::time>, if it is one.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type checks

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto is() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node is a specific type.
                                                                                                                              +
                                                                                                                              + auto is_array() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an array.
                                                                                                                              +
                                                                                                                              + auto is_array_of_tables() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an array containing only tables.
                                                                                                                              +
                                                                                                                              + auto is_boolean() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a boolean value.
                                                                                                                              +
                                                                                                                              + auto is_date() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a local date value.
                                                                                                                              +
                                                                                                                              + auto is_date_time() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a date-time value.
                                                                                                                              +
                                                                                                                              + auto is_floating_point() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an floating-point value.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + node*& first_nonmatch) -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + const node*& first_nonmatch) const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type (const overload).
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype) const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType = void>
                                                                                                                              + auto is_homogeneous() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_integer() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an integer value.
                                                                                                                              +
                                                                                                                              + auto is_number() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is an integer or floating-point value.
                                                                                                                              +
                                                                                                                              + auto is_string() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a string value.
                                                                                                                              +
                                                                                                                              + auto is_table() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a table.
                                                                                                                              +
                                                                                                                              + auto is_time() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a local time value.
                                                                                                                              +
                                                                                                                              + auto is_value() const -> bool pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this node is a value.
                                                                                                                              +
                                                                                                                              + auto type() const -> node_type pure virtual noexcept +
                                                                                                                              +
                                                                                                                              Returns the node's type identifier.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Value retrieval

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_exact() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_or(T&& default_value) const -> auto noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the raw value contained by this node, or a default.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Visitation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::node::at_path(std::string_view path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              pathThe "TOML path" to traverse.
                                                                                                                              +
                                                                                                                              auto config = toml::parse(R"(
                                                                                                                              +
                                                                                                                              +[foo]
                                                                                                                              +bar = [ 0, 1, 2, [ 3 ], { kek = 4 } ]
                                                                                                                              +
                                                                                                                              +)"sv);
                                                                                                                              +
                                                                                                                              +std::cout << config.at_path("foo.bar[2]") << "\n";
                                                                                                                              +std::cout << config.at_path("foo.bar[3][0]") << "\n";
                                                                                                                              +std::cout << config.at_path("foo.bar[4].kek") << "\n";
                                                                                                                              2
                                                                                                                              +3
                                                                                                                              +4
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::node::at_path(std::string_view path) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::node::at_path(const toml::path& path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              pathThe "TOML path" to traverse.
                                                                                                                              +
                                                                                                                              auto config = toml::parse(R"(
                                                                                                                              +
                                                                                                                              +[foo]
                                                                                                                              +bar = [ 0, 1, 2, [ 3 ], { kek = 4 } ]
                                                                                                                              +
                                                                                                                              +)"sv);
                                                                                                                              +
                                                                                                                              +toml::path path1("foo.bar[2]");
                                                                                                                              +toml::path path2("foo.bar[4].kek");
                                                                                                                              +std::cout << config.at_path(path1) << "\n";
                                                                                                                              +std::cout << config.at_path(path1.parent_path()) << "\n";
                                                                                                                              +std::cout << config.at_path(path2) << "\n";
                                                                                                                              +std::cout << config.at_path(path2.parent_path()) << "\n";
                                                                                                                              2
                                                                                                                              +[ 0, 1, 2, [ 3 ], { kek = 4 } ]
                                                                                                                              +4
                                                                                                                              +{ kek  = 4 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::node::at_path(const toml::path& path) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::node::at_path(std::wstring_view path) +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::node::at_path(std::wstring_view path) const +

                                                                                                                              +

                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::node::operator[](const toml::path& path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              pathThe "TOML path" to the desired child.
                                                                                                                              ReturnsA view of the child node at the given path if one existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::node::operator[](const toml::path& path) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              pathThe "TOML path" to the desired child.
                                                                                                                              ReturnsA view of the child node at the given path if one existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + impl::wrap_node<T>* toml::node::as() noexcept +

                                                                                                                              +

                                                                                                                              Gets a pointer to the node as a more specific node type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TThe node type or TOML value type to cast to.
                                                                                                                              ReturnsA pointer to the node as the given type, or nullptr if it was a different type.
                                                                                                                              +
                                                                                                                              toml::value<int64_t>* int_value = node->as<int64_t>();
                                                                                                                              +toml::table* tbl = node->as<toml::table>();
                                                                                                                              +if (int_value)
                                                                                                                              +    std::cout << "Node is a value<int64_t>\n";
                                                                                                                              +else if (tbl)
                                                                                                                              +    std::cout << "Node is a table\n";
                                                                                                                              +
                                                                                                                              +// fully-qualified value node types also work (useful for template code):
                                                                                                                              +toml::value<int64_t>* int_value2 = node->as<toml::value<int64_t>>();
                                                                                                                              +if (int_value2)
                                                                                                                              +    std::cout << "Node is a value<int64_t>\n";
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::node::is() const noexcept +

                                                                                                                              +

                                                                                                                              Checks if a node is a specific type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TA TOML node or value type.
                                                                                                                              ReturnsReturns true if this node is an instance of the specified type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::node::is_homogeneous(node_type ntype, + node*& first_nonmatch) pure virtual noexcept +

                                                                                                                              +

                                                                                                                              Checks if a node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              first_nonmatchReference to a pointer in which the address of the first non-matching element will be stored if the return value is false.
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]");
                                                                                                                              +toml::array& arr = *cfg["arr"].as_array();
                                                                                                                              +
                                                                                                                              +toml::node* nonmatch{};
                                                                                                                              +if (arr.is_homogeneous(toml::node_type::integer, nonmatch))
                                                                                                                              +    std::cout << "array was homogeneous"sv << "\n";
                                                                                                                              +else
                                                                                                                              +    std::cout << "array was not homogeneous!\n"
                                                                                                                              +    << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
                                                                                                                              array was not homogeneous!
                                                                                                                              +first non-match was a floating-point at line 1, column 18
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::node::is_homogeneous(node_type ntype) const pure virtual noexcept +

                                                                                                                              +

                                                                                                                              Checks if the node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << "homogenous: "sv << arr.is_homogeneous(toml::node_type::none) << "\n";
                                                                                                                              +std::cout << "all floats: "sv << arr.is_homogeneous(toml::node_type::floating_point) << "\n";
                                                                                                                              +std::cout << "all arrays: "sv << arr.is_homogeneous(toml::node_type::array) << "\n";
                                                                                                                              +std::cout << "all ints:   "sv << arr.is_homogeneous(toml::node_type::integer) << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ElemType = void> +
                                                                                                                              + bool toml::node::is_homogeneous() const noexcept +

                                                                                                                              +

                                                                                                                              Checks if the node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypeA TOML node or value type.
                                                                                                                              Left as void: "is every element the same type?"
                                                                                                                              Explicitly specified: "is every element a T?"
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << "homogenous:   "sv << arr.is_homogeneous() << "\n";
                                                                                                                              +std::cout << "all doubles:  "sv << arr.is_homogeneous<double>() << "\n";
                                                                                                                              +std::cout << "all arrays:   "sv << arr.is_homogeneous<toml::array>() << "\n";
                                                                                                                              +std::cout << "all integers: "sv << arr.is_homogeneous<int64_t>() << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + decltype(auto) toml::node::ref() & noexcept +

                                                                                                                              +

                                                                                                                              Gets a raw reference to a node's underlying data.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              Ttoml::table, toml::array, or one of the TOML value types.
                                                                                                                              ReturnsA reference to the underlying data.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + optional<T> toml::node::value() const noexcept(…) +

                                                                                                                              +

                                                                                                                              Gets the value contained by this node.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the native TOML value types, or a type capable of converting to one.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or convertible to it) and within the range of the output type, or an empty optional.
                                                                                                                              +

                                                                                                                              This function has 'permissive' retrieval semantics; some value types are allowed to convert to others (e.g. retrieving a boolean as an integer), and the specified return value type can be any type where a reasonable conversion from a native TOML value exists (e.g. std::wstring on Windows). If the source value cannot be represented by the destination type, an empty optional is returned.

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto tbl = toml::parse(R"( + int = -10 + flt = 25.0 + pi = 3.14159 + bool = false + huge = 9223372036854775807 + str = "foo" +)"sv); + +const auto print_value_with_typename = + [&](std::string_view key, std::string_view type_name, auto* dummy) + { + std::cout << "- " << std::setw(18) << std::left << type_name; + using type = std::remove_pointer_t<decltype(dummy)>; + if (auto val = tbl.get(key)->value<type>(); val) + std::cout << *val << "\n"; + else + std::cout << "n/a\n"; + }; + +#define print_value(key, T) print_value_with_typename(key, #T, (T*)nullptr) + +for (auto key : { "int", "flt", "pi", "bool", "huge", "str" }) +{ + std::cout << tbl[key].type() << " value '" << key << "' as:\n"; + print_value(key, bool); + print_value(key, int); + print_value(key, unsigned int); + print_value(key, long long); + print_value(key, float); + print_value(key, double); + print_value(key, std::string); + print_value(key, std::string_view); + print_value(key, const char*); + std::cout << "\n"; +}
                                                                                                                              integer value 'int' as:
                                                                                                                              +- bool              true
                                                                                                                              +- int               -10
                                                                                                                              +- unsigned int      n/a
                                                                                                                              +- long long         -10
                                                                                                                              +- float             -10
                                                                                                                              +- double            -10
                                                                                                                              +- std::string       n/a
                                                                                                                              +- std::string_view  n/a
                                                                                                                              +- const char*       n/a
                                                                                                                              +
                                                                                                                              +floating-point value 'flt' as:
                                                                                                                              +- bool              n/a
                                                                                                                              +- int               25
                                                                                                                              +- unsigned int      25
                                                                                                                              +- long long         25
                                                                                                                              +- float             25
                                                                                                                              +- double            25
                                                                                                                              +- std::string       n/a
                                                                                                                              +- std::string_view  n/a
                                                                                                                              +- const char*       n/a
                                                                                                                              +
                                                                                                                              +floating-point value 'pi' as:
                                                                                                                              +- bool              n/a
                                                                                                                              +- int               n/a
                                                                                                                              +- unsigned int      n/a
                                                                                                                              +- long long         n/a
                                                                                                                              +- float             3.14159
                                                                                                                              +- double            3.14159
                                                                                                                              +- std::string       n/a
                                                                                                                              +- std::string_view  n/a
                                                                                                                              +- const char*       n/a
                                                                                                                              +
                                                                                                                              +boolean value 'bool' as:
                                                                                                                              +- bool              false
                                                                                                                              +- int               0
                                                                                                                              +- unsigned int      0
                                                                                                                              +- long long         0
                                                                                                                              +- float             n/a
                                                                                                                              +- double            n/a
                                                                                                                              +- std::string       n/a
                                                                                                                              +- std::string_view  n/a
                                                                                                                              +- const char*       n/a
                                                                                                                              +
                                                                                                                              +integer value 'huge' as:
                                                                                                                              +- bool              true
                                                                                                                              +- int               n/a
                                                                                                                              +- unsigned int      n/a
                                                                                                                              +- long long         9223372036854775807
                                                                                                                              +- float             n/a
                                                                                                                              +- double            n/a
                                                                                                                              +- std::string       n/a
                                                                                                                              +- std::string_view  n/a
                                                                                                                              +- const char*       n/a
                                                                                                                              +
                                                                                                                              +string value 'str' as:
                                                                                                                              +- bool              n/a
                                                                                                                              +- int               n/a
                                                                                                                              +- unsigned int      n/a
                                                                                                                              +- long long         n/a
                                                                                                                              +- float             n/a
                                                                                                                              +- double            n/a
                                                                                                                              +- std::string       foo
                                                                                                                              +- std::string_view  foo
                                                                                                                              +- const char*       foo
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + optional<T> toml::node::value_exact() const noexcept(…) +

                                                                                                                              +

                                                                                                                              Gets the value contained by this node.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the native TOML value types, or a type capable of losslessly representing one.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or losslessly convertible to it), or an empty optional.
                                                                                                                              +

                                                                                                                              This function has 'exact' retrieval semantics; the only return value types allowed are the TOML native value types, or types that can losslessly represent a native value type (e.g. std::wstring on Windows).

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + auto toml::node::value_or(T&& default_value) const noexcept(…) +

                                                                                                                              +

                                                                                                                              Gets the raw value contained by this node, or a default.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TDefault value type. Must be one of the native TOML value types, or convertible to it.
                                                                                                                              Parameters
                                                                                                                              default_valueThe default value to return if the node wasn't a value, wasn't the correct type, or no conversion was possible.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or convertible to it) and within the range of the output type, or the provided default.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Func> +
                                                                                                                              + decltype(auto) toml::node::visit(Func&& visitor) & noexcept(…) +

                                                                                                                              +

                                                                                                                              Invokes a visitor on the node based on the node's concrete type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              FuncA callable type invocable with one or more of the toml++ node types.
                                                                                                                              Parameters
                                                                                                                              visitorThe visitor object.
                                                                                                                              ReturnsThe return value of the visitor. Can be void. Non-exhaustive visitors must return a default-constructible type.
                                                                                                                              +

                                                                                                                              Visitation is useful when you expect a node to be one of a set number of types and need to handle these types differently. Using visit() allows you to eliminate some of the casting/conversion boilerplate:

                                                                                                                              node.visit([](auto&& n)
                                                                                                                              +{
                                                                                                                              +    if constexpr (toml::is_string<decltype(n)>)
                                                                                                                              +        do_something_with_a_string(*n)); //n is a toml::value<std::string>
                                                                                                                              +    else if constexpr (toml::is_integer<decltype(n)>)
                                                                                                                              +        do_something_with_an_int(*n); //n is a toml::value<int64_t>
                                                                                                                              +});

                                                                                                                              Visitor functions need not be generic; specifying a concrete node type as the input argument type effectively acts a 'filter', only invoking the visitor if the concrete type is compatible. Thus the example above can be re-written as:

                                                                                                                              node.visit([](toml::value<std::string>& s) { do_something_with_a_string(*s)); });
                                                                                                                              +node.visit([](toml::value<int64_t>& i)     { do_something_with_an_int(*i)); });
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.4.0/classtoml_1_1node__view.html b/v3.4.0/classtoml_1_1node__view.html new file mode 100644 index 00000000..9e89c9cd --- /dev/null +++ b/v3.4.0/classtoml_1_1node__view.html @@ -0,0 +1,945 @@ + + + + toml::node_view class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              template <typename ViewedType>
                                                                                                                              + toml::node_view class +

                                                                                                                              +

                                                                                                                              A view of a node.

                                                                                                                              + +

                                                                                                                              A node_view is like a std::optional<toml::node&> (if such a construct were legal), with lots of toml-specific stuff built-in. It may represent a node, and allows you to do many of the same operations that you'd do on nodes directly, as well as easily traversing the node tree by creating subviews (via node_view::operator[]).

                                                                                                                              auto tbl = toml::parse(R"(
                                                                                                                              +
                                                                                                                              +    title = "my hardware store"
                                                                                                                              +
                                                                                                                              +    [[products]]
                                                                                                                              +    name = "Hammer"
                                                                                                                              +    sku = 738594937
                                                                                                                              +    keywords = [ "hammer", "construction", "build" ]
                                                                                                                              +
                                                                                                                              +    [[products]]
                                                                                                                              +    name = "Nail"
                                                                                                                              +    sku = 284758393
                                                                                                                              +    color = "gray"
                                                                                                                              +
                                                                                                                              +)"sv);
                                                                                                                              +
                                                                                                                              +std::cout << tbl["title"] << "\n";
                                                                                                                              +std::cout << tbl["products"][0]["name"] << "\n";
                                                                                                                              +std::cout << tbl["products"][0]["keywords"] << "\n";
                                                                                                                              +std::cout << tbl["products"][0]["keywords"][2] << "\n";
                                                                                                                              +
                                                                                                                              +tbl["products"][0]["keywords"].as_array()->push_back("heavy");
                                                                                                                              +std::cout << tbl["products"][0]["keywords"] << "\n";
                                                                                                                              +std::cout << "has product[2]: "sv << !!tbl["products"][2] << "\n";
                                                                                                                              +std::cout << "product[2]: "sv << tbl["products"][2] << "\n";
                                                                                                                              "my hardware store"
                                                                                                                              +"Hammer"
                                                                                                                              +[ "hammer", "construction", "build" ]
                                                                                                                              +"build"
                                                                                                                              +[ "hammer", "construction", "build", "heavy" ]
                                                                                                                              +has product[2]: false
                                                                                                                              +product[2]:
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public types

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using viewed_type = ViewedType +
                                                                                                                              +
                                                                                                                              The node type being viewed - either node or const node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + node_view() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Constructs an empty node view.
                                                                                                                              +
                                                                                                                              + node_view(viewed_type* node) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs node_view of a specific node.
                                                                                                                              +
                                                                                                                              + node_view(viewed_type& node) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs node_view of a specific node.
                                                                                                                              +
                                                                                                                              + node_view(const node_view&) defaulted noexcept +
                                                                                                                              +
                                                                                                                              Copy constructor.
                                                                                                                              +
                                                                                                                              + node_view(node_view&&) defaulted noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              + operator bool() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the view references a node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto node() const -> viewed_type* noexcept +
                                                                                                                              +
                                                                                                                              Returns the node that's being referenced by the view.
                                                                                                                              +
                                                                                                                              + auto operator=(const node_view&) & -> node_view& defaulted noexcept +
                                                                                                                              +
                                                                                                                              Copy-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(node_view&&) & -> node_view& defaulted noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator!=(const node_view& lhs, + const node_view<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the two views do not refer to nodes of the same type and value.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const node_view& lhs, + const node_view<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the two views refer to nodes of the same type and value.
                                                                                                                              +
                                                                                                                              + auto operator==(const node_view& lhs, + const table& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a table with the same contents as RHS.
                                                                                                                              +
                                                                                                                              + auto operator==(const node_view& lhs, + const array& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is an array with the same contents as RHS.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const node_view& lhs, + const toml::value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a value with the same value as RHS.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const node_view& lhs, + const T& rhs) -> bool noexcept(…) +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a value with the same value as RHS.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const node_view& lhs, + const std::initializer_list<T>& rhs) -> bool noexcept(…) +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is an array with the same contents as the RHS initializer list.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const node_view& lhs, + const std::vector<T>& rhs) -> bool noexcept(…) +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is an array with the same contents as the RHS vector.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Subviews

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) const -> node_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const toml::path& path) const -> node_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) const -> node_view +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto operator[](std::string_view key) const -> node_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the selected subnode.
                                                                                                                              +
                                                                                                                              + auto operator[](const toml::path& path) const -> node_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the selected subnode.
                                                                                                                              +
                                                                                                                              + auto operator[](std::wstring_view key) const -> node_view +
                                                                                                                              +
                                                                                                                              Returns a view of the selected subnode.
                                                                                                                              +
                                                                                                                              + auto operator[](size_t index) const -> node_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the selected subnode.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type casts

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the viewed node as a more specific node type.
                                                                                                                              +
                                                                                                                              + auto as_array() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::array, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_boolean() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<bool>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<date>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_date_time() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<date_time>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<double>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_integer() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<int64_t>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_string() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<string>, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_table() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::table, if it is one.
                                                                                                                              +
                                                                                                                              + auto as_time() const -> auto* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the viewed node as a toml::value<time>, if it is one.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type checks

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto is() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if this view references a node of a specific type.
                                                                                                                              +
                                                                                                                              + auto is_array() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::array.
                                                                                                                              +
                                                                                                                              + auto is_array_of_tables() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::array that contains only tables.
                                                                                                                              +
                                                                                                                              + auto is_boolean() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<bool>.
                                                                                                                              +
                                                                                                                              + auto is_date() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<date>.
                                                                                                                              +
                                                                                                                              + auto is_date_time() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<date_time>.
                                                                                                                              +
                                                                                                                              + auto is_floating_point() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<double>.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + viewed_type*& first_nonmatch) const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the viewed node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype) const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the viewed node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType = void>
                                                                                                                              + auto is_homogeneous() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the viewed node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_integer() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<int64_t>.
                                                                                                                              +
                                                                                                                              + auto is_number() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<int64_t> or toml::value<double>.
                                                                                                                              +
                                                                                                                              + auto is_string() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<string>.
                                                                                                                              +
                                                                                                                              + auto is_table() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::table.
                                                                                                                              +
                                                                                                                              + auto is_time() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<time>.
                                                                                                                              +
                                                                                                                              + auto is_value() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the viewed node is a toml::value<>.
                                                                                                                              +
                                                                                                                              + auto type() const -> node_type noexcept +
                                                                                                                              +
                                                                                                                              Returns the type identifier for the viewed node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Value retrieval

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to the viewed node's underlying data.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by the referenced node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_exact() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by the referenced node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_or(T&& default_value) const -> auto noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the raw value contained by the referenced node, or a default.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Visitation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the viewed node based on its concrete type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& os, + const node_view& nv) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the viewed node out to a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::at_path(std::string_view path) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::at_path(const toml::path& path) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::at_path(std::wstring_view path) const +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::operator[](std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the selected subnode.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key of the node to retrieve
                                                                                                                              ReturnsA view of the selected node if this node represented a table and it contained a value at the given key, or an empty view.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::operator[](const toml::path& path) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the selected subnode.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              pathA "TOML path" to the desired subnode
                                                                                                                              ReturnsA view of the selected node if this node represented a table and it contained a value at the given key, or an empty view.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::operator[](std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Returns a view of the selected subnode.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key of the node to retrieve
                                                                                                                              ReturnsA view of the selected node if this node represented a table and it contained a value at the given key, or an empty view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + node_view toml::node_view::operator[](size_t index) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the selected subnode.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              indexThe index of the node to retrieve
                                                                                                                              ReturnsA view of the selected node if this node represented an array and it contained a value at the given index, or an empty view.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + auto* toml::node_view::as() const noexcept +

                                                                                                                              +

                                                                                                                              Gets a pointer to the viewed node as a more specific node type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TThe node type or TOML value type to cast to.
                                                                                                                              ReturnsA pointer to the node as the given type, or nullptr if it was a different type.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::node_view::is() const noexcept +

                                                                                                                              +

                                                                                                                              Checks if this view references a node of a specific type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TA TOML node or value type.
                                                                                                                              ReturnsReturns true if the viewed node is an instance of the specified type.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + bool toml::node_view::is_homogeneous(node_type ntype, + viewed_type*& first_nonmatch) const noexcept +

                                                                                                                              +

                                                                                                                              Checks if the viewed node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              first_nonmatchReference to a pointer in which the address of the first non-matching element will be stored if the return value is false.
                                                                                                                              ReturnsTrue if the viewed node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]");
                                                                                                                              +
                                                                                                                              +toml::node* nonmatch{};
                                                                                                                              +if (cfg["arr"].is_homogeneous(toml::node_type::integer, nonmatch))
                                                                                                                              +    std::cout << "array was homogeneous"sv << "\n";
                                                                                                                              +else
                                                                                                                              +    std::cout << "array was not homogeneous!\n"
                                                                                                                              +    << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
                                                                                                                              array was not homogeneous!
                                                                                                                              +first non-match was a floating-point at line 1, column 18
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + bool toml::node_view::is_homogeneous(node_type ntype) const noexcept +

                                                                                                                              +

                                                                                                                              Checks if the viewed node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              ReturnsTrue if the viewed node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3 ]");
                                                                                                                              +std::cout << "homogenous: "sv << cfg["arr"].is_homogeneous(toml::node_type::none) << "\n";
                                                                                                                              +std::cout << "all floats: "sv << cfg["arr"].is_homogeneous(toml::node_type::floating_point) << "\n";
                                                                                                                              +std::cout << "all arrays: "sv << cfg["arr"].is_homogeneous(toml::node_type::array) << "\n";
                                                                                                                              +std::cout << "all ints:   "sv << cfg["arr"].is_homogeneous(toml::node_type::integer) << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename ElemType = void> +
                                                                                                                              + bool toml::node_view::is_homogeneous() const noexcept +

                                                                                                                              +

                                                                                                                              Checks if the viewed node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ElemTypeA TOML node or value type.
                                                                                                                              Left as void: "is every element the same type?"
                                                                                                                              Explicitly specified: "is every element a T?"
                                                                                                                              ReturnsTrue if the viewed node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3 ]");
                                                                                                                              +std::cout << "homogenous:   "sv << cfg["arr"].is_homogeneous() << "\n";
                                                                                                                              +std::cout << "all doubles:  "sv << cfg["arr"].is_homogeneous<double>() << "\n";
                                                                                                                              +std::cout << "all arrays:   "sv << cfg["arr"].is_homogeneous<toml::array>() << "\n";
                                                                                                                              +std::cout << "all integers: "sv << cfg["arr"].is_homogeneous<int64_t>() << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + decltype(auto) toml::node_view::ref() const noexcept +

                                                                                                                              +

                                                                                                                              Gets a raw reference to the viewed node's underlying data.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the TOML value types.
                                                                                                                              ReturnsA reference to the underlying data.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + optional<T> toml::node_view::value() const noexcept(…) +

                                                                                                                              +

                                                                                                                              Gets the value contained by the referenced node.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the native TOML value types, or a type capable of convertible to one.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or convertible to it) and within the range of the output type, or an empty optional.
                                                                                                                              +

                                                                                                                              This function has 'permissive' retrieval semantics; some value types are allowed to convert to others (e.g. retrieving a boolean as an integer), and the specified return value type can be any type where a reasonable conversion from a native TOML value exists (e.g. std::wstring on Windows). If the source value cannot be represented by the destination type, an empty optional is returned. See node::value() for examples.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + optional<T> toml::node_view::value_exact() const noexcept(…) +

                                                                                                                              +

                                                                                                                              Gets the value contained by the referenced node.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the native TOML value types, or a type capable of losslessly representing one.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or losslessly convertible to it), or an empty optional.
                                                                                                                              +

                                                                                                                              This function has 'exact' retrieval semantics; the only return value types allowed are the TOML native value types, or types that can losslessly represent a native value type (e.g. std::wstring on Windows).

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + auto toml::node_view::value_or(T&& default_value) const noexcept(…) +

                                                                                                                              +

                                                                                                                              Gets the raw value contained by the referenced node, or a default.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TDefault value type. Must be one of the native TOML value types, or convertible to it.
                                                                                                                              Parameters
                                                                                                                              default_valueThe default value to return if the node wasn't a value, wasn't the correct type, or no conversion was possible.
                                                                                                                              ReturnsThe underlying value if the node was a value of the matching type (or convertible to it) and within the range of the output type, or the provided default.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + template <typename Func> +
                                                                                                                              + decltype(auto) toml::node_view::visit(Func&& visitor) const noexcept(…) +

                                                                                                                              +

                                                                                                                              Invokes a visitor on the viewed node based on its concrete type.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ViewedType> +
                                                                                                                              + std::ostream& operator<<(std::ostream& os, + const node_view& nv) +

                                                                                                                              +

                                                                                                                              Prints the viewed node out to a stream.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.4.0/classtoml_1_1parse__error.html b/v3.4.0/classtoml_1_1parse__error.html new file mode 100644 index 00000000..dd0da2e3 --- /dev/null +++ b/v3.4.0/classtoml_1_1parse__error.html @@ -0,0 +1,210 @@ + + + + toml::parse_error class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::parse_error class +

                                                                                                                              +

                                                                                                                              An error generated when parsing fails.

                                                                                                                              + + +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto description() const -> std::string_view noexcept +
                                                                                                                              +
                                                                                                                              Returns a textual description of the error.
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the region of the source document responsible for the error.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const parse_error& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a parse_error to a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::string_view toml::parse_error::description() const noexcept +

                                                                                                                              +

                                                                                                                              Returns a textual description of the error.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const parse_error& rhs) +

                                                                                                                              +

                                                                                                                              Prints a parse_error to a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe stream.
                                                                                                                              rhsThe parse_error.
                                                                                                                              ReturnsThe input stream.
                                                                                                                              +
                                                                                                                              try
                                                                                                                              +{
                                                                                                                              +    auto tbl = toml::parse("enabled = trUe"sv);
                                                                                                                              +}
                                                                                                                              +catch (const toml::parse_error & err)
                                                                                                                              +{
                                                                                                                              +    std::cerr << "Parsing failed:\n"sv << err << "\n";
                                                                                                                              +}
                                                                                                                              Parsing failed:
                                                                                                                              +Encountered unexpected character while parsing boolean; expected 'true', saw 'trU'
                                                                                                                              +    (error occurred at line 1, column 13)
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.4.0/classtoml_1_1parse__result.html b/v3.4.0/classtoml_1_1parse__result.html new file mode 100644 index 00000000..fbdd66e9 --- /dev/null +++ b/v3.4.0/classtoml_1_1parse__result.html @@ -0,0 +1,544 @@ + + + + toml::parse_result class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::parse_result class +

                                                                                                                              +

                                                                                                                              The result of a parsing operation.

                                                                                                                              + +

                                                                                                                              A parse_result is effectively a discriminated union containing either a toml::table or a toml::parse_error. Most member functions assume a particular one of these two states, and calling them when in the wrong state will cause errors (e.g. attempting to access the error object when parsing was successful).

                                                                                                                              toml::parse_result result = toml::parse_file("config.toml");
                                                                                                                              +if (result)
                                                                                                                              +    do_stuff_with_a_table(result); //implicitly converts to table&
                                                                                                                              +else
                                                                                                                              +    std::cerr << "Parse failed:\n"sv << result.error() << "\n";
                                                                                                                              example output:
                                                                                                                              +
                                                                                                                              +Parse failed:
                                                                                                                              +Encountered unexpected character while parsing boolean; expected 'true', saw 'trU'
                                                                                                                              +    (error occurred at line 1, column 13 of 'config.toml')

                                                                                                                              Getting node_views (operator[], at_path()) and using the iterator accessor functions (begin(), end() etc.) are unconditionally safe; when parsing fails these just return 'empty' values. A ranged-for loop on a failed parse_result is also safe since begin() and end() return the same iterator and will not lead to any dereferences and iterations.

                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + parse_result() noexcept +
                                                                                                                              +
                                                                                                                              Default constructs an 'error' result.
                                                                                                                              +
                                                                                                                              + parse_result(parse_result&& res) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              + ~parse_result() noexcept +
                                                                                                                              +
                                                                                                                              Destructor.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator=(parse_result&& rhs) -> parse_result& noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Failed parses

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              + auto error() & -> parse_error& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error.
                                                                                                                              +
                                                                                                                              + auto error() && -> parse_error&& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto error() const & -> const parse_error& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error (const lvalue overload).
                                                                                                                              +
                                                                                                                              + operator const parse_error&() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error (const lvalue overload).
                                                                                                                              +
                                                                                                                              + operator parse_error&() explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error.
                                                                                                                              +
                                                                                                                              + operator parse_error&&() explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::parse_error (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Iteration

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using const_iterator = const_table_iterator +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over const key-value pairs in a wrapped toml::table.
                                                                                                                              +
                                                                                                                              + using iterator = table_iterator +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over key-value pairs in a wrapped toml::table.
                                                                                                                              +
                                                                                                                              + auto begin() -> table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto begin() const -> const_table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto cbegin() const -> const_table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto cend() const -> const_table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto end() -> table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto end() const -> const_table_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Node views

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const toml::path& path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const toml::path& path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) -> node_view<node> +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) const -> node_view<const node> +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto operator[](const toml::path& path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto operator[](const toml::path& path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto operator[](std::string_view key) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto operator[](std::string_view key) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table (const overload).
                                                                                                                              +
                                                                                                                              + auto operator[](std::wstring_view key) -> node_view<node> +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table.
                                                                                                                              +
                                                                                                                              + auto operator[](std::wstring_view key) const -> node_view<const node> +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Result state

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto failed() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if parsing failed.
                                                                                                                              +
                                                                                                                              + operator bool() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns true if parsing succeeded.
                                                                                                                              +
                                                                                                                              + auto succeeded() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if parsing succeeeded.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Successful parses

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              + operator const toml::table&() const noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table (const lvalue overload).
                                                                                                                              +
                                                                                                                              + operator toml::table&() noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table.
                                                                                                                              +
                                                                                                                              + operator toml::table&&() noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto table() & -> toml::table& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table.
                                                                                                                              +
                                                                                                                              + auto table() && -> toml::table&& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto table() const & -> const toml::table& noexcept +
                                                                                                                              +
                                                                                                                              Returns the internal toml::table (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& os, + const parse_result& result) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the held error or table object out to a text stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + table_iterator toml::parse_result::begin() noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_table_iterator toml::parse_result::begin() const noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_table_iterator toml::parse_result::cbegin() const noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to the first key-value pair in the wrapped table.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::parse_result::at_path(std::string_view path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::parse_result::at_path(std::string_view path) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::parse_result::at_path(const toml::path& path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::parse_result::at_path(const toml::path& path) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::parse_result::at_path(std::wstring_view path) +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::parse_result::at_path(std::wstring_view path) const +

                                                                                                                              +

                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::parse_result::operator[](const toml::path& path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::parse_result::operator[](const toml::path& path) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::parse_result::operator[](std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if parsing was successful and a matching key existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::parse_result::operator[](std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if parsing was successful and a matching key existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::parse_result::operator[](std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if parsing was successful and a matching key existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::parse_result::operator[](std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected key-value pair in the wrapped table (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if parsing was successful and a matching key existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& os, + const parse_result& result) +

                                                                                                                              +

                                                                                                                              Prints the held error or table object out to a text stream.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.4.0/classtoml_1_1path.html b/v3.4.0/classtoml_1_1path.html new file mode 100644 index 00000000..a5c92901 --- /dev/null +++ b/v3.4.0/classtoml_1_1path.html @@ -0,0 +1,648 @@ + + + + toml::path class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::path class +

                                                                                                                              +

                                                                                                                              A TOML path.

                                                                                                                              + +

                                                                                                                              This type parses and represents a path to a TOML node. It validates the syntax of the path but does not ensure that the path refers to a valid node in any particular TOML document. If parsing fails, the object will evaluate as 'falsy', and will be empty.

                                                                                                                              toml::path the_path("animals.cats[1]");
                                                                                                                              +
                                                                                                                              +// can use with tbl.at_path or operator[]
                                                                                                                              +std::cout << "second cat: " << tbl[the_path] << "\n";
                                                                                                                              +std::cout << "cats: " << tbl.at_path(the_path.parent_path()) << "\n";
                                                                                                                              second cat: lion
                                                                                                                              +cats: ['tiger', 'lion', 'puma']
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + operator bool() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the path has one or more components.
                                                                                                                              +
                                                                                                                              + path() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Default constructor.
                                                                                                                              +
                                                                                                                              + path(std::string_view) explicit +
                                                                                                                              +
                                                                                                                              Construct a path by parsing from a string.
                                                                                                                              +
                                                                                                                              + path(std::wstring_view) explicit +
                                                                                                                              +
                                                                                                                              Construct a path by parsing from a string.
                                                                                                                              +
                                                                                                                              + path(const path&) defaulted +
                                                                                                                              +
                                                                                                                              Copy constructor.
                                                                                                                              +
                                                                                                                              + path(path&&) defaulted noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              + ~path() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Default destructor.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto empty() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Whether (true) or not (false) the path is empty.
                                                                                                                              +
                                                                                                                              + auto operator[](size_t index) -> path_component& noexcept +
                                                                                                                              +
                                                                                                                              Fetch a path component by index.
                                                                                                                              +
                                                                                                                              + auto operator[](size_t index) const -> const path_component& noexcept +
                                                                                                                              +
                                                                                                                              Fetch a path component by index (const overload).
                                                                                                                              +
                                                                                                                              + auto size() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the number of components in the path.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Appending

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto append(const path& p) -> path& +
                                                                                                                              +
                                                                                                                              Appends another path onto the end of this one.
                                                                                                                              +
                                                                                                                              + auto append(path&& p) -> path& +
                                                                                                                              +
                                                                                                                              Appends another path onto the end of this one.
                                                                                                                              +
                                                                                                                              + auto append(std::string_view str) -> path& +
                                                                                                                              +
                                                                                                                              Parses a path and appends it onto the end of this one.
                                                                                                                              +
                                                                                                                              + auto append(std::wstring_view str) -> path& +
                                                                                                                              +
                                                                                                                              Parses a path and appends it onto the end of this one.
                                                                                                                              +
                                                                                                                              + auto operator+=(const path&) -> path& +
                                                                                                                              +
                                                                                                                              Appends another path onto the end of this one.
                                                                                                                              +
                                                                                                                              + auto operator+=(path&&) -> path& +
                                                                                                                              +
                                                                                                                              Appends another path onto the end of this one.
                                                                                                                              +
                                                                                                                              + auto operator+=(std::string_view) -> path& +
                                                                                                                              +
                                                                                                                              Parses a path and appends it onto the end of this one.
                                                                                                                              +
                                                                                                                              + auto operator+=(std::wstring_view) -> path& +
                                                                                                                              +
                                                                                                                              Parses a path and appends it onto the end of this one.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Assignment

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto assign(const path& p) -> path& +
                                                                                                                              +
                                                                                                                              Replaces the contents of the path with that of another.
                                                                                                                              +
                                                                                                                              + auto assign(path&& p) -> path& noexcept +
                                                                                                                              +
                                                                                                                              Replaces the contents of the path with that of another.
                                                                                                                              +
                                                                                                                              + auto assign(std::string_view str) -> path& +
                                                                                                                              +
                                                                                                                              Replaces the contents of the path object by a new path.
                                                                                                                              +
                                                                                                                              + auto assign(std::wstring_view str) -> path& +
                                                                                                                              +
                                                                                                                              Replaces the contents of the path object by a new path.
                                                                                                                              +
                                                                                                                              + auto operator=(const path&) -> path& defaulted +
                                                                                                                              +
                                                                                                                              Copy-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(path&&) -> path& defaulted noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(std::string_view) -> path& +
                                                                                                                              +
                                                                                                                              Replaces the contents of the path by parsing from a string.
                                                                                                                              +
                                                                                                                              + auto operator=(std::wstring_view) -> path& +
                                                                                                                              +
                                                                                                                              Replaces the contents of the path by parsing from a string.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Concatenation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator+(const path& lhs, + const path& rhs) -> path +
                                                                                                                              +
                                                                                                                              Concatenates two paths.
                                                                                                                              +
                                                                                                                              + auto operator+(const path& lhs, + std::string_view rhs) -> path +
                                                                                                                              +
                                                                                                                              Concatenates two paths.
                                                                                                                              +
                                                                                                                              + auto operator+(std::string_view lhs, + const path& rhs) -> path +
                                                                                                                              +
                                                                                                                              Concatenates two paths.
                                                                                                                              +
                                                                                                                              + auto operator+(const path& lhs, + std::wstring_view rhs) -> path +
                                                                                                                              +
                                                                                                                              Concatenates two paths.
                                                                                                                              +
                                                                                                                              + auto operator+(std::wstring_view lhs, + const path& rhs) -> path +
                                                                                                                              +
                                                                                                                              Concatenates two paths.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const path& lhs, + const path& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns whether two paths are not the same.
                                                                                                                              +
                                                                                                                              + auto operator!=(const path& lhs, + std::string_view rhs) -> bool +
                                                                                                                              +
                                                                                                                              Returns whether two paths are not the same.
                                                                                                                              +
                                                                                                                              + auto operator!=(std::string_view lhs, + const path& rhs) -> bool +
                                                                                                                              +
                                                                                                                              Returns whether two paths are not the same.
                                                                                                                              +
                                                                                                                              + auto operator!=(const path& lhs, + std::wstring_view rhs) -> bool +
                                                                                                                              +
                                                                                                                              Returns whether two paths are not the same.
                                                                                                                              +
                                                                                                                              + auto operator!=(std::wstring_view lhs, + const path& rhs) -> bool +
                                                                                                                              +
                                                                                                                              Returns whether two paths are not the same.
                                                                                                                              +
                                                                                                                              + auto operator==(const path& lhs, + const path& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns whether two paths are the same.
                                                                                                                              +
                                                                                                                              + auto operator==(const path& lhs, + std::string_view rhs) -> bool +
                                                                                                                              +
                                                                                                                              Returns whether two paths are the same.
                                                                                                                              +
                                                                                                                              + auto operator==(std::string_view lhs, + const path& rhs) -> bool +
                                                                                                                              +
                                                                                                                              Returns whether two paths are the same.
                                                                                                                              +
                                                                                                                              + auto operator==(const path& lhs, + std::wstring_view rhs) -> bool +
                                                                                                                              +
                                                                                                                              Returns whether two paths are the same.
                                                                                                                              +
                                                                                                                              + auto operator==(std::wstring_view lhs, + const path& rhs) -> bool +
                                                                                                                              +
                                                                                                                              Returns whether two paths are the same.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Iteration

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using const_iterator = std::vector<path_component>::const_iterator +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using iterator = std::vector<path_component>::iterator +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto begin() -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first component in the path.
                                                                                                                              +
                                                                                                                              + auto begin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns a const iterator to the first component in the path.
                                                                                                                              +
                                                                                                                              + auto cbegin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns a const iterator to the first component in the path.
                                                                                                                              +
                                                                                                                              + auto cend() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns a const iterator to one-past-the-last component in the path.
                                                                                                                              +
                                                                                                                              + auto end() -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last component in the path.
                                                                                                                              +
                                                                                                                              + auto end() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns a const iterator to one-past-the-last component in the path.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Prepending

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto prepend(const path&) -> path& +
                                                                                                                              +
                                                                                                                              Prepends another path onto the beginning of this one.
                                                                                                                              +
                                                                                                                              + auto prepend(path&&) -> path& +
                                                                                                                              +
                                                                                                                              Prepends another path onto the beginning of this one.
                                                                                                                              +
                                                                                                                              + auto prepend(std::string_view) -> path& +
                                                                                                                              +
                                                                                                                              Parses a path and prepends it onto the beginning of this one.
                                                                                                                              +
                                                                                                                              + auto prepend(std::wstring_view) -> path& +
                                                                                                                              +
                                                                                                                              Parses a path and prepends it onto the beginning of this one.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              String conversion

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + operator std::string() const explicit +
                                                                                                                              +
                                                                                                                              Returns a string representation of this path.
                                                                                                                              +
                                                                                                                              + operator std::wstring() const explicit +
                                                                                                                              +
                                                                                                                              Returns a string representation of this path.
                                                                                                                              +
                                                                                                                              + auto str() const -> std::string +
                                                                                                                              +
                                                                                                                              Returns a string representation of this path.
                                                                                                                              +
                                                                                                                              + auto wide_str() const -> std::wstring +
                                                                                                                              +
                                                                                                                              Returns a string representation of this path.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& os, + const path& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the string representation of a toml::path out to a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Subpaths and Truncation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + void clear() noexcept +
                                                                                                                              +
                                                                                                                              Erases the contents of the path.
                                                                                                                              +
                                                                                                                              + auto leaf(size_t n = 1) const -> path +
                                                                                                                              +
                                                                                                                              Returns a toml::path object representing terminal n-parts of a TOML path.
                                                                                                                              +
                                                                                                                              + auto parent() const -> path +
                                                                                                                              +
                                                                                                                              Returns a toml::path object representing the path of the parent node.
                                                                                                                              +
                                                                                                                              + auto subpath(const_iterator start, + const_iterator end) const -> path +
                                                                                                                              +
                                                                                                                              Returns a toml::path object that is a specified subpath of the current path, representing the range of path components from [start, end).
                                                                                                                              +
                                                                                                                              + auto subpath(size_t start, + size_t length) const -> path +
                                                                                                                              +
                                                                                                                              Returns a toml::path object that is a specified subpath of the current path, representing the range of path components with indexes from [start, start + length].
                                                                                                                              +
                                                                                                                              + auto truncate(size_t n) -> path& +
                                                                                                                              +
                                                                                                                              Removes the number of terminal path components specified by n.
                                                                                                                              +
                                                                                                                              + auto truncated(size_t n) const -> path +
                                                                                                                              +
                                                                                                                              Returns a toml::path object which has had n terminal path components removed.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Typedef documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + using toml::path::const_iterator = std::vector<path_component>::const_iterator +

                                                                                                                              +

                                                                                                                              A const iterator for iterating over the components in the path.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + using toml::path::iterator = std::vector<path_component>::iterator +

                                                                                                                              +

                                                                                                                              An iterator for iterating over the components in the path.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::path::path(std::wstring_view) explicit +

                                                                                                                              +

                                                                                                                              Construct a path by parsing from a string.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + path& toml::path::append(std::wstring_view str) +

                                                                                                                              +

                                                                                                                              Parses a path and appends it onto the end of this one.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + path& toml::path::operator+=(std::wstring_view) +

                                                                                                                              +

                                                                                                                              Parses a path and appends it onto the end of this one.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + path& toml::path::assign(std::wstring_view str) +

                                                                                                                              +

                                                                                                                              Replaces the contents of the path object by a new path.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + path& toml::path::operator=(std::wstring_view) +

                                                                                                                              +

                                                                                                                              Replaces the contents of the path by parsing from a string.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + path toml::path::operator+(const path& lhs, + std::wstring_view rhs) +

                                                                                                                              +

                                                                                                                              Concatenates two paths.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + path toml::path::operator+(std::wstring_view lhs, + const path& rhs) +

                                                                                                                              +

                                                                                                                              Concatenates two paths.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::path::operator!=(const path& lhs, + std::wstring_view rhs) +

                                                                                                                              +

                                                                                                                              Returns whether two paths are not the same.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::path::operator!=(std::wstring_view lhs, + const path& rhs) +

                                                                                                                              +

                                                                                                                              Returns whether two paths are not the same.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::path::operator==(const path& lhs, + std::wstring_view rhs) +

                                                                                                                              +

                                                                                                                              Returns whether two paths are the same.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::path::operator==(std::wstring_view lhs, + const path& rhs) +

                                                                                                                              +

                                                                                                                              Returns whether two paths are the same.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::path::begin() noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to the first component in the path.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_iterator toml::path::begin() const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const iterator to the first component in the path.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_iterator toml::path::cbegin() const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const iterator to the first component in the path.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_iterator toml::path::cend() const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const iterator to one-past-the-last component in the path.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::path::end() noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to one-past-the-last component in the path.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_iterator toml::path::end() const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const iterator to one-past-the-last component in the path.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + path& toml::path::prepend(std::wstring_view) +

                                                                                                                              +

                                                                                                                              Parses a path and prepends it onto the beginning of this one.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::path::operator std::wstring() const explicit +

                                                                                                                              +

                                                                                                                              Returns a string representation of this path.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::wstring toml::path::wide_str() const +

                                                                                                                              +

                                                                                                                              Returns a string representation of this path.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.4.0/classtoml_1_1path__component.html b/v3.4.0/classtoml_1_1path__component.html new file mode 100644 index 00000000..fd7ddfe0 --- /dev/null +++ b/v3.4.0/classtoml_1_1path__component.html @@ -0,0 +1,263 @@ + + + + toml::path_component class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::path_component class +

                                                                                                                              +

                                                                                                                              Represents a single component of a complete 'TOML-path': either a key or an array index.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + path_component() +
                                                                                                                              +
                                                                                                                              Default constructor (creates an empty key).
                                                                                                                              +
                                                                                                                              + path_component(size_t index) noexcept +
                                                                                                                              +
                                                                                                                              Constructor for a path component that is an array index.
                                                                                                                              +
                                                                                                                              + path_component(std::string_view key) +
                                                                                                                              +
                                                                                                                              Constructor for a path component that is a key string.
                                                                                                                              +
                                                                                                                              + path_component(std::wstring_view key) +
                                                                                                                              +
                                                                                                                              Constructor for a path component that is a key string.
                                                                                                                              +
                                                                                                                              + path_component(const path_component& pc) +
                                                                                                                              +
                                                                                                                              Copy constructor.
                                                                                                                              +
                                                                                                                              + path_component(path_component&& pc) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              + ~path_component() noexcept +
                                                                                                                              +
                                                                                                                              Destructor.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator=(const path_component& rhs) -> path_component& +
                                                                                                                              +
                                                                                                                              Copy-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(path_component&& rhs) -> path_component& noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(size_t new_index) -> path_component& noexcept +
                                                                                                                              +
                                                                                                                              Assigns an array index to this path component.
                                                                                                                              +
                                                                                                                              + auto operator=(std::string_view new_key) -> path_component& +
                                                                                                                              +
                                                                                                                              Assigns a path key to this path component.
                                                                                                                              +
                                                                                                                              + auto operator=(std::wstring_view new_key) -> path_component& +
                                                                                                                              +
                                                                                                                              Assigns a path key to this path component.
                                                                                                                              +
                                                                                                                              + auto type() const -> path_component_type noexcept +
                                                                                                                              +
                                                                                                                              Retrieve the type of this path component, either path_component::key or path_component::array_index.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Array index accessors

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              + auto index() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the array index (const lvalue overload).
                                                                                                                              +
                                                                                                                              + operator size_t() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns the array index (const lvalue).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const path_component& lhs, + const path_component& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if two path components do not represent the same key or array index.
                                                                                                                              +
                                                                                                                              + auto operator==(const path_component& lhs, + const path_component& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if two path components represent the same key or array index.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Key accessors

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              + auto key() const -> const std::string& noexcept +
                                                                                                                              +
                                                                                                                              Returns the key string.
                                                                                                                              +
                                                                                                                              + operator const std::string&() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns the key string.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::path_component::path_component(std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Constructor for a path component that is a key string.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + path_component& toml::path_component::operator=(std::wstring_view new_key) +

                                                                                                                              +

                                                                                                                              Assigns a path key to this path component.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.4.0/classtoml_1_1table.html b/v3.4.0/classtoml_1_1table.html new file mode 100644 index 00000000..79cfe782 --- /dev/null +++ b/v3.4.0/classtoml_1_1table.html @@ -0,0 +1,2153 @@ + + + + toml::table class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::table class +

                                                                                                                              +

                                                                                                                              A TOML table.

                                                                                                                              + +

                                                                                                                              The interface of this type is modeled after std::map, with some additional considerations made for the heterogeneous nature of a TOML table.

                                                                                                                              toml::table tbl = toml::parse(R"(
                                                                                                                              +
                                                                                                                              +    [animals]
                                                                                                                              +    cats = [ "tiger", "lion", "puma" ]
                                                                                                                              +    birds = [ "macaw", "pigeon", "canary" ]
                                                                                                                              +    fish = [ "salmon", "trout", "carp" ]
                                                                                                                              +
                                                                                                                              +)"sv);
                                                                                                                              +
                                                                                                                              +// operator[] retrieves node-views
                                                                                                                              +std::cout << "cats: " << tbl["animals"]["cats"] << "\n";
                                                                                                                              +std::cout << "fish[1]: " << tbl["animals"]["fish"][1] << "\n";
                                                                                                                              +
                                                                                                                              +// at_path() does fully-qualified "toml path" lookups
                                                                                                                              +std::cout << "cats: " << tbl.at_path("animals.cats") << "\n";
                                                                                                                              +std::cout << "fish[1]: " << tbl.at_path("animals.fish[1]") << "\n";
                                                                                                                              cats: ['tiger', 'lion', 'puma']
                                                                                                                              +fish[1] : 'trout'
                                                                                                                              +cats : ['tiger', 'lion', 'puma']
                                                                                                                              +fish[1] : 'trout'
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Base classes

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + class node +
                                                                                                                              +
                                                                                                                              A TOML node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + table() noexcept +
                                                                                                                              +
                                                                                                                              Default constructor.
                                                                                                                              +
                                                                                                                              + table(const table&) +
                                                                                                                              +
                                                                                                                              Copy constructor.
                                                                                                                              +
                                                                                                                              + table(table&& other) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              + table(std::initializer_list<impl::table_init_pair> kvps) explicit +
                                                                                                                              +
                                                                                                                              Constructs a table with one or more initial key-value pairs.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator=(const table&) -> table& +
                                                                                                                              +
                                                                                                                              Copy-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(table&& rhs) -> table& noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const table& lhs, + const table& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const table& lhs, + const table& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Erasure

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + void clear() noexcept +
                                                                                                                              +
                                                                                                                              Removes all key-value pairs from the table.
                                                                                                                              +
                                                                                                                              + auto erase(iterator pos) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Removes the specified key-value pair from the table.
                                                                                                                              +
                                                                                                                              + auto erase(const_iterator pos) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Removes the specified key-value pair from the table (const iterator overload).
                                                                                                                              +
                                                                                                                              + auto erase(const_iterator begin, + const_iterator end) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Removes the key-value pairs in the range [first, last) from the table.
                                                                                                                              +
                                                                                                                              + auto erase(std::string_view key) -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Removes the value with the given key from the table.
                                                                                                                              +
                                                                                                                              + auto erase(std::wstring_view key) -> size_t +
                                                                                                                              +
                                                                                                                              Removes the value with the given key from the table.
                                                                                                                              +
                                                                                                                              + auto prune(bool recursive = true) & -> table& noexcept +
                                                                                                                              +
                                                                                                                              Removes empty child arrays and tables.
                                                                                                                              +
                                                                                                                              + auto prune(bool recursive = true) && -> table&& noexcept +
                                                                                                                              +
                                                                                                                              Removes empty child arrays and tables (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Insertion and Emplacement

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ValueType = void, typename KeyType, typename... ValueArgs>
                                                                                                                              + auto emplace(KeyType&& key, + ValueArgs && ... args) -> std::pair<iterator, bool> +
                                                                                                                              +
                                                                                                                              Emplaces a new value at a specific key if one did not already exist.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ValueType = void, typename KeyType, typename... ValueArgs>
                                                                                                                              + auto emplace_hint(const_iterator hint, + KeyType&& key, + ValueArgs && ... args) -> iterator +
                                                                                                                              +
                                                                                                                              Emplaces a new value at a specific key if one did not already exist.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename KeyType, typename ValueType>
                                                                                                                              + auto insert(KeyType&& key, + ValueType&& val, + value_flags flags = preserve_source_value_flags) -> std::pair<iterator, bool> +
                                                                                                                              +
                                                                                                                              Inserts a new value at a specific key if one did not already exist.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Iter>
                                                                                                                              + void insert(Iter begin, + Iter end, + value_flags flags = preserve_source_value_flags) +
                                                                                                                              +
                                                                                                                              Inserts a series of key-value pairs into the table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename KeyType, typename ValueType>
                                                                                                                              + auto insert_or_assign(KeyType&& key, + ValueType&& val, + value_flags flags = preserve_source_value_flags) -> std::pair<iterator, bool> +
                                                                                                                              +
                                                                                                                              Inserts or assigns a value at a specific key.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Iteration

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using const_iterator = toml::const_table_iterator +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over const key-value pairs in a toml::table.
                                                                                                                              +
                                                                                                                              + using iterator = toml::table_iterator +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over key-value pairs in a toml::table.
                                                                                                                              +
                                                                                                                              + auto begin() -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair.
                                                                                                                              +
                                                                                                                              + auto begin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair.
                                                                                                                              +
                                                                                                                              + auto cbegin() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair.
                                                                                                                              +
                                                                                                                              + auto cend() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair.
                                                                                                                              +
                                                                                                                              + auto end() -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair.
                                                                                                                              +
                                                                                                                              + auto end() const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to one-past-the-last key-value pair.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto for_each(Func&& visitor) & -> table& noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on each key-value pair in the table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto for_each(Func&& visitor) && -> table&& noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on each key-value pair in the table (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto for_each(Func&& visitor) const & -> const table& noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on each key-value pair in the table (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto for_each(Func&& visitor) const && -> const table&& noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on each key-value pair in the table (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Metadata

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto is_inline() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this table is an inline table.
                                                                                                                              +
                                                                                                                              + void is_inline(bool val) noexcept +
                                                                                                                              +
                                                                                                                              Sets whether this table is a TOML inline table.
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the source region responsible for generating this node during parsing.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Node views

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const toml::path& path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const toml::path& path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) -> node_view<node> +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) const -> node_view<const node> +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + operator node_view<const node>() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node (const overload).
                                                                                                                              +
                                                                                                                              + operator node_view<node>() explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node.
                                                                                                                              +
                                                                                                                              + auto operator[](std::string_view key) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected value.
                                                                                                                              +
                                                                                                                              + auto operator[](std::string_view key) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected value (const overload).
                                                                                                                              +
                                                                                                                              + auto operator[](std::wstring_view key) -> node_view<node> +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected value.
                                                                                                                              +
                                                                                                                              + auto operator[](std::wstring_view key) const -> node_view<const node> +
                                                                                                                              +
                                                                                                                              Gets a node_view for the selected value (const overload).
                                                                                                                              +
                                                                                                                              + auto operator[](const toml::path& path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto operator[](const toml::path& path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Searching

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto contains(std::string_view key) const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the table contains a node at the given key.
                                                                                                                              +
                                                                                                                              + auto contains(std::wstring_view key) const -> bool +
                                                                                                                              +
                                                                                                                              Returns true if the table contains a node at the given key.
                                                                                                                              +
                                                                                                                              + auto find(std::string_view key) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Gets an iterator to the node at a specific key.
                                                                                                                              +
                                                                                                                              + auto find(std::string_view key) const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Gets an iterator to the node at a specific key (const overload)
                                                                                                                              +
                                                                                                                              + auto find(std::wstring_view key) -> iterator +
                                                                                                                              +
                                                                                                                              Gets an iterator to the node at a specific key.
                                                                                                                              +
                                                                                                                              + auto find(std::wstring_view key) const -> const_iterator +
                                                                                                                              +
                                                                                                                              Gets an iterator to the node at a specific key (const overload).
                                                                                                                              +
                                                                                                                              + auto lower_bound(std::string_view key) -> iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair with key that is not less than the given key.
                                                                                                                              +
                                                                                                                              + auto lower_bound(std::string_view key) const -> const_iterator noexcept +
                                                                                                                              +
                                                                                                                              Returns a const iterator to the first key-value pair with key that is not less than the given key.
                                                                                                                              +
                                                                                                                              + auto lower_bound(std::wstring_view key) -> iterator +
                                                                                                                              +
                                                                                                                              Returns an iterator to the first key-value pair with key that is not less than the given key.
                                                                                                                              +
                                                                                                                              + auto lower_bound(std::wstring_view key) const -> const_iterator +
                                                                                                                              +
                                                                                                                              Returns a const iterator to the first key-value pair with key that is not less than the given key.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Size and Capacity

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto empty() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the table is empty.
                                                                                                                              +
                                                                                                                              + auto size() const -> size_t noexcept +
                                                                                                                              +
                                                                                                                              Returns the number of key-value pairs in the table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type casts

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() -> impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() const -> const impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type (const overload).
                                                                                                                              +
                                                                                                                              + auto as_array() -> array* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_array() const -> const array* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_boolean() -> toml::value<bool>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_boolean() const -> const toml::value<bool>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date() -> toml::value<date>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date() const -> const toml::value<date>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date_time() -> toml::value<date_time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date_time() const -> const toml::value<date_time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() -> toml::value<double>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() const -> const toml::value<double>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_integer() -> toml::value<int64_t>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_integer() const -> const toml::value<int64_t>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_string() -> toml::value<std::string>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_string() const -> const toml::value<std::string>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_table() -> table* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the table.
                                                                                                                              +
                                                                                                                              + auto as_table() const -> const table* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the table.
                                                                                                                              +
                                                                                                                              + auto as_time() -> toml::value<time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_time() const -> const toml::value<time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type checks

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto is() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node is a specific type.
                                                                                                                              +
                                                                                                                              + auto is_array() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_array_of_tables() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_boolean() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_date() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_date_time() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_floating_point() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype) const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + node*& first_nonmatch) -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + const node*& first_nonmatch) const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType = void>
                                                                                                                              + auto is_homogeneous() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_integer() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_number() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_string() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_table() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true.
                                                                                                                              +
                                                                                                                              + auto is_time() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_value() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto type() const -> node_type final noexcept +
                                                                                                                              +
                                                                                                                              Returns toml::node_type::table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Value retrieval

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at(std::string_view key) -> node& +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific key, throwing std::out_of_range if none existed.
                                                                                                                              +
                                                                                                                              + auto at(std::string_view key) const -> const node& +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific key, throwing std::out_of_range if none existed.
                                                                                                                              +
                                                                                                                              + auto at(std::wstring_view key) -> node& +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific key, throwing std::out_of_range if none existed.
                                                                                                                              +
                                                                                                                              + auto at(std::wstring_view key) const -> const node& +
                                                                                                                              +
                                                                                                                              Gets a reference to the element at a specific key, throwing std::out_of_range if none existed.
                                                                                                                              +
                                                                                                                              + auto get(std::string_view key) -> node* noexcept +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key.
                                                                                                                              +
                                                                                                                              + auto get(std::string_view key) const -> const node* noexcept +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key (const overload).
                                                                                                                              +
                                                                                                                              + auto get(std::wstring_view key) -> node* +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key.
                                                                                                                              +
                                                                                                                              + auto get(std::wstring_view key) const -> const node* +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto get_as(std::string_view key) -> impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key if it is a particular type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto get_as(std::string_view key) const -> const impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key if it is a particular type (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto get_as(std::wstring_view key) -> impl::wrap_node<T>* +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key if it is a particular type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto get_as(std::wstring_view key) const -> const impl::wrap_node<T>* +
                                                                                                                              +
                                                                                                                              Gets the node at a specific key if it is a particular type (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_exact() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_or(T&& default_value) const -> auto noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the raw value contained by this node, or a default.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Visitation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const table& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the table out to a stream as formatted TOML.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::table::table(std::initializer_list<impl::table_init_pair> kvps) explicit +

                                                                                                                              +

                                                                                                                              Constructs a table with one or more initial key-value pairs.

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              kvpsA list of key-value pairs used to initialize the table.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "foo", 1 },
                                                                                                                              +    { "bar", 2.0 },
                                                                                                                              +    { "kek", "three" }
                                                                                                                              +};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { foo = 1, bar = 2.0, kek = "three" }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::operator!=(const table& lhs, + const table& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Inequality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS table.
                                                                                                                              rhsThe RHS table.
                                                                                                                              ReturnsTrue if the tables did not contain the same keys and map.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::operator==(const table& lhs, + const table& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Equality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS table.
                                                                                                                              rhsThe RHS table.
                                                                                                                              ReturnsTrue if the tables contained the same keys and map.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::erase(iterator pos) noexcept +

                                                                                                                              +

                                                                                                                              Removes the specified key-value pair from the table.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              posIterator to the key-value pair being erased.
                                                                                                                              ReturnsIterator to the first key-value pair immediately following the removed key-value pair.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 1 },
                                                                                                                              +    { "b", 2 },
                                                                                                                              +    { "c", 3 }
                                                                                                                              +};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +
                                                                                                                              +tbl.erase(tbl.begin() + 1);
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { a = 1, b = 2, c = 3 }
                                                                                                                              +{ a = 1, c = 3 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::erase(const_iterator pos) noexcept +

                                                                                                                              +

                                                                                                                              Removes the specified key-value pair from the table (const iterator overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              posIterator to the key-value pair being erased.
                                                                                                                              ReturnsIterator to the first key-value pair immediately following the removed key-value pair.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 1 },
                                                                                                                              +    { "b", 2 },
                                                                                                                              +    { "c", 3 }
                                                                                                                              +};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +
                                                                                                                              +tbl.erase(tbl.cbegin() + 1);
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { a = 1, b = 2, c = 3 }
                                                                                                                              +{ a = 1, c = 3 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::erase(const_iterator begin, + const_iterator end) noexcept +

                                                                                                                              +

                                                                                                                              Removes the key-value pairs in the range [first, last) from the table.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              beginIterator to the first key-value pair being erased.
                                                                                                                              endIterator to the one-past-the-last key-value pair being erased.
                                                                                                                              ReturnsIterator to the first key-value pair immediately following the last removed key-value pair.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 1 },
                                                                                                                              +    { "b", "bad" },
                                                                                                                              +    { "c", "karma" },
                                                                                                                              +    { "d", 2 }
                                                                                                                              +};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +
                                                                                                                              +tbl.erase(tbl.cbegin() + 1, tbl.cbegin() + 3);
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { a = 1, b = "bad", c = "karma", d = 2 }
                                                                                                                              +{ a = 1, d = 2 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + size_t toml::table::erase(std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Removes the value with the given key from the table.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyKey to erase.
                                                                                                                              ReturnsNumber of elements removed (0 or 1).
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 1 },
                                                                                                                              +    { "b", 2 },
                                                                                                                              +    { "c", 3 }
                                                                                                                              +};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +
                                                                                                                              +std::cout << tbl.erase("b") << "\n";
                                                                                                                              +std::cout << tbl.erase("not an existing key") << "\n";
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { a = 1, b = 2, c = 3 }
                                                                                                                              +true
                                                                                                                              +false
                                                                                                                              +{ a = 1, c = 3 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + size_t toml::table::erase(std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Removes the value with the given key from the table.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyKey to erase.
                                                                                                                              ReturnsNumber of elements removed (0 or 1).
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + table& toml::table::prune(bool recursive = true) & noexcept +

                                                                                                                              +

                                                                                                                              Removes empty child arrays and tables.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              recursiveShould child arrays and tables themselves be pruned?
                                                                                                                              ReturnsA reference to the table.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{ { "a", 1 }, { "b", toml::array{ } }, { "c", toml::array{ toml::table{}, toml::array{} } } };
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              +
                                                                                                                              +arr.prune();
                                                                                                                              +std::cout << arr << "\n";
                                                                                                                              { a = 1, b = [], c = [ {}, [] ] }
                                                                                                                              +{ a = 1 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + table&& toml::table::prune(bool recursive = true) && noexcept +

                                                                                                                              +

                                                                                                                              Removes empty child arrays and tables (rvalue overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              recursiveShould child arrays and tables themselves be pruned?
                                                                                                                              ReturnsAn rvalue reference to the table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType = void, typename KeyType, typename... ValueArgs> +
                                                                                                                              + std::pair<iterator, bool> toml::table::emplace(KeyType&& key, + ValueArgs && ... args) +

                                                                                                                              +

                                                                                                                              Emplaces a new value at a specific key if one did not already exist.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ValueTypetoml::table, toml::array, or any native TOML value type.
                                                                                                                              KeyTypeA toml::key or any compatible string type.
                                                                                                                              ValueArgsValue constructor argument types.
                                                                                                                              Parameters
                                                                                                                              keyThe key at which to emplace the new value.
                                                                                                                              argsArguments to forward to the value's constructor.
                                                                                                                              Returns

                                                                                                                              A std::pair containing:

                                                                                                                              • An iterator to the emplacement position (or the position of the value that prevented emplacement)
                                                                                                                              • A boolean indicating if the emplacement was successful.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 1 },
                                                                                                                              +    { "b", 2 },
                                                                                                                              +    { "c", 3 }
                                                                                                                              +};
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +
                                                                                                                              +for (auto k : { "a", "d" })
                                                                                                                              +{
                                                                                                                              +    // add a string using std::string's substring constructor
                                                                                                                              +    auto result = tbl.emplace<std::string>(k, "this is not a drill"sv, 14, 5);
                                                                                                                              +    std::cout << "emplaced with key '"sv << k << "': "sv << result.second << "\n";
                                                                                                                              +}
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              { a = 1, b = 2, c = 3 }
                                                                                                                              +emplaced with key 'a': false
                                                                                                                              +emplaced with key 'd': true
                                                                                                                              +{ a = 1, b = 2, c = 3, d = "drill" }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType = void, typename KeyType, typename... ValueArgs> +
                                                                                                                              + iterator toml::table::emplace_hint(const_iterator hint, + KeyType&& key, + ValueArgs && ... args) +

                                                                                                                              +

                                                                                                                              Emplaces a new value at a specific key if one did not already exist.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ValueTypetoml::table, toml::array, or any native TOML value type.
                                                                                                                              KeyTypeA toml::key or any compatible string type.
                                                                                                                              ValueArgsValue constructor argument types.
                                                                                                                              Parameters
                                                                                                                              hintIterator to the position before which the new element will be emplaced.
                                                                                                                              keyThe key at which to emplace the new value.
                                                                                                                              argsArguments to forward to the value's constructor.
                                                                                                                              ReturnsAn iterator to the emplacement position (or the position of the value that prevented emplacement)
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename KeyType, typename ValueType> +
                                                                                                                              + std::pair<iterator, bool> toml::table::insert(KeyType&& key, + ValueType&& val, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Inserts a new value at a specific key if one did not already exist.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              KeyTypeA toml::key or any compatible string type.
                                                                                                                              ValueTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              keyThe key at which to insert the new value.
                                                                                                                              valThe new value to insert.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              Returns

                                                                                                                              Valid input:

                                                                                                                              • An iterator to the insertion position (or the position of the value that prevented insertion)
                                                                                                                              • A boolean indicating if the insertion was successful.
                                                                                                                              +

                                                                                                                              Input is a null toml::node_view: + { end(), false }

                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto tbl = toml::table{ + { "a", 1 }, + { "b", 2 }, + { "c", 3 } +}; +std::cout << tbl << "\n"; + +for (auto k : { "a", "d" }) +{ + auto result = tbl.insert(k, 42); + std::cout << "inserted with key '"sv << k << "': "sv << result.second << "\n"; +} +std::cout << tbl << "\n";
                                                                                                                              a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +
                                                                                                                              +inserted with key 'a': false
                                                                                                                              +inserted with key 'd': true
                                                                                                                              +a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +d = 42
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Iter> +
                                                                                                                              + void toml::table::insert(Iter begin, + Iter end, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Inserts a series of key-value pairs into the table.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              IterAn InputIterator to a collection of key-value pairs.
                                                                                                                              Parameters
                                                                                                                              beginAn iterator to the first value in the input collection.
                                                                                                                              endAn iterator to one-past-the-last value in the input collection.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto tbl = toml::table{ + { "a", 1 }, + { "b", 2 }, + { "c", 3 } +}; +std::cout << tbl << "\n"; + +auto kvps = std::array<std::pair<std::string, int>, 2>{{ + { "d", 42 }, + { "a", 43 } // won't be inserted, 'a' already exists +}}; +tbl.insert(kvps.begin(), kvps.end()); +std::cout << tbl << "\n";
                                                                                                                              a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +
                                                                                                                              +a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +d = 42
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename KeyType, typename ValueType> +
                                                                                                                              + std::pair<iterator, bool> toml::table::insert_or_assign(KeyType&& key, + ValueType&& val, + value_flags flags = preserve_source_value_flags) +

                                                                                                                              +

                                                                                                                              Inserts or assigns a value at a specific key.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              KeyTypeA toml::key or any compatible string type.
                                                                                                                              ValueTypetoml::node, toml::node_view, toml::table, toml::array, or a native TOML value type (or a type promotable to one).
                                                                                                                              Parameters
                                                                                                                              keyThe key at which to insert or assign the value.
                                                                                                                              valThe value to insert/assign.
                                                                                                                              flagsValue flags to apply to new values.
                                                                                                                              Returns

                                                                                                                              Valid input:

                                                                                                                              • An iterator to the value's position
                                                                                                                              • true if the value was inserted, false if it was assigned.
                                                                                                                              +

                                                                                                                              Input is a null toml::node_view: + { end(), false }

                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto tbl = toml::table{ + { "a", 1 }, + { "b", 2 }, + { "c", 3 } +}; +std::cout << tbl << "\n"; + +for (auto k : { "a", "d" }) +{ + auto result = tbl.insert_or_assign(k, 42); + std::cout << "value at key '"sv << k + << "' was "sv << (result.second ? "inserted"sv : "assigned"sv) << "\n"; +} +std::cout << tbl << "\n";
                                                                                                                              a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +
                                                                                                                              +value at key 'a' was assigned
                                                                                                                              +value at key 'd' was inserted
                                                                                                                              +a = 42
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +d = 42
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Func> +
                                                                                                                              + table& toml::table::for_each(Func&& visitor) & noexcept(…) +

                                                                                                                              +

                                                                                                                              Invokes a visitor on each key-value pair in the table.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              Func

                                                                                                                              A callable type invocable with one of the following signatures:

                                                                                                                              • func(key, val)
                                                                                                                              • func(val)

                                                                                                                              Where:

                                                                                                                              • key will recieve a const reference to a toml::key
                                                                                                                              • val will recieve the value as it's concrete type with cvref-qualifications matching the table

                                                                                                                              Visitors returning bool (or something convertible to bool) will cause iteration to stop if they return false.

                                                                                                                              Parameters
                                                                                                                              visitorThe visitor object.
                                                                                                                              ReturnsA reference to the table.
                                                                                                                              +
                                                                                                                              toml::table tbl{
                                                                                                                              +    { "0",  0      },
                                                                                                                              +    { "1",  1      },
                                                                                                                              +    { "2",  2      },
                                                                                                                              +    { "3",  3.0    },
                                                                                                                              +    { "4",  "four" },
                                                                                                                              +    { "5",  "five" },
                                                                                                                              +    { "6",  6      }
                                                                                                                              +};
                                                                                                                              +
                                                                                                                              +// select only the integers using a strongly-typed visitor
                                                                                                                              +tbl.for_each([](toml::value<int64_t>& val)
                                                                                                                              +{
                                                                                                                              +    std::cout << val << ", ";
                                                                                                                              +});
                                                                                                                              +std::cout << "\n";
                                                                                                                              +
                                                                                                                              +// select all the numeric values using a generic visitor + is_number<> metafunction
                                                                                                                              +tbl.for_each([](auto&& val)
                                                                                                                              +{
                                                                                                                              +    if constexpr (toml::is_number<decltype(val)>)
                                                                                                                              +        std::cout << val << ", ";
                                                                                                                              +});
                                                                                                                              +std::cout << "\n";
                                                                                                                              +
                                                                                                                              +// select all the numeric values until we encounter something non-numeric
                                                                                                                              +tbl.for_each([](auto&& val)
                                                                                                                              +{
                                                                                                                              +    if constexpr (toml::is_number<decltype(val)>)
                                                                                                                              +    {
                                                                                                                              +        std::cout << val << ", ";
                                                                                                                              +        return true; // "keep going"
                                                                                                                              +    }
                                                                                                                              +    else
                                                                                                                              +        return false; // "stop!"
                                                                                                                              +
                                                                                                                              +});
                                                                                                                              +std::cout << "\n\n";
                                                                                                                              +
                                                                                                                              +// visitors may also recieve the key
                                                                                                                              +tbl.for_each([](const toml::key& key, auto&& val)
                                                                                                                              +{
                                                                                                                              +    std::cout << key << ": " << val << "\n";
                                                                                                                              +});
                                                                                                                              0, 1, 2, 6,
                                                                                                                              +0, 1, 2, 3.0, 6,
                                                                                                                              +0, 1, 2, 3.0,
                                                                                                                              +
                                                                                                                              +0: 0
                                                                                                                              +1: 1
                                                                                                                              +2: 2
                                                                                                                              +3: 3.0
                                                                                                                              +4: 'four'
                                                                                                                              +5: 'five'
                                                                                                                              +6: 6
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::is_inline() const noexcept +

                                                                                                                              +

                                                                                                                              Returns true if this table is an inline table.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + void toml::table::is_inline(bool val) noexcept +

                                                                                                                              +

                                                                                                                              Sets whether this table is a TOML inline table.

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              valThe new value for 'inline'.
                                                                                                                              +

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              auto tbl = toml::table{ + { "a", 1 }, + { "b", 2 }, + { "c", 3 }, + { "d", toml::table{ { "e", 4 } } } +}; +std::cout << "is inline? "sv << tbl.is_inline() << "\n"; +std::cout << tbl << "\n\n"; + +tbl.is_inline(!tbl.is_inline()); +std::cout << "is inline? "sv << tbl.is_inline() << "\n"; +std::cout << tbl << "\n";
                                                                                                                              is inline? false
                                                                                                                              +a = 1
                                                                                                                              +b = 2
                                                                                                                              +c = 3
                                                                                                                              +
                                                                                                                              +[d]
                                                                                                                              +e = 4
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +is inline? true
                                                                                                                              +{ a = 1, b = 2, c = 3, d = { e = 4 } }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::table::operator[](std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected value.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if one existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::table::operator[](std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected value (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if one existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::table::operator[](std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected value.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if one existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::table::operator[](std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Gets a node_view for the selected value (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe key used for the lookup.
                                                                                                                              ReturnsA view of the value at the given key if one existed, or an empty node view.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::contains(std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Returns true if the table contains a node at the given key.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::find(std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets an iterator to the node at a specific key.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsAn iterator to the node at the specified key, or end().
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_iterator toml::table::find(std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets an iterator to the node at a specific key (const overload)

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA const iterator to the node at the specified key, or cend().
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::find(std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Gets an iterator to the node at a specific key.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsAn iterator to the node at the specified key, or end().
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_iterator toml::table::find(std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Gets an iterator to the node at a specific key (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA const iterator to the node at the specified key, or cend().
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::lower_bound(std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Returns an iterator to the first key-value pair with key that is not less than the given key.

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsAn iterator to the first matching key-value pair, or end().
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_iterator toml::table::lower_bound(std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Returns a const iterator to the first key-value pair with key that is not less than the given key.

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsAn iterator to the first matching key-value pair, or end().
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + iterator toml::table::lower_bound(std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Returns an iterator to the first key-value pair with key that is not less than the given key.

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsAn iterator to the first matching key-value pair, or end().
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const_iterator toml::table::lower_bound(std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Returns a const iterator to the first key-value pair with key that is not less than the given key.

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsAn iterator to the first matching key-value pair, or end().
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::is_homogeneous(node_type ntype) const final noexcept +

                                                                                                                              +

                                                                                                                              Checks if the node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << "homogenous: "sv << arr.is_homogeneous(toml::node_type::none) << "\n";
                                                                                                                              +std::cout << "all floats: "sv << arr.is_homogeneous(toml::node_type::floating_point) << "\n";
                                                                                                                              +std::cout << "all arrays: "sv << arr.is_homogeneous(toml::node_type::array) << "\n";
                                                                                                                              +std::cout << "all ints:   "sv << arr.is_homogeneous(toml::node_type::integer) << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + bool toml::table::is_homogeneous(node_type ntype, + node*& first_nonmatch) final noexcept +

                                                                                                                              +

                                                                                                                              Checks if a node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              first_nonmatchReference to a pointer in which the address of the first non-matching element will be stored if the return value is false.
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]");
                                                                                                                              +toml::array& arr = *cfg["arr"].as_array();
                                                                                                                              +
                                                                                                                              +toml::node* nonmatch{};
                                                                                                                              +if (arr.is_homogeneous(toml::node_type::integer, nonmatch))
                                                                                                                              +    std::cout << "array was homogeneous"sv << "\n";
                                                                                                                              +else
                                                                                                                              +    std::cout << "array was not homogeneous!\n"
                                                                                                                              +    << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
                                                                                                                              array was not homogeneous!
                                                                                                                              +first non-match was a floating-point at line 1, column 18
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node& toml::table::at(std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Gets a reference to the element at a specific key, throwing std::out_of_range if none existed.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const node& toml::table::at(std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Gets a reference to the element at a specific key, throwing std::out_of_range if none existed.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node* toml::table::get(std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key, or nullptr.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 42, },
                                                                                                                              +    { "b", "is the meaning of life, apparently." }
                                                                                                                              +};
                                                                                                                              +std::cout << R"(node ["a"] exists: )"sv << !!arr.get("a") << "\n";
                                                                                                                              +std::cout << R"(node ["b"] exists: )"sv << !!arr.get("b") << "\n";
                                                                                                                              +std::cout << R"(node ["c"] exists: )"sv << !!arr.get("c") << "\n";
                                                                                                                              +if (auto val = arr.get("a"))
                                                                                                                              +    std::cout << R"(node ["a"] was an )"sv << val->type() << "\n";
                                                                                                                              node ["a"] exists: true
                                                                                                                              +node ["b"] exists: true
                                                                                                                              +node ["c"] exists: false
                                                                                                                              +node ["a"] was an integer
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const node* toml::table::get(std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key, or nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node* toml::table::get(std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key, or nullptr.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + const node* toml::table::get(std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key, or nullptr.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + impl::wrap_node<T>* toml::table::get_as(std::string_view key) noexcept +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key if it is a particular type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the TOML node or value types.
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key if it was of the given type, or nullptr.
                                                                                                                              +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "a", 42, },
                                                                                                                              +    { "b", "is the meaning of life, apparently." }
                                                                                                                              +};
                                                                                                                              +if (auto val = arr.get_as<int64_t>("a"))
                                                                                                                              +    std::cout << R"(node ["a"] was an integer with value )"sv << **val << "\n";
                                                                                                                              node ["a"] was an integer with value 42
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + const impl::wrap_node<T>* toml::table::get_as(std::string_view key) const noexcept +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key if it is a particular type (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the TOML node or value types.
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key if it was of the given type, or nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + impl::wrap_node<T>* toml::table::get_as(std::wstring_view key) +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key if it is a particular type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the TOML node or value types.
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key if it was of the given type, or nullptr.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + const impl::wrap_node<T>* toml::table::get_as(std::wstring_view key) const +

                                                                                                                              +

                                                                                                                              Gets the node at a specific key if it is a particular type (const overload).

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              TOne of the TOML node or value types.
                                                                                                                              Parameters
                                                                                                                              keyThe node's key.
                                                                                                                              ReturnsA pointer to the node at the specified key if it was of the given type, or nullptr.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const table& rhs) +

                                                                                                                              +

                                                                                                                              Prints the table out to a stream as formatted TOML.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.4.0/classtoml_1_1toml__formatter.html b/v3.4.0/classtoml_1_1toml__formatter.html new file mode 100644 index 00000000..a2928830 --- /dev/null +++ b/v3.4.0/classtoml_1_1toml__formatter.html @@ -0,0 +1,247 @@ + + + + toml::toml_formatter class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::toml_formatter class +

                                                                                                                              +

                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted TOML.

                                                                                                                              + +
                                                                                                                              auto tbl = toml::table{
                                                                                                                              +    { "description", "This is some TOML, yo." },
                                                                                                                              +    { "fruit", toml::array{ "apple", "orange", "pear" } },
                                                                                                                              +    { "numbers", toml::array{ 1, 2, 3, 4, 5 } },
                                                                                                                              +    { "table", toml::table{ { "foo", "bar" } } }
                                                                                                                              +};
                                                                                                                              +
                                                                                                                              +// these two lines are equivalent:
                                                                                                                              +std::cout << toml::toml_formatter{ tbl } << "\n";
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              description = "This is some TOML, yo."
                                                                                                                              +fruit = ["apple", "orange", "pear"]
                                                                                                                              +numbers = [1, 2, 3, 4, 5]
                                                                                                                              +
                                                                                                                              +[table]
                                                                                                                              +foo = "bar"
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public static variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + static format_flags default_flags constexpr +
                                                                                                                              +
                                                                                                                              The default flags for a toml_formatter.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + toml_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a TOML formatter and binds it to a TOML object.
                                                                                                                              +
                                                                                                                              + toml_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a TOML formatter and binds it to a toml::parse_result.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + toml_formatter& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as formatted TOML.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + toml_formatter&& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as formatted TOML (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::toml_formatter::toml_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a TOML formatter and binds it to a TOML object.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              sourceThe source TOML object.
                                                                                                                              flagsFormat option flags.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::toml_formatter::toml_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a TOML formatter and binds it to a toml::parse_result.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              resultThe parse result.
                                                                                                                              flagsFormat option flags.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.4.0/classtoml_1_1value.html b/v3.4.0/classtoml_1_1value.html new file mode 100644 index 00000000..c0b4d7e7 --- /dev/null +++ b/v3.4.0/classtoml_1_1value.html @@ -0,0 +1,1055 @@ + + + + toml::value class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              template <typename ValueType>
                                                                                                                              + toml::value class +

                                                                                                                              +

                                                                                                                              A TOML value.

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              ValueType

                                                                                                                              The value's native TOML data type. Can be one of:

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Base classes

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + class node +
                                                                                                                              +
                                                                                                                              A TOML node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public types

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using value_arg = /* ... */ +
                                                                                                                              +
                                                                                                                              A type alias for 'value arguments'.
                                                                                                                              +
                                                                                                                              + using value_type = ValueType +
                                                                                                                              +
                                                                                                                              The value's underlying data type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + value(Args && ... args) explicit noexcept(…) +
                                                                                                                              +
                                                                                                                              Constructs a toml value.
                                                                                                                              +
                                                                                                                              + value(const value& other) noexcept +
                                                                                                                              +
                                                                                                                              Copy constructor.
                                                                                                                              +
                                                                                                                              + value(const value& other, + value_flags flags) noexcept +
                                                                                                                              +
                                                                                                                              Copy constructor with flags override.
                                                                                                                              +
                                                                                                                              + value(value&& other) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor.
                                                                                                                              +
                                                                                                                              + value(value&& other, + value_flags flags) noexcept +
                                                                                                                              +
                                                                                                                              Move constructor with flags override.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator=(const value& rhs) -> value& noexcept +
                                                                                                                              +
                                                                                                                              Copy-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(value&& rhs) -> value& noexcept +
                                                                                                                              +
                                                                                                                              Move-assignment operator.
                                                                                                                              +
                                                                                                                              + auto operator=(value_arg rhs) -> value& noexcept +
                                                                                                                              +
                                                                                                                              Value-assignment operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Equality and Comparison

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator!=(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(const value& lhs, + value_arg rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<(value_arg lhs, + const value& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value less-than operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator<(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<=(const value& lhs, + value_arg rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator<=(value_arg lhs, + const value& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator<=(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const value& lhs, + value_arg rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value equality operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator==(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(const value& lhs, + value_arg rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>(value_arg lhs, + const value& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value greater-than operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator>(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(const value& lhs, + value_arg rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(value_arg lhs, + const value& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Value greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto operator>=(const value& lhs, + const value<T>& rhs) -> bool noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Metadata

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto flags() const -> value_flags noexcept +
                                                                                                                              +
                                                                                                                              Returns the metadata flags associated with this value.
                                                                                                                              +
                                                                                                                              + auto flags(value_flags new_flags) -> value& noexcept +
                                                                                                                              +
                                                                                                                              Sets the metadata flags associated with this value.
                                                                                                                              +
                                                                                                                              + auto source() const -> const source_region& noexcept +
                                                                                                                              +
                                                                                                                              Returns the source region responsible for generating this node during parsing.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Node views

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::string_view path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const toml::path& path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const toml::path& path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) -> node_view<node> +
                                                                                                                              +
                                                                                                                              Returns a view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(std::wstring_view path) const -> node_view<const node> +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + operator node_view<const node>() const explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node (const overload).
                                                                                                                              +
                                                                                                                              + operator node_view<node>() explicit noexcept +
                                                                                                                              +
                                                                                                                              Creates a node_view pointing to this node.
                                                                                                                              +
                                                                                                                              + auto operator[](const toml::path& path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto operator[](const toml::path& path) const -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the subnode matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type casts

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() -> impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto as() const -> const impl::wrap_node<T>* noexcept +
                                                                                                                              +
                                                                                                                              Gets a pointer to the node as a more specific node type (const overload).
                                                                                                                              +
                                                                                                                              + auto as_array() -> array* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_array() const -> const array* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_boolean() -> value<bool>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<bool>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_boolean() const -> const value<bool>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<bool>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date() -> value<date>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<date>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date() const -> const value<date>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<date>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date_time() -> value<date_time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<date_time>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_date_time() const -> const value<date_time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<date_time>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() -> value<double>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<double>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_floating_point() const -> const value<double>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<double>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_integer() -> value<int64_t>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<int64_t>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_integer() const -> const value<int64_t>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<int64_t>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_string() -> value<std::string>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<std::string>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_string() const -> const value<std::string>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<std::string>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_table() -> table* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_table() const -> const table* final noexcept +
                                                                                                                              +
                                                                                                                              Returns nullptr.
                                                                                                                              +
                                                                                                                              + auto as_time() -> value<time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the value if it is a value<time>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              + auto as_time() const -> const value<time>* final noexcept +
                                                                                                                              +
                                                                                                                              Returns a const-qualified pointer to the value if it is a value<time>, otherwise nullptr.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Type checks

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto is() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node is a specific type.
                                                                                                                              +
                                                                                                                              + auto is_array() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_array_of_tables() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_boolean() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is bool.
                                                                                                                              +
                                                                                                                              + auto is_date() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is toml::date.
                                                                                                                              +
                                                                                                                              + auto is_date_time() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is toml_date_time.
                                                                                                                              +
                                                                                                                              + auto is_floating_point() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is double.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype) const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + node*& first_nonmatch) -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_homogeneous(node_type ntype, + const node*& first_nonmatch) const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Checks if a node contains values/elements of only one type (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ElemType = void>
                                                                                                                              + auto is_homogeneous() const -> bool noexcept +
                                                                                                                              +
                                                                                                                              Checks if the node contains values/elements of only one type.
                                                                                                                              +
                                                                                                                              + auto is_integer() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is int64_t.
                                                                                                                              +
                                                                                                                              + auto is_number() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is int64_t or double.
                                                                                                                              +
                                                                                                                              + auto is_string() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is std::string.
                                                                                                                              +
                                                                                                                              + auto is_table() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns false.
                                                                                                                              +
                                                                                                                              + auto is_time() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true if the value_type is toml::time.
                                                                                                                              +
                                                                                                                              + auto is_value() const -> bool final noexcept +
                                                                                                                              +
                                                                                                                              Returns true.
                                                                                                                              +
                                                                                                                              + auto type() const -> node_type final noexcept +
                                                                                                                              +
                                                                                                                              Returns the value's node type identifier.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Value retrieval

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto get() & -> value_type& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value.
                                                                                                                              +
                                                                                                                              + auto get() && -> value_type&& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto get() const & -> const value_type& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const overload).
                                                                                                                              +
                                                                                                                              + auto get() const && -> const value_type&& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const rvalue overload).
                                                                                                                              +
                                                                                                                              + operator const value_type&() const & explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const overload).
                                                                                                                              +
                                                                                                                              + operator const value_type&&() && explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const rvalue overload).
                                                                                                                              +
                                                                                                                              + operator value_type&() & explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value.
                                                                                                                              +
                                                                                                                              + operator value_type&&() && explicit noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto operator*() & -> value_type& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value.
                                                                                                                              +
                                                                                                                              + auto operator*() && -> value_type&& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (rvalue overload).
                                                                                                                              +
                                                                                                                              + auto operator*() const & -> const value_type& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const overload).
                                                                                                                              +
                                                                                                                              + auto operator*() const && -> const value_type&& noexcept +
                                                                                                                              +
                                                                                                                              Returns a reference to the underlying value (const rvalue overload).
                                                                                                                              +
                                                                                                                              + auto operator->() -> value_type* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the underlying value.
                                                                                                                              +
                                                                                                                              + auto operator->() const -> const value_type* noexcept +
                                                                                                                              +
                                                                                                                              Returns a pointer to the underlying value (const overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const & -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto ref() const && -> decltype(auto) noexcept +
                                                                                                                              +
                                                                                                                              Gets a raw reference to a node's underlying data (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_exact() const -> optional<T> noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the value contained by this node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + auto value_or(T&& default_value) const -> auto noexcept(…) +
                                                                                                                              +
                                                                                                                              Gets the raw value contained by this node, or a default.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Visitation

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const & -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const lvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Func>
                                                                                                                              + auto visit(Func&& visitor) const && -> decltype(auto) noexcept(…) +
                                                                                                                              +
                                                                                                                              Invokes a visitor on the node based on the node's concrete type (const rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const value& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the value out to a stream as formatted TOML.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Typedef documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + using toml::value::value_arg = /* ... */ +

                                                                                                                              +

                                                                                                                              A type alias for 'value arguments'.

                                                                                                                              +

                                                                                                                              This differs according to the value's type argument:

                                                                                                                              • ints, floats, booleans: value_type
                                                                                                                              • strings: string_view
                                                                                                                              • everything else: const value_type&
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + toml::value::value(Args && ... args) explicit noexcept(…) +

                                                                                                                              +

                                                                                                                              Constructs a toml value.

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              argsArguments to forward to the internal value's constructor.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator!=(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Inequality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS value.
                                                                                                                              rhsThe RHS value.
                                                                                                                              ReturnsTrue if the values were not of the same type, or did not contain the same value.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator<(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Less-than operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS toml::value.
                                                                                                                              rhsThe RHS toml::value.
                                                                                                                              ReturnsSame value types: + lhs.get() < rhs.get()Different value types: + lhs.type() < rhs.type()
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator<=(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Less-than-or-equal-to operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS toml::value.
                                                                                                                              rhsThe RHS toml::value.
                                                                                                                              ReturnsSame value types: + lhs.get() <= rhs.get()Different value types: + lhs.type() <= rhs.type()
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator==(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Equality operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS value.
                                                                                                                              rhsThe RHS value.
                                                                                                                              ReturnsTrue if the values were of the same type and contained the same value.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator>(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Greater-than operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS toml::value.
                                                                                                                              rhsThe RHS toml::value.
                                                                                                                              ReturnsSame value types: + lhs.get() > rhs.get()Different value types: + lhs.type() > rhs.type()
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + template <typename T> +
                                                                                                                              + bool toml::value::operator>=(const value& lhs, + const value<T>& rhs) noexcept +

                                                                                                                              +

                                                                                                                              Greater-than-or-equal-to operator.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe LHS toml::value.
                                                                                                                              rhsThe RHS toml::value.
                                                                                                                              ReturnsSame value types: + lhs.get() >= rhs.get()Different value types: + lhs.type() >= rhs.type()
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + value& toml::value::flags(value_flags new_flags) noexcept +

                                                                                                                              +

                                                                                                                              Sets the metadata flags associated with this value.

                                                                                                                              + + + + + + + +
                                                                                                                              ReturnsA reference to the value object.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + bool toml::value::is_homogeneous(node_type ntype) const final noexcept +

                                                                                                                              +

                                                                                                                              Checks if the node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2, 3 };
                                                                                                                              +std::cout << "homogenous: "sv << arr.is_homogeneous(toml::node_type::none) << "\n";
                                                                                                                              +std::cout << "all floats: "sv << arr.is_homogeneous(toml::node_type::floating_point) << "\n";
                                                                                                                              +std::cout << "all arrays: "sv << arr.is_homogeneous(toml::node_type::array) << "\n";
                                                                                                                              +std::cout << "all ints:   "sv << arr.is_homogeneous(toml::node_type::integer) << "\n";
                                                                                                                              homogeneous: true
                                                                                                                              +all floats:  false
                                                                                                                              +all arrays:  false
                                                                                                                              +all ints:    true
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + bool toml::value::is_homogeneous(node_type ntype, + node*& first_nonmatch) final noexcept +

                                                                                                                              +

                                                                                                                              Checks if a node contains values/elements of only one type.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              ntypeA TOML node type.
                                                                                                                              toml::node_type::none: "is every element the same type?" Anything else: "is every element one of these?"
                                                                                                                              first_nonmatchReference to a pointer in which the address of the first non-matching element will be stored if the return value is false.
                                                                                                                              ReturnsTrue if the node was homogeneous.
                                                                                                                              +
                                                                                                                              auto cfg = toml::parse("arr = [ 1, 2, 3, 4.0 ]");
                                                                                                                              +toml::array& arr = *cfg["arr"].as_array();
                                                                                                                              +
                                                                                                                              +toml::node* nonmatch{};
                                                                                                                              +if (arr.is_homogeneous(toml::node_type::integer, nonmatch))
                                                                                                                              +    std::cout << "array was homogeneous"sv << "\n";
                                                                                                                              +else
                                                                                                                              +    std::cout << "array was not homogeneous!\n"
                                                                                                                              +    << "first non-match was a "sv << nonmatch->type() << " at " << nonmatch->source() << "\n";
                                                                                                                              array was not homogeneous!
                                                                                                                              +first non-match was a floating-point at line 1, column 18
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + node_type toml::value::type() const final noexcept +

                                                                                                                              +

                                                                                                                              Returns the value's node type identifier.

                                                                                                                              + + + + + + + +
                                                                                                                              Returns

                                                                                                                              One of:

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + value_type* toml::value::operator->() noexcept +

                                                                                                                              +

                                                                                                                              Returns a pointer to the underlying value.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + const value_type* toml::value::operator->() const noexcept +

                                                                                                                              +

                                                                                                                              Returns a pointer to the underlying value (const overload).

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename ValueType> +
                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const value& rhs) +

                                                                                                                              +

                                                                                                                              Prints the value out to a stream as formatted TOML.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.4.0/classtoml_1_1yaml__formatter.html b/v3.4.0/classtoml_1_1yaml__formatter.html new file mode 100644 index 00000000..cca7dc50 --- /dev/null +++ b/v3.4.0/classtoml_1_1yaml__formatter.html @@ -0,0 +1,247 @@ + + + + toml::yaml_formatter class | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::yaml_formatter class +

                                                                                                                              +

                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted YAML.

                                                                                                                              + +
                                                                                                                              auto some_toml = toml::parse(R"(
                                                                                                                              +    [fruit]
                                                                                                                              +    apple.color = "red"
                                                                                                                              +    apple.taste.sweet = true
                                                                                                                              +
                                                                                                                              +    [fruit.apple.texture]
                                                                                                                              +    smooth = true
                                                                                                                              +)"sv);
                                                                                                                              +std::cout << toml::yaml_formatter{ some_toml } << "\n";
                                                                                                                              fruit:
                                                                                                                              +  apple:
                                                                                                                              +    color: red
                                                                                                                              +    taste:
                                                                                                                              +      sweet: true
                                                                                                                              +    texture:
                                                                                                                              +      smooth: true
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public static variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + static format_flags default_flags constexpr +
                                                                                                                              +
                                                                                                                              The default flags for a yaml_formatter.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + yaml_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a YAML formatter and binds it to a TOML object.
                                                                                                                              +
                                                                                                                              + yaml_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +
                                                                                                                              +
                                                                                                                              Constructs a YAML formatter and binds it to a toml::parse_result.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + yaml_formatter& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as YAML.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + yaml_formatter&& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints the bound TOML object out to the stream as YAML (rvalue overload).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::yaml_formatter::yaml_formatter(const toml::node& source, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a YAML formatter and binds it to a TOML object.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              sourceThe source TOML object.
                                                                                                                              flagsFormat option flags.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::yaml_formatter::yaml_formatter(const toml::parse_result& result, + format_flags flags = default_flags) explicit noexcept +

                                                                                                                              +

                                                                                                                              Constructs a YAML formatter and binds it to a toml::parse_result.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              resultThe parse result.
                                                                                                                              flagsFormat option flags.
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.4.0/concepts.html b/v3.4.0/concepts.html new file mode 100644 index 00000000..cceba8fb --- /dev/null +++ b/v3.4.0/concepts.html @@ -0,0 +1,141 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Concepts

                                                                                                                              +
                                                                                                                                +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.4.0/favicon.ico b/v3.4.0/favicon.ico new file mode 100644 index 00000000..518213d1 Binary files /dev/null and b/v3.4.0/favicon.ico differ diff --git a/v3.4.0/files.html b/v3.4.0/files.html new file mode 100644 index 00000000..2f927333 --- /dev/null +++ b/v3.4.0/files.html @@ -0,0 +1,141 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Files

                                                                                                                              +
                                                                                                                                +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.4.0/group__configuration.html b/v3.4.0/group__configuration.html new file mode 100644 index 00000000..22945c97 --- /dev/null +++ b/v3.4.0/group__configuration.html @@ -0,0 +1,349 @@ + + + + Library Configuration module | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + Library Configuration module

                                                                                                                              +

                                                                                                                              Preprocessor macros for configuring library functionality.

                                                                                                                              + +

                                                                                                                              Define these before including toml++ to alter the way it functions.

                                                                                                                              +
                                                                                                                              +

                                                                                                                              Defines

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + #define TOML_ASSERT(expr) +
                                                                                                                              +
                                                                                                                              Sets the assert function used by the library.
                                                                                                                              +
                                                                                                                              + #define TOML_CALLCONV +
                                                                                                                              +
                                                                                                                              Calling convention to apply to exported free/static functions.
                                                                                                                              +
                                                                                                                              + #define TOML_CONFIG_HEADER +
                                                                                                                              +
                                                                                                                              An additional header to include before any other toml++ header files.
                                                                                                                              +
                                                                                                                              + #define TOML_ENABLE_FLOAT16 +
                                                                                                                              +
                                                                                                                              Enable support for the built-in _Float16 type.
                                                                                                                              +
                                                                                                                              + #define TOML_ENABLE_FORMATTERS +
                                                                                                                              +
                                                                                                                              Sets whether the various formatter classes are enabled.
                                                                                                                              +
                                                                                                                              + #define TOML_ENABLE_PARSER +
                                                                                                                              +
                                                                                                                              Sets whether the parser-related parts of the library are included.
                                                                                                                              +
                                                                                                                              + #define TOML_ENABLE_UNRELEASED_FEATURES +
                                                                                                                              +
                                                                                                                              Enables support for unreleased TOML language features not yet part of a numbered version.
                                                                                                                              +
                                                                                                                              + #define TOML_ENABLE_WINDOWS_COMPAT +
                                                                                                                              +
                                                                                                                              Enables the use of wide strings (wchar_t, std::wstring) in various places throughout the library when building for Windows.
                                                                                                                              +
                                                                                                                              + #define TOML_EXCEPTIONS +
                                                                                                                              +
                                                                                                                              Sets whether the library uses exceptions to report parsing failures.
                                                                                                                              +
                                                                                                                              + #define TOML_EXPORTED_CLASS +
                                                                                                                              +
                                                                                                                              An 'export' annotation to add to classes.
                                                                                                                              +
                                                                                                                              + #define TOML_EXPORTED_FREE_FUNCTION +
                                                                                                                              +
                                                                                                                              An 'export' annotation to add to free functions.
                                                                                                                              +
                                                                                                                              + #define TOML_EXPORTED_MEMBER_FUNCTION +
                                                                                                                              +
                                                                                                                              An 'export' annotation to add to non-static class member functions.
                                                                                                                              +
                                                                                                                              + #define TOML_EXPORTED_STATIC_FUNCTION +
                                                                                                                              +
                                                                                                                              An 'export' annotation to add to static class member functions.
                                                                                                                              +
                                                                                                                              + #define TOML_HEADER_ONLY +
                                                                                                                              +
                                                                                                                              Sets whether the library is entirely inline.
                                                                                                                              +
                                                                                                                              + #define TOML_IMPLEMENTATION +
                                                                                                                              +
                                                                                                                              Enables the library's implementation when TOML_HEADER_ONLY is disabled.
                                                                                                                              +
                                                                                                                              + #define TOML_OPTIONAL_TYPE +
                                                                                                                              +
                                                                                                                              Overrides the optional<T> type used by the library.
                                                                                                                              +
                                                                                                                              + #define TOML_SMALL_FLOAT_TYPE +
                                                                                                                              +
                                                                                                                              If your codebase has an additional 'small' float type (e.g. half-precision), this tells toml++ about it.
                                                                                                                              +
                                                                                                                              + #define TOML_SMALL_INT_TYPE +
                                                                                                                              +
                                                                                                                              If your codebase has an additional 'small' integer type (e.g. 24-bits), this tells toml++ about it.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Define documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_ASSERT(expr) +

                                                                                                                              +

                                                                                                                              Sets the assert function used by the library.

                                                                                                                              +

                                                                                                                              Defaults to the standard C assert().

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_CALLCONV +

                                                                                                                              +

                                                                                                                              Calling convention to apply to exported free/static functions.

                                                                                                                              +

                                                                                                                              Not defined by default (let the compiler decide).

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_CONFIG_HEADER +

                                                                                                                              +

                                                                                                                              An additional header to include before any other toml++ header files.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_ENABLE_FLOAT16 +

                                                                                                                              +

                                                                                                                              Enable support for the built-in _Float16 type.

                                                                                                                              +

                                                                                                                              Defaults to 0.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_ENABLE_FORMATTERS +

                                                                                                                              +

                                                                                                                              Sets whether the various formatter classes are enabled.

                                                                                                                              +

                                                                                                                              Defaults to 1.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_ENABLE_PARSER +

                                                                                                                              +

                                                                                                                              Sets whether the parser-related parts of the library are included.

                                                                                                                              +

                                                                                                                              Defaults to 1.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_ENABLE_UNRELEASED_FEATURES +

                                                                                                                              +

                                                                                                                              Enables support for unreleased TOML language features not yet part of a numbered version.

                                                                                                                              +

                                                                                                                              Defaults to 0.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_ENABLE_WINDOWS_COMPAT +

                                                                                                                              +

                                                                                                                              Enables the use of wide strings (wchar_t, std::wstring) in various places throughout the library when building for Windows.

                                                                                                                              +

                                                                                                                              Defaults to 1 when building for Windows, 0 otherwise. Has no effect when building for anything other than Windows.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_EXCEPTIONS +

                                                                                                                              +

                                                                                                                              Sets whether the library uses exceptions to report parsing failures.

                                                                                                                              +

                                                                                                                              Defaults to 1 or 0 according to your compiler's exception mode.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_EXPORTED_CLASS +

                                                                                                                              +

                                                                                                                              An 'export' annotation to add to classes.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_EXPORTED_FREE_FUNCTION +

                                                                                                                              +

                                                                                                                              An 'export' annotation to add to free functions.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_EXPORTED_MEMBER_FUNCTION +

                                                                                                                              +

                                                                                                                              An 'export' annotation to add to non-static class member functions.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_EXPORTED_STATIC_FUNCTION +

                                                                                                                              +

                                                                                                                              An 'export' annotation to add to static class member functions.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_HEADER_ONLY +

                                                                                                                              +

                                                                                                                              Sets whether the library is entirely inline.

                                                                                                                              +

                                                                                                                              Defaults to 1.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_IMPLEMENTATION +

                                                                                                                              +

                                                                                                                              Enables the library's implementation when TOML_HEADER_ONLY is disabled.

                                                                                                                              +

                                                                                                                              Not defined by default. Meaningless when TOML_HEADER_ONLY is enabled.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_OPTIONAL_TYPE +

                                                                                                                              +

                                                                                                                              Overrides the optional<T> type used by the library.

                                                                                                                              +

                                                                                                                              Not defined by default (use std::optional).

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_SMALL_FLOAT_TYPE +

                                                                                                                              +

                                                                                                                              If your codebase has an additional 'small' float type (e.g. half-precision), this tells toml++ about it.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + #define TOML_SMALL_INT_TYPE +

                                                                                                                              +

                                                                                                                              If your codebase has an additional 'small' integer type (e.g. 24-bits), this tells toml++ about it.

                                                                                                                              +

                                                                                                                              Not defined by default.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.4.0/index.html b/v3.4.0/index.html new file mode 100644 index 00000000..123b06f8 --- /dev/null +++ b/v3.4.0/index.html @@ -0,0 +1,438 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + banner + +

                                                                                                                              Features

                                                                                                                              • Header-only (optional!)
                                                                                                                              • Supports the latest TOML release (v1.0.0), plus optional support for some unreleased TOML features
                                                                                                                              • Passes all tests in the toml-test suite
                                                                                                                              • Supports serializing to JSON and YAML
                                                                                                                              • Proper UTF-8 handling (incl. BOM)
                                                                                                                              • C++17 (plus some C++20 features where available, e.g. experimental support for char8_t strings)
                                                                                                                              • Doesn't require RTTI
                                                                                                                              • Works with or without exceptions
                                                                                                                              • Tested on Clang (8+), GCC (8+) and MSVC (VS2019)
                                                                                                                              • Tested on x64, x86 and ARM

                                                                                                                              API documentation

                                                                                                                              You're looking at it! Browse the docs using the links at the top of the page. You can search from anywhere by pressing the TAB key.

                                                                                                                              Basic examples

                                                                                                                              Parsing files

                                                                                                                              Call toml::parse_file() and work with the toml::table you get back, or handle any toml::parse_error that gets thrown:

                                                                                                                              #include <iostream>
                                                                                                                              +#include <toml++/toml.hpp>
                                                                                                                              +
                                                                                                                              +int main(int argc, char\*\* argv)
                                                                                                                              +{
                                                                                                                              +toml::table tbl;
                                                                                                                              +try
                                                                                                                              +{
                                                                                                                              +tbl = toml::parse_file(argv[1]);
                                                                                                                              +std::cout << tbl << "\n";
                                                                                                                              +}
                                                                                                                              +catch (const toml::parse_error& err)
                                                                                                                              +{
                                                                                                                              +std::cerr << "Parsing failed:\n" << err << "\n";
                                                                                                                              +return 1;
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +    return 0;
                                                                                                                              +
                                                                                                                              +}

                                                                                                                              Parsing strings and iostreams

                                                                                                                              Call toml::parse() and work with the toml::table you get back, or handle any toml::parse_error that gets thrown:

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              #include <iostream> +#include <sstream> +#include <toml++/toml.hpp> +using namespace std::string_view_literals; + +int main() +{ +static constexpr std::string_view some_toml = R"( +[library] +name = "toml++" +authors = ["Mark Gillard <mark.gillard@outlook.com.au>"] +cpp = 17 +)"sv; + + try + { + +// parse directly from a string view: +{ +toml::table tbl = toml::parse(some_toml); +std::cout << tbl << "\n"; +} + +// parse from a string stream: +{ +std::stringstream ss{ std::string{ some_toml } }; +toml::table tbl = toml::parse(ss); +std::cout << tbl << "\n"; +} +} +catch (const toml::parse_error& err) +{ +std::cerr << "Parsing failed:\n" << err << "\n"; +return 1; +} + + return 0; + +}
                                                                                                                              [library]
                                                                                                                              +authors = [ 'Mark Gillard <mark.gillard@outlook.com.au>' ]
                                                                                                                              +cpp = 17
                                                                                                                              +name = 'toml++'
                                                                                                                              +
                                                                                                                              +[library]
                                                                                                                              +authors = [ 'Mark Gillard <mark.gillard@outlook.com.au>' ]
                                                                                                                              +cpp = 17
                                                                                                                              +name = 'toml++'

                                                                                                                              Handling errors without exceptions

                                                                                                                              Can't (or won't) use exceptions? That's fine too. You can disable exceptions in your compiler flags and/or explicitly disable the library's use of them by setting the option TOML_EXCEPTIONS to 0. In either case, the parsing functions return a toml::parse_result instead of a toml::table:

                                                                                                                              #include <iostream>
                                                                                                                              +
                                                                                                                              +#define TOML_EXCEPTIONS 0 // only necessary if you've left them enabled in your compiler
                                                                                                                              +#include <toml++/toml.hpp>
                                                                                                                              +
                                                                                                                              +int main()
                                                                                                                              +{
                                                                                                                              +toml::parse_result result = toml::parse_file("configuration.toml");
                                                                                                                              +if (!result)
                                                                                                                              +{
                                                                                                                              +std::cerr << "Parsing failed:\n" << result.error() << "\n";
                                                                                                                              +return 1;
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +    do_stuff_with_your_config(std::move(result).table()); // 'steal' the table from the result
                                                                                                                              +    return 0;
                                                                                                                              +
                                                                                                                              +}

                                                                                                                              Custom error formatting

                                                                                                                              The examples above use an overloaded operator<< with ostreams to print basic error messages, and look like this:

                                                                                                                              Error while parsing key: expected bare key starting character or string delimiter, saw '?'
                                                                                                                              +(error occurred at line 2, column 5)

                                                                                                                              The library doesn't natively support error colouring in TTY environments, but instead provides the requisite information for you to build that and any other custom error handling yourself if necessary via toml::parse_error's source() and description() members:

                                                                                                                              toml::table tbl;
                                                                                                                              +try
                                                                                                                              +{
                                                                                                                              +tbl = toml::parse_file("configuration.toml");
                                                                                                                              +}
                                                                                                                              +catch (const toml::parse_error& err)
                                                                                                                              +{
                                                                                                                              +std::cerr
                                                                                                                              +<< "Error parsing file '" << \*err.source().path
                                                                                                                              +<< "':\n" << err.description()
                                                                                                                              +<< "\n (" << err.source().begin << ")\n";
                                                                                                                              +return 1;
                                                                                                                              +}

                                                                                                                              Working with TOML data

                                                                                                                              A TOML document is a tree of values, arrays and tables, represented as the toml::value, toml::array and toml::table, respectively. All three inherit from toml::node, and can be easily accessed via the toml::node_view:

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              #include <iostream> +#include <toml++/toml.hpp> +using namespace std::string_view_literals; + +int main() +{ +static constexpr auto source = R"( +str = "hello world" + +numbers = [ 1, 2, 3, "four", 5.0 ] +vegetables = [ "tomato", "onion", "mushroom", "lettuce" ] +minerals = [ "quartz", "iron", "copper", "diamond" ] + +[animals] +cats = [ "tiger", "lion", "puma" ] +birds = [ "macaw", "pigeon", "canary" ] +fish = [ "salmon", "trout", "carp" ] + + )"sv; + toml::table tbl = toml::parse(source); + + // different ways of directly querying data + std::optional<std::string_view> str1 = tbl["str"].value<std::string_view>(); + std::optional<std::string> str2 = tbl["str"].value<std::string>(); + std::string_view str3 = tbl["str"].value_or(""sv); + std::string& str4 = tbl["str"].ref<std::string>(); // ~~dangerous~~ + + std::cout << *str1 << "\n"; + std::cout << *str2 << "\n"; + std::cout << str3 << "\n"; + std::cout << str4 << "\n"; + + // get a toml::node_view of the element 'numbers' using operator[] + auto numbers = tbl["numbers"]; + std::cout << "table has 'numbers': " << !!numbers << "\n"; + std::cout << "numbers is an: " << numbers.type() << "\n"; + std::cout << "numbers: " << numbers << "\n"; + + // get the underlying array object to do some more advanced stuff + if (toml::array* arr = numbers.as_array()) + { + // visitation with for_each() helps deal with heterogeneous data + arr->for_each([](auto&& el) + { + if constexpr (toml::is_number<decltype(el)>) + (*el)++; + else if constexpr (toml::is_string<decltype(el)>) + el = "five"sv; + }); + +// arrays are very similar to std::vector +arr->push_back(7); +arr->emplace_back<toml::array>(8, 9); +std::cout << "numbers: " << numbers << "\n"; +} + + // node-views can be chained to quickly query deeper + std::cout << "cats: " << tbl["animals"]["cats"] << "\n"; + std::cout << "fish[1]: " << tbl["animals"]["fish"][1] << "\n"; + + // can also be retrieved via absolute path + std::cout << "cats: " << tbl.at_path("animals.cats") << "\n"; + std::cout << "fish[1]: " << tbl.at_path("animals.fish[1]") << "\n"; + + // ...even if the element doesn't exist + std::cout << "dinosaurs: " << tbl["animals"]["dinosaurs"] << "\n"; //no dinosaurs :( + + return 0; + +}
                                                                                                                              hello world
                                                                                                                              +hello world
                                                                                                                              +hello world
                                                                                                                              +hello world
                                                                                                                              +table has 'numbers': 1
                                                                                                                              +numbers is an: array
                                                                                                                              +numbers: [ 1, 2, 3, 'four', 5.0 ]
                                                                                                                              +numbers: [ 2, 3, 4, 'five', 6.0, 7, [ 8, 9 ] ]
                                                                                                                              +cats: [ 'tiger', 'lion', 'puma' ]
                                                                                                                              +fish[1]: 'trout'
                                                                                                                              +dinosaurs:

                                                                                                                              Serializing as TOML, JSON and YAML

                                                                                                                              All toml++ data types have overloaded operator<< for ostreams, so 'serializing' a set of TOML data to actual TOML is done just by printing it to an ostream. Converting it to JSON and YAML is done in much the same way, but via a toml::json_formatter and toml::yaml_formatter.

                                                                                                                              Try this code on Compiler Explorer

                                                                                                                              #include <iostream> +#include <toml++/toml.hpp> + +int main() +{ +auto tbl = toml::table{ +{ "lib", "toml++" }, +{ "cpp", toml::array{ 17, 20, "and beyond" } }, +{ "toml", toml::array{ "1.0.0", "and beyond" } }, +{ "repo", "https://github.com/marzer/tomlplusplus/" }, +{ "author", toml::table{ +{ "name", "Mark Gillard" }, +{ "github", "https://github.com/marzer" }, +{ "twitter", "https://twitter.com/marzer8789" } +} +}, +}; + + // serializing as TOML + std::cout << "###### TOML ######" << "\n\n"; + std::cout << tbl << "\n\n"; + + // serializing as JSON using toml::json_formatter: + std::cout << "###### JSON ######" << "\n\n"; + std::cout << toml::json_formatter{ tbl } << "\n\n"; + + // serializing as YAML using toml::yaml_formatter: + std::cout << "###### YAML ######" << "\n\n"; + std::cout << toml::yaml_formatter{ tbl } << "\n\n"; + + return 0; + +}
                                                                                                                              ###### TOML
                                                                                                                              +
                                                                                                                              +cpp = [ 17, 20, 'and beyond' ]
                                                                                                                              +lib = 'toml++'
                                                                                                                              +repo = 'https://github.com/marzer/tomlplusplus/'
                                                                                                                              +toml = [ '1.0.0', 'and beyond' ]
                                                                                                                              +
                                                                                                                              +[author]
                                                                                                                              +github = 'https://github.com/marzer'
                                                                                                                              +name = 'Mark Gillard'
                                                                                                                              +twitter = 'https://twitter.com/marzer8789'
                                                                                                                              +
                                                                                                                              +###### JSON
                                                                                                                              +
                                                                                                                              +{
                                                                                                                              +"author" : {
                                                                                                                              +"github" : "https://github.com/marzer",
                                                                                                                              +"name" : "Mark Gillard",
                                                                                                                              +"twitter" : "https://twitter.com/marzer8789"
                                                                                                                              +},
                                                                                                                              +"cpp" : [
                                                                                                                              +17,
                                                                                                                              +20,
                                                                                                                              +"and beyond"
                                                                                                                              +],
                                                                                                                              +"lib" : "toml++",
                                                                                                                              +"repo" : "https://github.com/marzer/tomlplusplus/",
                                                                                                                              +"toml" : [
                                                                                                                              +"1.0.0",
                                                                                                                              +"and beyond"
                                                                                                                              +]
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +###### YAML
                                                                                                                              +
                                                                                                                              +author:
                                                                                                                              +github: 'https://github.com/marzer'
                                                                                                                              +name: 'Mark Gillard'
                                                                                                                              +twitter: 'https://twitter.com/marzer8789'
                                                                                                                              +cpp:
                                                                                                                              +
                                                                                                                              +-   17
                                                                                                                              +-   20
                                                                                                                              +-   'and beyond'
                                                                                                                              +    lib: 'toml++'
                                                                                                                              +    repo: 'https://github.com/marzer/tomlplusplus/'
                                                                                                                              +    toml:
                                                                                                                              +-   '1.0.0'
                                                                                                                              +-   'and beyond'

                                                                                                                              Speeding up compilation

                                                                                                                              Because toml++ is a header-only library of nontrivial size you might find that compilation times noticeably increase after you add it to your project, especially if you add the library's header somewhere that's visible from a large number of translation units. You can counter this by disabling header-only mode and explicitly controlling where the library's implementation is compiled.

                                                                                                                              Step 1: Set TOML_HEADER_ONLY to 0 before including toml++

                                                                                                                              This must be the same everywhere, so either set it as a global #define in your build system, or do it manually before including toml++ in some global header that's used everywhere in your project:

                                                                                                                              // global_header_that_includes_toml++.h
                                                                                                                              +
                                                                                                                              +#define TOML_HEADER_ONLY 0
                                                                                                                              +#include <toml.hpp>

                                                                                                                              Step 2: Define TOML_IMPLEMENTATION before including toml++ in one specific translation unit

                                                                                                                              // some_code_file.cpp
                                                                                                                              +
                                                                                                                              +#define TOML_IMPLEMENTATION
                                                                                                                              +#include "global_header_that_includes_toml++.hpp"

                                                                                                                              Bonus Step: Disable any library features you don't need

                                                                                                                              Some library features can be disabled wholesale so you can avoid paying their the compilation cost if you don't need them. For example, if all you need to do is serialize some code-generated TOML and don't actually need the parser at all you, can set TOML_ENABLE_PARSER to 0 to disable the parser altogether. This can yield fairly significant compilation speedups since the parser accounts for a good chunk of the library's code.

                                                                                                                              Adding toml++ to your project

                                                                                                                              "The old fashioned way"

                                                                                                                              The library comes in two flavours, 🍦️ Single-header and 🍨️ Regular. The API is the same for both.

                                                                                                                              🍦️ Single-header flavour

                                                                                                                              1. Drop toml.hpp wherever you like in your source tree
                                                                                                                              2. There is no step two

                                                                                                                              🍨️ Regular flavour

                                                                                                                              1. Clone the repository from GitHub
                                                                                                                              2. Add tomlplusplus/include to your include paths
                                                                                                                              3. #include <toml++/toml.hpp>

                                                                                                                              Conan

                                                                                                                              Add tomlplusplus/3.4.0 to your conanfile.

                                                                                                                              DDS

                                                                                                                              Add tomlpp to your package.json5, e.g.:

                                                                                                                              depends: [
                                                                                                                              +'tomlpp^3.4.0',
                                                                                                                              +]

                                                                                                                              Meson

                                                                                                                              You can install the wrap with:

                                                                                                                              meson wrap install tomlplusplus

                                                                                                                              After that, you can use it like a regular dependency:

                                                                                                                              tomlplusplus_dep = dependency('tomlplusplus')

                                                                                                                              You can also add it as a subproject directly.

                                                                                                                              Tipi.build

                                                                                                                              tomlplusplus can be easily used in tipi.build projects by adding the following entry to your .tipi/deps:

                                                                                                                              {
                                                                                                                              +"marzer/tomlplusplus": { }
                                                                                                                              +}

                                                                                                                              Vcpkg

                                                                                                                              vcpkg install tomlplusplus

                                                                                                                              CMake FetchContent

                                                                                                                              include(FetchContent)
                                                                                                                              +FetchContent_Declare(
                                                                                                                              +tomlplusplus
                                                                                                                              +GIT_REPOSITORY https://github.com/marzer/tomlplusplus.git
                                                                                                                              +GIT_TAG v3.4.0
                                                                                                                              +)
                                                                                                                              +FetchContent_MakeAvailable(tomlplusplus)

                                                                                                                              Git submodules

                                                                                                                              git submodule add --depth 1 https://github.com/marzer/tomlplusplus.git tomlplusplus

                                                                                                                              Other environments and package managers

                                                                                                                              The C++ tooling ecosystem is a fractal nightmare of unbridled chaos so naturally I'm not up-to-speed with all of the available packaging and integration options. I'm always happy to see new ones supported, though! If there's some integration you'd like to see and have the technical know-how to make it happen, feel free to make a pull request.

                                                                                                                              Special mention: Python

                                                                                                                              There exists a python wrapper library built around toml++ called pytomlpp which is, at the time of writing, one of only two natively-compiled TOML libraries available for python, and thus one of the fastest options available:

                                                                                                                              Parsing data.toml 5000 times:
                                                                                                                              +pytomlpp: 0.694 s
                                                                                                                              +rtoml: 0.871 s ( 1.25x)
                                                                                                                              +tomli: 2.625 s ( 3.78x)
                                                                                                                              +toml: 5.642 s ( 8.12x)
                                                                                                                              +qtoml: 7.760 s (11.17x)
                                                                                                                              +tomlkit: 32.708 s (47.09x)

                                                                                                                              Install it using pip:

                                                                                                                              pip install pytomlpp

                                                                                                                              Note that I'm not the owner of that project, so if you wish to report a bug relating to the python implementation please do so at their repository, not on the main toml++ one.

                                                                                                                              Library configuration options

                                                                                                                              The library exposes a number of configuration options in the form of compiler #defines. Things like changing the optional<T> type, disabling header-only mode, et cetera. The full list of configurables can be found on the Library Configuration page.

                                                                                                                              Contributing

                                                                                                                              Contributions are very welcome! Either by reporting issues or submitting pull requests. If you wish to submit a pull request, please see CONTRIBUTING for all the details you need to get going.

                                                                                                                              License

                                                                                                                              toml++ is licensed under the terms of the MIT license - see LICENSE.

                                                                                                                              If you're using the single-header version of the library you don't need to explicitly distribute the license file; it is embedded in the preamble at the top of the header.

                                                                                                                              Contacting the author

                                                                                                                              For bug reports and feature requests please use the Github Issues system. For anything else you're welcome to reach out via other means. In order of likely response speed:

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.4.0/logo.svg b/v3.4.0/logo.svg new file mode 100644 index 00000000..5941d793 --- /dev/null +++ b/v3.4.0/logo.svg @@ -0,0 +1,15 @@ + + + + + + + \ No newline at end of file diff --git a/v3.4.0/modules.html b/v3.4.0/modules.html new file mode 100644 index 00000000..15a619c0 --- /dev/null +++ b/v3.4.0/modules.html @@ -0,0 +1,142 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Modules

                                                                                                                              + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.4.0/namespaces.html b/v3.4.0/namespaces.html new file mode 100644 index 00000000..a873e5f0 --- /dev/null +++ b/v3.4.0/namespaces.html @@ -0,0 +1,147 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Namespaces

                                                                                                                              +
                                                                                                                                +
                                                                                                                              • + namespace toml The root namespace for all toml++ functions and types. +
                                                                                                                                  +
                                                                                                                                • namespace literals inline Convenience literal operators for working with toml++.
                                                                                                                                • +
                                                                                                                                +
                                                                                                                              • +
                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.4.0/namespacetoml.html b/v3.4.0/namespacetoml.html new file mode 100644 index 00000000..85f59f15 --- /dev/null +++ b/v3.4.0/namespacetoml.html @@ -0,0 +1,1269 @@ + + + + toml namespace | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml namespace +

                                                                                                                              +

                                                                                                                              The root namespace for all toml++ functions and types.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Namespaces

                                                                                                                              +
                                                                                                                              +
                                                                                                                              namespace literals inline
                                                                                                                              +
                                                                                                                              Convenience literal operators for working with toml++.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Classes

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + class array +
                                                                                                                              +
                                                                                                                              A TOML array.
                                                                                                                              +
                                                                                                                              + struct date +
                                                                                                                              +
                                                                                                                              A local date.
                                                                                                                              +
                                                                                                                              + struct date_time +
                                                                                                                              +
                                                                                                                              A date-time.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + struct inserter +
                                                                                                                              +
                                                                                                                              Helper class for suppressing move-construction in single-argument array constructors.
                                                                                                                              +
                                                                                                                              + class json_formatter +
                                                                                                                              +
                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted JSON.
                                                                                                                              +
                                                                                                                              + class key +
                                                                                                                              +
                                                                                                                              A key parsed from a TOML document.
                                                                                                                              +
                                                                                                                              + class node +
                                                                                                                              +
                                                                                                                              A TOML node.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ViewedType>
                                                                                                                              + class node_view +
                                                                                                                              +
                                                                                                                              A view of a node.
                                                                                                                              +
                                                                                                                              + class parse_error +
                                                                                                                              +
                                                                                                                              An error generated when parsing fails.
                                                                                                                              +
                                                                                                                              + class parse_result +
                                                                                                                              +
                                                                                                                              The result of a parsing operation.
                                                                                                                              +
                                                                                                                              + class path +
                                                                                                                              +
                                                                                                                              A TOML path.
                                                                                                                              +
                                                                                                                              + class path_component +
                                                                                                                              +
                                                                                                                              Represents a single component of a complete 'TOML-path': either a key or an array index.
                                                                                                                              +
                                                                                                                              + struct source_position +
                                                                                                                              +
                                                                                                                              A source document line-and-column pair.
                                                                                                                              +
                                                                                                                              + struct source_region +
                                                                                                                              +
                                                                                                                              A source document region.
                                                                                                                              +
                                                                                                                              + class table +
                                                                                                                              +
                                                                                                                              A TOML table.
                                                                                                                              +
                                                                                                                              + struct time +
                                                                                                                              +
                                                                                                                              A local time-of-day.
                                                                                                                              +
                                                                                                                              + struct time_offset +
                                                                                                                              +
                                                                                                                              A timezone offset.
                                                                                                                              +
                                                                                                                              + class toml_formatter +
                                                                                                                              +
                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted TOML.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename ValueType>
                                                                                                                              + class value +
                                                                                                                              +
                                                                                                                              A TOML value.
                                                                                                                              +
                                                                                                                              + class yaml_formatter +
                                                                                                                              +
                                                                                                                              A wrapper for printing TOML objects out to a stream as formatted YAML.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Enums

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + enum class format_flags: uint64_t { none, + quote_dates_and_times = (1ull << 0), + quote_infinities_and_nans = (1ull << 1), + allow_literal_strings = (1ull << 2), + allow_multi_line_strings = (1ull << 3), + allow_real_tabs_in_strings = (1ull << 4), + allow_unicode_strings = (1ull << 5), + allow_binary_integers = (1ull << 6), + allow_octal_integers = (1ull << 7), + allow_hexadecimal_integers = (1ull << 8), + indent_sub_tables = (1ull << 9), + indent_array_elements = (1ull << 10), + indentation = indent_sub_tables | indent_array_elements, + relaxed_float_precision = (1ull << 11), + terse_key_value_pairs = (1ull << 12) } +
                                                                                                                              +
                                                                                                                              Format flags for modifying how TOML data is printed to streams.
                                                                                                                              +
                                                                                                                              + enum class node_type: uint8_t { none, + table, + array, + string, + integer, + floating_point, + boolean, + date, + time, + date_time } +
                                                                                                                              +
                                                                                                                              TOML node type identifiers.
                                                                                                                              +
                                                                                                                              + enum class path_component_type: uint8_t { key = 0x1, + array_index = 0x2 } +
                                                                                                                              +
                                                                                                                              Indicates type of path component, either a key, an index in an array, or invalid.
                                                                                                                              +
                                                                                                                              + enum class value_flags: uint16_t { none, + format_as_binary = 1, + format_as_octal = 2, + format_as_hexadecimal = 3 } +
                                                                                                                              +
                                                                                                                              Metadata associated with TOML values.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Typedefs

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + using array_iterator = /* ... */ +
                                                                                                                              +
                                                                                                                              A RandomAccessIterator for iterating over elements in a toml::array.
                                                                                                                              +
                                                                                                                              + using const_array_iterator = /* ... */ +
                                                                                                                              +
                                                                                                                              A RandomAccessIterator for iterating over const elements in a toml::array.
                                                                                                                              +
                                                                                                                              + using const_table_iterator = /* ... */ +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over const key-value pairs in a toml::table.
                                                                                                                              +
                                                                                                                              + using default_formatter = toml_formatter +
                                                                                                                              +
                                                                                                                              The 'default' formatter used by TOML objects when they are printed to a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + using inserted_type_of = /* ... */ +
                                                                                                                              +
                                                                                                                              Metafunction for determining which node type would be constructed if an object of this type was inserted into a toml::table or toml::array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + using optional = std::optional<T> +
                                                                                                                              +
                                                                                                                              The 'optional' type used throughout the library.
                                                                                                                              +
                                                                                                                              + using source_index = uint32_t +
                                                                                                                              +
                                                                                                                              The integer type used to tally line numbers and columns.
                                                                                                                              +
                                                                                                                              + using source_path_ptr = std::shared_ptr<const std::string> +
                                                                                                                              +
                                                                                                                              A pointer to a shared string resource containing a source path.
                                                                                                                              +
                                                                                                                              + using table_iterator = /* ... */ +
                                                                                                                              +
                                                                                                                              A BidirectionalIterator for iterating over key-value pairs in a toml::table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto at_path(node& root, + std::string_view path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the node matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const node& root, + std::string_view path) -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the node matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(node& root, + std::wstring_view path) -> node_view<node> +
                                                                                                                              +
                                                                                                                              Returns a view of the node matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const node& root, + std::wstring_view path) -> node_view<const node> +
                                                                                                                              +
                                                                                                                              Returns a const view of the node matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(node& root, + const toml::path& path) -> node_view<node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a view of the node matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto at_path(const node& root, + const toml::path& path) -> node_view<const node> noexcept +
                                                                                                                              +
                                                                                                                              Returns a const view of the node matching a fully-qualified "TOML path".
                                                                                                                              +
                                                                                                                              + auto operator""_toml(const char* str, + size_t len) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses TOML data from a string literal.
                                                                                                                              +
                                                                                                                              + auto operator""_toml(const char8_t* str, + size_t len) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses TOML data from a UTF-8 string literal.
                                                                                                                              +
                                                                                                                              + auto operator""_tpath(const char* str, + size_t len) -> path +
                                                                                                                              +
                                                                                                                              Parses a TOML path from a string literal.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Char>
                                                                                                                              + auto operator<<(std::basic_ostream<Char>& lhs, + node_type rhs) -> std::basic_ostream<Char>& +
                                                                                                                              +
                                                                                                                              Pretty-prints the value of a node_type to a stream.
                                                                                                                              +
                                                                                                                              + auto parse(std::string_view doc, + std::string_view source_path = {}) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::string_view doc, + std::string&& source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::u8string_view doc, + std::string_view source_path = {}) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a char8_t string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::u8string_view doc, + std::string&& source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a char8_t string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::string_view doc, + std::wstring_view source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::istream& doc, + std::wstring_view source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a stream.
                                                                                                                              +
                                                                                                                              + auto parse(std::u8string_view doc, + std::wstring_view source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a char8_t string view.
                                                                                                                              +
                                                                                                                              + auto parse(std::istream& doc, + std::string_view source_path = {}) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a stream.
                                                                                                                              +
                                                                                                                              + auto parse(std::istream& doc, + std::string&& source_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a stream.
                                                                                                                              +
                                                                                                                              + auto parse_file(std::string_view file_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a file.
                                                                                                                              +
                                                                                                                              + auto parse_file(std::u8string_view file_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a file.
                                                                                                                              +
                                                                                                                              + auto parse_file(std::wstring_view file_path) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses a TOML document from a file.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_array constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_boolean constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a bool or toml::value<bool>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_chronological constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type satisfies any of toml::is_date, toml::is_time or toml::is_date_time.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_container constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type satisfies either toml::is_table or toml::is_array.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_date constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::date or toml::value<date>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_date_time constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::date_time or toml::value<date_time>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_floating_point constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a double or toml::value<double>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_integer constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a int64_t or toml::value<int64_t>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_key constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::key.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_key_or_convertible constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::key, or is implicitly or explicitly convertible to one.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_node constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::node (or one of its subclasses).
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_node_view constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::node_view.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_number constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type satisfies either toml::is_integer or toml::is_floating_point.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_string constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a std::string or toml::value<std::string>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_table constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::table.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_time constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, a toml::time or toml::value<time>.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + bool is_value constexpr +
                                                                                                                              +
                                                                                                                              Metafunction for determining if a type is, or is a reference to, any of the toml value types. Excludes tables and arrays.
                                                                                                                              +
                                                                                                                              + value_flags preserve_source_value_flags constexpr +
                                                                                                                              +
                                                                                                                              Special toml::value_flags constant used for array + table insert functions to specify that any value nodes being copied should not have their flags property overridden by the inserting function's flags argument.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Enum documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + enum class toml::format_flags: uint64_t +

                                                                                                                              +

                                                                                                                              Format flags for modifying how TOML data is printed to streams.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Enumerators
                                                                                                                              none +

                                                                                                                              None.

                                                                                                                              +
                                                                                                                              quote_dates_and_times +

                                                                                                                              Dates and times will be emitted as quoted strings.

                                                                                                                              +
                                                                                                                              quote_infinities_and_nans +

                                                                                                                              Infinities and NaNs will be emitted as quoted strings.

                                                                                                                              +
                                                                                                                              allow_literal_strings +

                                                                                                                              Strings will be emitted as single-quoted literal strings where possible.

                                                                                                                              +
                                                                                                                              allow_multi_line_strings +

                                                                                                                              Strings containing newlines will be emitted as triple-quoted 'multi-line' strings where possible.

                                                                                                                              +
                                                                                                                              allow_real_tabs_in_strings +

                                                                                                                              Allow real tab characters in string literals (as opposed to the escaped form \t).

                                                                                                                              +
                                                                                                                              allow_unicode_strings +

                                                                                                                              Allow non-ASCII characters in strings (as opposed to their escaped form, e.g. \u00DA).

                                                                                                                              +
                                                                                                                              allow_binary_integers +

                                                                                                                              Allow integers with value_flags::format_as_binary to be emitted as binary.

                                                                                                                              +
                                                                                                                              allow_octal_integers +

                                                                                                                              Allow integers with value_flags::format_as_octal to be emitted as octal.

                                                                                                                              +
                                                                                                                              allow_hexadecimal_integers +

                                                                                                                              Allow integers with value_flags::format_as_hexadecimal to be emitted as hexadecimal.

                                                                                                                              +
                                                                                                                              indent_sub_tables +

                                                                                                                              Apply indentation to tables nested within other tables/arrays.

                                                                                                                              +
                                                                                                                              indent_array_elements +

                                                                                                                              Apply indentation to array elements when the array is forced to wrap over multiple lines.

                                                                                                                              +
                                                                                                                              indentation +

                                                                                                                              Combination mask of all indentation-enabling flags.

                                                                                                                              +
                                                                                                                              relaxed_float_precision +

                                                                                                                              Emit floating-point values with relaxed (human-friendly) precision.

                                                                                                                              + +
                                                                                                                              terse_key_value_pairs +

                                                                                                                              Avoids the use of whitespace around key-value pairs.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + enum class toml::node_type: uint8_t +

                                                                                                                              +

                                                                                                                              TOML node type identifiers.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Enumerators
                                                                                                                              none +

                                                                                                                              Not-a-node.

                                                                                                                              +
                                                                                                                              table +

                                                                                                                              The node is a toml::table.

                                                                                                                              +
                                                                                                                              array +

                                                                                                                              The node is a toml::array.

                                                                                                                              +
                                                                                                                              string +

                                                                                                                              The node is a toml::value<std::string>.

                                                                                                                              +
                                                                                                                              integer +

                                                                                                                              The node is a toml::value<int64_t>.

                                                                                                                              +
                                                                                                                              floating_point +

                                                                                                                              The node is a toml::value<double>.

                                                                                                                              +
                                                                                                                              boolean +

                                                                                                                              The node is a toml::value<bool>.

                                                                                                                              +
                                                                                                                              date +

                                                                                                                              The node is a toml::value<date>.

                                                                                                                              +
                                                                                                                              time +

                                                                                                                              The node is a toml::value<time>.

                                                                                                                              +
                                                                                                                              date_time +

                                                                                                                              The node is a toml::value<date_time>.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + enum class toml::value_flags: uint16_t +

                                                                                                                              +

                                                                                                                              Metadata associated with TOML values.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Enumerators
                                                                                                                              none +

                                                                                                                              None.

                                                                                                                              +
                                                                                                                              format_as_binary +

                                                                                                                              Format integer values as binary.

                                                                                                                              +
                                                                                                                              format_as_octal +

                                                                                                                              Format integer values as octal.

                                                                                                                              +
                                                                                                                              format_as_hexadecimal +

                                                                                                                              Format integer values as hexadecimal.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Typedef documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + using toml::default_formatter = toml_formatter +

                                                                                                                              +

                                                                                                                              The 'default' formatter used by TOML objects when they are printed to a stream.

                                                                                                                              +

                                                                                                                              This is an alias for toml::toml_formatter.

                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + using toml::inserted_type_of = /* ... */ +

                                                                                                                              +

                                                                                                                              Metafunction for determining which node type would be constructed if an object of this type was inserted into a toml::table or toml::array.

                                                                                                                              +
                                                                                                                              static_assert(std::is_same_v<toml::inserted_type_of<const char*>, toml::value<std::string>);
                                                                                                                              +static_assert(std::is_same_v<toml::inserted_type_of<int>,         toml::value<int64_t>);
                                                                                                                              +static_assert(std::is_same_v<toml::inserted_type_of<float>,       toml::value<double>);
                                                                                                                              +static_assert(std::is_same_v<toml::inserted_type_of<bool>,        toml::value<bool>);
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename T> +
                                                                                                                              + using toml::optional = std::optional<T> +

                                                                                                                              +

                                                                                                                              The 'optional' type used throughout the library.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::at_path(node& root, + std::string_view path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the node matching a fully-qualified "TOML path".

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              rootThe root node from which the path will be traversed.
                                                                                                                              pathThe "TOML path" to traverse.
                                                                                                                              +
                                                                                                                              auto config = toml::parse(R"(
                                                                                                                              +
                                                                                                                              +[foo]
                                                                                                                              +bar = [ 0, 1, 2, [ 3 ], { kek = 4 } ]
                                                                                                                              +
                                                                                                                              +)"sv);
                                                                                                                              +
                                                                                                                              +std::cout << toml::at_path(config, "foo.bar[2]") << "\n";
                                                                                                                              +std::cout << toml::at_path(config, "foo.bar[3][0]") << "\n";
                                                                                                                              +std::cout << toml::at_path(config, "foo.bar[4].kek") << "\n";
                                                                                                                              2
                                                                                                                              +3
                                                                                                                              +4
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::at_path(const node& root, + std::string_view path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a const view of the node matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::at_path(node& root, + std::wstring_view path) +

                                                                                                                              +

                                                                                                                              Returns a view of the node matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::at_path(const node& root, + std::wstring_view path) +

                                                                                                                              +

                                                                                                                              Returns a const view of the node matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<node> toml::at_path(node& root, + const toml::path& path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a view of the node matching a fully-qualified "TOML path".

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              rootThe root node from which the path will be traversed.
                                                                                                                              pathThe "TOML path" to traverse.
                                                                                                                              +
                                                                                                                              auto config = toml::parse(R"(
                                                                                                                              +
                                                                                                                              +[foo]
                                                                                                                              +bar = [ 0, 1, 2, [ 3 ], { kek = 4 } ]
                                                                                                                              +
                                                                                                                              +)"sv);
                                                                                                                              +
                                                                                                                              +toml::path path1("foo.bar[2]");
                                                                                                                              +toml::path path2("foo.bar[4].kek");
                                                                                                                              +std::cout << toml::at_path(config, path1) << "\n";
                                                                                                                              +std::cout << toml::at_path(config, path1.parent_path()) << "\n";
                                                                                                                              +std::cout << toml::at_path(config, path2) << "\n";
                                                                                                                              +std::cout << toml::at_path(config, path2.parent_path()) << "\n";
                                                                                                                              2
                                                                                                                              +[ 0, 1, 2, [ 3 ], { kek = 4 } ]
                                                                                                                              +4
                                                                                                                              +{ kek  = 4 }
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + node_view<const node> toml::at_path(const node& root, + const toml::path& path) noexcept +

                                                                                                                              +

                                                                                                                              Returns a const view of the node matching a fully-qualified "TOML path".

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename Char> +
                                                                                                                              + std::basic_ostream<Char>& toml::operator<<(std::basic_ostream<Char>& lhs, + node_type rhs) +

                                                                                                                              +

                                                                                                                              Pretty-prints the value of a node_type to a stream.

                                                                                                                              +
                                                                                                                              auto arr = toml::array{ 1, 2.0, "3", false };
                                                                                                                              +for (size_t i = 0; i < arr.size() i++)
                                                                                                                              +    std::cout << "Element ["sv << i << "] is: "sv << arr[i].type() << "\n";
                                                                                                                              Element [0] is: integer
                                                                                                                              +Element [1] is: floating-point
                                                                                                                              +Element [2] is: string
                                                                                                                              +Element [3] is: boolean
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::string_view doc, + std::string_view source_path = {}) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse("a = 3"sv);
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::string_view doc, + std::string&& source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse("a = 3"sv, "foo.toml");
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::u8string_view doc, + std::string_view source_path = {}) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a char8_t string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse(u8"a = 3"sv);
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::u8string_view doc, + std::string&& source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a char8_t string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse(u8"a = 3"sv, "foo.toml");
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::string_view doc, + std::wstring_view source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse("a = 3"sv, L"foo.toml");
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::istream& doc, + std::wstring_view source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              std::stringstream ss;
                                                                                                                              +ss << "a = 3"sv;
                                                                                                                              +
                                                                                                                              +auto tbl = toml::parse(ss);
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::u8string_view doc, + std::wstring_view source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a char8_t string view.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse(u8"a = 3"sv, L"foo.toml");
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::istream& doc, + std::string_view source_path = {}) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              std::stringstream ss;
                                                                                                                              +ss << "a = 3"sv;
                                                                                                                              +
                                                                                                                              +auto tbl = toml::parse(ss);
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse(std::istream& doc, + std::string&& source_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              docThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              source_pathThe path used to initialize each node's source().path. If you don't have a path (or you have no intention of using paths in diagnostics) then this parameter can safely be left blank.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              std::stringstream ss;
                                                                                                                              +ss << "a = 3"sv;
                                                                                                                              +
                                                                                                                              +auto tbl = toml::parse(ss, "foo.toml");
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse_file(std::string_view file_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a file.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              file_pathThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              toml::parse_result get_foo_toml()
                                                                                                                              +{
                                                                                                                              +    return toml::parse_file("foo.toml");
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse_file(std::u8string_view file_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a file.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              file_pathThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              toml::parse_result get_foo_toml()
                                                                                                                              +{
                                                                                                                              +    return toml::parse_file(u8"foo.toml");
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::parse_file(std::wstring_view file_path) +

                                                                                                                              +

                                                                                                                              Parses a TOML document from a file.

                                                                                                                              + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              file_pathThe TOML document to parse. Must be valid UTF-8.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              toml::parse_result get_foo_toml()
                                                                                                                              +{
                                                                                                                              +    return toml::parse_file(L"foo.toml");
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.4.0/namespacetoml_1_1literals.html b/v3.4.0/namespacetoml_1_1literals.html new file mode 100644 index 00000000..136e0815 --- /dev/null +++ b/v3.4.0/namespacetoml_1_1literals.html @@ -0,0 +1,267 @@ + + + + toml::literals namespace | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::literals namespace inline +

                                                                                                                              +

                                                                                                                              Convenience literal operators for working with toml++.

                                                                                                                              + +

                                                                                                                              This namespace exists so you can safely hoist the toml++ literal operators into another scope without dragging in everything from the toml namespace:

                                                                                                                              #include <toml++/toml.hpp>
                                                                                                                              +using namespace toml::literals;
                                                                                                                              +
                                                                                                                              +int main()
                                                                                                                              +{
                                                                                                                              +    toml::table tbl = "vals = [1, 2, 3]"_toml;
                                                                                                                              +
                                                                                                                              +    // ... do stuff with the table generated by the "_toml" literal ...
                                                                                                                              +
                                                                                                                              +    return 0;
                                                                                                                              +}
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator""_toml(const char* str, + size_t len) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses TOML data from a string literal.
                                                                                                                              +
                                                                                                                              + auto operator""_toml(const char8_t* str, + size_t len) -> parse_result +
                                                                                                                              +
                                                                                                                              Parses TOML data from a UTF-8 string literal.
                                                                                                                              +
                                                                                                                              + auto operator""_tpath(const char* str, + size_t len) -> path +
                                                                                                                              +
                                                                                                                              Parses a TOML path from a string literal.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::literals::operator""_toml(const char* str, + size_t len) +

                                                                                                                              +

                                                                                                                              Parses TOML data from a string literal.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              strThe string data. Must be valid UTF-8.
                                                                                                                              lenThe string length.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              using namespace toml::literals;
                                                                                                                              +
                                                                                                                              +auto tbl = "a = 3"_toml;
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + parse_result toml::literals::operator""_toml(const char8_t* str, + size_t len) +

                                                                                                                              +

                                                                                                                              Parses TOML data from a UTF-8 string literal.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              strThe string data. Must be valid UTF-8.
                                                                                                                              lenThe string length.
                                                                                                                              ReturnsWith exceptions: A toml::table. Without exceptions: A toml::parse_result.
                                                                                                                              +
                                                                                                                              using namespace toml::literals;
                                                                                                                              +
                                                                                                                              +auto tbl = u8"a = 3"_toml;
                                                                                                                              +std::cout << tbl["a"] << "\n";
                                                                                                                              3
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + path toml::literals::operator""_tpath(const char* str, + size_t len) +

                                                                                                                              +

                                                                                                                              Parses a TOML path from a string literal.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              strThe string data.
                                                                                                                              lenThe string length.
                                                                                                                              ReturnsA toml::path generated from the string literal.
                                                                                                                              +
                                                                                                                              using namespace toml::literals;
                                                                                                                              +
                                                                                                                              +auto path = "main.settings.devices[2]"_tpath;
                                                                                                                              +std::cout << path.parent_path() << "\n";
                                                                                                                              main.settings.devices
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.4.0/pages.html b/v3.4.0/pages.html new file mode 100644 index 00000000..05d55965 --- /dev/null +++ b/v3.4.0/pages.html @@ -0,0 +1,142 @@ + + + + toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Pages

                                                                                                                              + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.4.0/search-v2.js b/v3.4.0/search-v2.js new file mode 100644 index 00000000..1fb71e1f --- /dev/null +++ b/v3.4.0/search-v2.js @@ -0,0 +1,897 @@ +/* + This file is part of m.css. + + Copyright © 2017, 2018, 2019, 2020, 2021, 2022, 2023 + Vladimír Vondruš + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included + in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. +*/ + +"use strict"; /* it summons the Cthulhu in a proper way, they say */ + +var Search = { + formatVersion: 2, /* the data filename contains this number too */ + + dataSize: 0, /* used mainly by tests, not here */ + symbolCount: '…', + trie: null, + map: null, + mapFlagsOffset: null, + typeMap: null, + maxResults: 0, + + /* Type sizes and masks. The data is always fetched as 16/32bit number and + then masked to 1, 2, 3 or 4 bytes. Fortunately on LE a mask is enough, + on BE we'd have to read N bytes before and then mask. */ + nameSizeBytes: null, + nameSizeMask: null, + resultIdBytes: null, + resultIdMask: null, + fileOffsetBytes: null, + fileOffsetMask: null, + lookaheadBarrierMask: null, + + /* Always contains at least the root node offset and then one node offset + per entered character */ + searchString: '', + searchStack: [], + + /* So items don't get selected right away when a cursor is over results but + only after mouse moves */ + mouseMovedSinceLastRender: false, + + /* Whether we can go back in history in order to hide the search box or + not. We can't do that if we arrived directly on #search from outside. */ + canGoBackToHideSearch: false, + + /* Autocompletion in the input field is whitelisted only for character + input (so not deletion, cut, or anything else). This is flipped in the + onkeypress event and reset after each oninput event. */ + autocompleteNextInputEvent: false, + + init: function(buffer, maxResults) { + let view = new DataView(buffer); + + /* The file is too short to contain at least the headers and empty + sections */ + if(view.byteLength < 31) { + console.error("Search data too short"); + return false; + } + + if(view.getUint8(0) != 'M'.charCodeAt(0) || + view.getUint8(1) != 'C'.charCodeAt(0) || + view.getUint8(2) != 'S'.charCodeAt(0)) { + console.error("Invalid search data signature"); + return false; + } + + if(view.getUint8(3) != this.formatVersion) { + console.error("Invalid search data version"); + return false; + } + + /* Fetch type sizes. The only value that can fail is result ID byte + count, where value of 3 has no assigned meaning. */ + let typeSizes = view.getUint8(4, true); + if((typeSizes & 0x01) >> 0 == 0) { + this.fileOffsetBytes = 3; + this.fileOffsetMask = 0x00ffffff; + this.lookaheadBarrierMask = 0x00800000; + } else /* (typeSizes & 0x01) >> 0 == 1 */ { + this.fileOffsetBytes = 4; + this.fileOffsetMask = 0xffffffff; + this.lookaheadBarrierMask = 0x80000000; + } + if((typeSizes & 0x06) >> 1 == 0) { + this.resultIdBytes = 2; + this.resultIdMask = 0x0000ffff; + } else if((typeSizes & 0x06) >> 1 == 1) { + this.resultIdBytes = 3; + this.resultIdMask = 0x00ffffff; + } else if((typeSizes & 0x06) >> 1 == 2) { + this.resultIdBytes = 4; + this.resultIdMask = 0xffffffff; + } else /* (typeSizes & 0x06) >> 1 == 3 */ { + console.error("Invalid search data result ID byte value"); + return false; + } + if((typeSizes & 0x08) >> 3 == 0) { + this.nameSizeBytes = 1; + this.nameSizeMask = 0x00ff; + } else /* (typeSizes & 0x08) >> 3 == 1 */ { + this.nameSizeBytes = 2; + this.nameSizeMask = 0xffff; + } + + /* Separate the data into the trie and the result / type map. Because + we're reading larger values than there might be and then masking out + the high bytes, keep extra 1/2 byte padding at the end to avoid + OOB errors. */ + let mapOffset = view.getUint32(12, true); + let typeMapOffset = view.getUint32(16, true); + /* There may be a 3-byte file offset at the end of the trie which we'll + read as 32-bit, add one safety byte in that case */ + this.trie = new DataView(buffer, 20, mapOffset - 20 + (4 - this.fileOffsetBytes)); + /* There may be a 3-byte file size (for zero results) which we'll read + as 32-bit, add one safety byte in that case */ + this.map = new DataView(buffer, mapOffset, typeMapOffset - mapOffset + (4 - this.fileOffsetBytes)); + /* No variable-size types in the type map at the moment */ + this.typeMap = new DataView(buffer, typeMapOffset); + + /* Offset of the first result map item is after N + 1 offsets and N + flags, calculate flag offset from that */ + this.mapFlagsOffset = this.fileOffsetBytes*(((this.map.getUint32(0, true) & this.fileOffsetMask) - this.fileOffsetBytes)/(this.fileOffsetBytes + 1) + 1); + + /* Set initial properties */ + this.dataSize = buffer.byteLength; + this.symbolCount = view.getUint32(8, true) + " symbols (" + Math.round(this.dataSize/102.4)/10 + " kB)"; + this.maxResults = maxResults ? maxResults : 100; + this.searchString = ''; + this.searchStack = [this.trie.getUint32(0, true)]; + + /* istanbul ignore if */ + if(typeof document !== 'undefined') { + document.getElementById('search-symbolcount').innerHTML = this.symbolCount; + document.getElementById('search-input').disabled = false; + document.getElementById('search-input').placeholder = "Type something here …"; + document.getElementById('search-input').focus(); + + /* Search for the input value (there might be something already, + for example when going back in the browser) */ + let value = document.getElementById('search-input').value; + + /* Otherwise check the GET parameters for `q` and fill the input + with that */ + if(!value.length) { + var args = decodeURIComponent(window.location.search.substr(1)).trim().split('&'); + for(var i = 0; i != args.length; ++i) { + if(args[i].substring(0, 2) != 'q=') continue; + + value = document.getElementById('search-input').value = args[i].substring(2); + break; + } + } + + if(value.length) Search.searchAndRender(value); + } + + return true; + }, + + download: /* istanbul ignore next */ function(url) { + var req = window.XDomainRequest ? new XDomainRequest() : new XMLHttpRequest(); + if(!req) return; + + req.open("GET", url, true); + req.responseType = 'arraybuffer'; + req.onreadystatechange = function() { + if(req.readyState != 4) return; + + Search.init(req.response); + } + req.send(); + }, + + base85decode: function(base85string) { + function charValue(char) { + if(char >= 48 && char < 58) /* 0-9 -> 0-9 */ + return char - 48 + 0; + if(char >= 65 && char < 91) /* A-Z -> 10-35 */ + return char - 65 + 10; + if(char >= 97 && char < 123) /* a-z -> 36-61 */ + return char - 97 + 36; + if(char == 33) /* ! -> 62 */ + return 62; + /* skipping 34 (') */ + if(char >= 35 && char < 39) /* #-& -> 63-66 */ + return char - 35 + 63; + /* skipping 39 (") */ + if(char >= 40 && char < 44) /* (-+ -> 67-70 */ + return char - 40 + 67; + /* skipping 44 (,) */ + if(char == 45) /* - -> 71 */ + return 71; + if(char >= 59 && char < 65) /* ;-@ -> 72-77 */ + return char - 59 + 72; + if(char >= 94 && char < 97) /* ^-` -> 78-80 */ + return char - 94 + 78; + if(char >= 123 && char < 127) /* {-~ -> 81-84 */ + return char - 123 + 81; + + return 0; /* Interpret padding values as zeros */ + } + + /* Pad the string for easier decode later. We don't read past the file + end, so it doesn't matter what garbage is there. */ + if(base85string.length % 5) { + console.log("Expected properly padded base85 data"); + return; + } + + let buffer = new ArrayBuffer(base85string.length*4/5); + let data8 = new DataView(buffer); + for(let i = 0; i < base85string.length; i += 5) { + let char1 = charValue(base85string.charCodeAt(i + 0)); + let char2 = charValue(base85string.charCodeAt(i + 1)); + let char3 = charValue(base85string.charCodeAt(i + 2)); + let char4 = charValue(base85string.charCodeAt(i + 3)); + let char5 = charValue(base85string.charCodeAt(i + 4)); + + data8.setUint32(i*4/5, char5 + + char4*85 + + char3*85*85 + + char2*85*85*85 + + char1*85*85*85*85, false); /* BE, yes */ + } + + return buffer; + }, + + load: function(base85string) { + return this.init(this.base85decode(base85string)); + }, + + /* http://ecmanaut.blogspot.com/2006/07/encoding-decoding-utf8-in-javascript.html */ + toUtf8: function(string) { return unescape(encodeURIComponent(string)); }, + fromUtf8: function(string) { return decodeURIComponent(escape(string)); }, + + autocompletedCharsToUtf8: function(chars) { + /* Strip incomplete UTF-8 chars from the autocompletion end */ + for(let i = chars.length - 1; i >= 0; --i) { + let c = chars[i]; + + /* We're safe, finish */ + if( + /* ASCII value at the end */ + (c < 128 && i + 1 == chars.length) || + + /* Full two-byte character at the end */ + ((c & 0xe0) == 0xc0 && i + 2 == chars.length) || + + /* Full three-byte character at the end */ + ((c & 0xf0) == 0xe0 && i + 3 == chars.length) || + + /* Full four-byte character at the end */ + ((c & 0xf8) == 0xf0 && i + 4 == chars.length) + ) break; + + /* Continuing UTF-8 character, go further back */ + if((c & 0xc0) == 0x80) continue; + + /* Otherwise the character is not complete, drop it from the end */ + chars.length = i; + break; + } + + /* Convert the autocompleted UTF-8 sequence to a string */ + let suggestedTabAutocompletionString = ''; + for(let i = 0; i != chars.length; ++i) + suggestedTabAutocompletionString += String.fromCharCode(chars[i]); + return suggestedTabAutocompletionString; + }, + + /* Returns the values in UTF-8, but input is in whatever shitty 16bit + encoding JS has */ + search: function(searchString) { + /* Normalize the search string first, convert to UTF-8 and trim spaces + from the left. From the right they're trimmed only if nothing is + found, see below. */ + searchString = this.toUtf8(searchString.toLowerCase().replace(/^\s+/,'')); + + /* TODO: maybe i could make use of InputEvent.data and others here */ + + /* Find longest common prefix of previous and current value so we don't + need to needlessly search again */ + let max = Math.min(searchString.length, this.searchString.length); + let commonPrefix = 0; + for(; commonPrefix != max; ++commonPrefix) + if(searchString[commonPrefix] != this.searchString[commonPrefix]) break; + + /* Drop items off the stack if it has has more than is needed for the + common prefix (it needs to have at least one item, though) */ + if(commonPrefix + 1 < this.searchStack.length) + this.searchStack.splice(commonPrefix + 1, this.searchStack.length - commonPrefix - 1); + + /* Add new characters from the search string */ + let foundPrefix = commonPrefix; + for(; foundPrefix != searchString.length; ++foundPrefix) { + /* Calculate offset and count of children */ + let offset = this.searchStack[this.searchStack.length - 1]; + + /* If there's a lot of results, the result count is a 16bit BE value + instead */ + let resultCount = this.trie.getUint8(offset); + let resultCountSize = 1; + if(resultCount & 0x80) { + resultCount = this.trie.getUint16(offset, false) & ~0x8000; + ++resultCountSize; + } + + let childCount = this.trie.getUint8(offset + resultCountSize); + + /* Go through all children and find the next offset */ + let childOffset = offset + resultCountSize + 1 + resultCount*this.resultIdBytes; + let found = false; + for(let j = 0; j != childCount; ++j) { + if(String.fromCharCode(this.trie.getUint8(childOffset + j)) != searchString[foundPrefix]) + continue; + + this.searchStack.push(this.trie.getUint32(childOffset + childCount + j*this.fileOffsetBytes, true) & this.fileOffsetMask & ~this.lookaheadBarrierMask); + found = true; + break; + } + + /* Character not found */ + if(!found) { + /* If we found everything except spaces at the end, pretend the + spaces aren't there. On the other hand, we *do* want to + try searching with the spaces first -- it can narrow down + the result list for page names or show subpages (which are + after a lookahead barrier that's a space). */ + if(!searchString.substr(foundPrefix).trim().length) + searchString = searchString.substr(0, foundPrefix); + + break; + } + } + + /* Save the whole found prefix for next time */ + this.searchString = searchString.substr(0, foundPrefix); + + /* If the whole thing was not found, return an empty result and offer + external search */ + if(foundPrefix != searchString.length) { + /* istanbul ignore if */ + if(typeof document !== 'undefined') { + let link = document.getElementById('search-external'); + if(link) + link.href = link.dataset.searchEngine.replace('{query}', encodeURIComponent(searchString)); + } + return [[], '']; + } + + /* Otherwise gather the results */ + let suggestedTabAutocompletionChars = []; + let results = []; + let leaves = [[this.searchStack[this.searchStack.length - 1], 0]]; + while(leaves.length) { + /* Pop offset from the queue */ + let current = leaves.shift(); + let offset = current[0]; + let suffixLength = current[1]; + + /* Calculate child count. If there's a lot of results, the count + "leaks over" to the child count storage. */ + /* TODO: hmmm. this is helluvalot duplicated code. hmm. */ + let resultCount = this.trie.getUint8(offset); + let resultCountSize = 1; + if(resultCount & 0x80) { + resultCount = this.trie.getUint16(offset, false) & ~0x8000; + ++resultCountSize; + } + + let childCount = this.trie.getUint8(offset + resultCountSize); + + /* Populate the results with all values associated with this node */ + for(let i = 0; i != resultCount; ++i) { + let index = this.trie.getUint32(offset + resultCountSize + 1 + i*this.resultIdBytes, true) & this.resultIdMask; + results.push(this.gatherResult(index, suffixLength, 0xffffff)); /* should be enough haha */ + + /* 'nuff said. */ + if(results.length >= this.maxResults) + return [results, this.autocompletedCharsToUtf8(suggestedTabAutocompletionChars)]; + } + + /* Dig deeper */ + let childOffset = offset + resultCountSize + 1 + resultCount*this.resultIdBytes; + for(let j = 0; j != childCount; ++j) { + let offsetBarrier = this.trie.getUint32(childOffset + childCount + j*this.fileOffsetBytes, true) & this.fileOffsetMask; + + /* Lookahead barrier, don't dig deeper */ + if(offsetBarrier & this.lookaheadBarrierMask) continue; + + /* Append to the queue */ + leaves.push([offsetBarrier & ~this.lookaheadBarrierMask, suffixLength + 1]); + + /* We don't have anything yet and this is the only path + forward, add the char to suggested Tab autocompletion. Can't + extract it from the leftmost 8 bits of offsetBarrier because + that would make it negative, have to load as Uint8 instead. + Also can't use String.fromCharCode(), because later doing + str.charCodeAt() would give me back UTF-16 values, which is + absolutely unwanted when all I want is check for truncated + UTF-8. */ + if(!results.length && leaves.length == 1 && childCount == 1) + suggestedTabAutocompletionChars.push(this.trie.getUint8(childOffset + j)); + } + } + + return [results, this.autocompletedCharsToUtf8(suggestedTabAutocompletionChars)]; + }, + + gatherResult: function(index, suffixLength, maxUrlPrefix) { + let flags = this.map.getUint8(this.mapFlagsOffset + index); + let resultOffset = this.map.getUint32(index*this.fileOffsetBytes, true) & this.fileOffsetMask; + + /* The result is an alias, parse the aliased prefix */ + let aliasedIndex = null; + if((flags & 0xf0) == 0x00) { + aliasedIndex = this.map.getUint32(resultOffset, true) & this.resultIdMask; + resultOffset += this.resultIdBytes; + } + + /* The result has a prefix, parse that first, recursively */ + let name = ''; + let url = ''; + if(flags & (1 << 3)) { + let prefixIndex = this.map.getUint32(resultOffset, true) & this.resultIdMask; + let prefixUrlPrefixLength = Math.min(this.map.getUint16(resultOffset + this.resultIdBytes, true) & this.nameSizeMask, maxUrlPrefix); + + let prefix = this.gatherResult(prefixIndex, 0 /*ignored*/, prefixUrlPrefixLength); + name = prefix.name; + url = prefix.url; + + resultOffset += this.resultIdBytes + this.nameSizeBytes; + } + + /* The result has a suffix, extract its length */ + let resultSuffixLength = 0; + if(flags & (1 << 0)) { + resultSuffixLength = this.map.getUint16(resultOffset, true) & this.nameSizeMask; + resultOffset += this.nameSizeBytes; + } + + let nextResultOffset = this.map.getUint32((index + 1)*this.fileOffsetBytes, true) & this.fileOffsetMask; + + /* Extract name */ + let j = resultOffset; + for(; j != nextResultOffset; ++j) { + let c = this.map.getUint8(j); + + /* End of null-delimited name */ + if(!c) { + ++j; + break; /* null-delimited */ + } + + name += String.fromCharCode(c); /* eheh. IS THIS FAST?! */ + } + + /* The result is an alias and we're not deep inside resolving a prefix, + extract the aliased name and URL */ + /* TODO: this abuses 0xffffff to guess how the call stack is deep and + that's just wrong, fix! */ + if(aliasedIndex != null && maxUrlPrefix == 0xffffff) { + let alias = this.gatherResult(aliasedIndex, 0 /* ignored */, 0xffffff); /* should be enough haha */ + + /* Keeping in UTF-8, as we need that for proper slicing (and concatenating) */ + return {name: name, + alias: alias.name, + url: alias.url, + flags: alias.flags, + cssClass: alias.cssClass, + typeName: alias.typeName, + suffixLength: suffixLength + resultSuffixLength}; + } + + /* Otherwise extract URL from here */ + let max = Math.min(j + maxUrlPrefix - url.length, nextResultOffset); + for(; j != max; ++j) { + url += String.fromCharCode(this.map.getUint8(j)); + } + + /* This is an alias, return what we have, without parsed CSS class and + type name as those are retrieved from the final target type */ + if(!(flags >> 4)) + return {name: name, + url: url, + flags: flags & 0x0f, + suffixLength: suffixLength + resultSuffixLength}; + + /* Otherwise, get CSS class and type name for the result label */ + let typeMapIndex = (flags >> 4) - 1; + let cssClass = [ + /* Keep in sync with _search.py */ + 'm-default', + 'm-primary', + 'm-success', + 'm-warning', + 'm-danger', + 'm-info', + 'm-dim' + ][this.typeMap.getUint8(typeMapIndex*2)]; + let typeNameOffset = this.typeMap.getUint8(typeMapIndex*2 + 1); + let nextTypeNameOffset = this.typeMap.getUint8((typeMapIndex + 1)*2 + 1); + let typeName = ''; + for(let j = typeNameOffset; j != nextTypeNameOffset; ++j) + typeName += String.fromCharCode(this.typeMap.getUint8(j)); + + /* Keeping in UTF-8, as we need that for proper slicing (and + concatenating). Strip the type from the flags, as it's now expressed + directly. */ + return {name: name, + url: url, + flags: flags & 0x0f, + cssClass: cssClass, + typeName: typeName, + suffixLength: suffixLength + resultSuffixLength}; + }, + + escape: function(name) { + return name.replace(/[\"&<>]/g, function (a) { + return { '"': '"', '&': '&', '<': '<', '>': '>' }[a]; + }); + }, + escapeForRtl: function(name) { + /* Besides the obvious escaping of HTML entities we also need + to escape punctuation, because due to the RTL hack to cut + text off on left side the punctuation characters get + reordered (of course). Prepending ‎ works for most + characters, parentheses we need to *soak* in it. But only + the right ones. And that for some reason needs to be also for &. + Huh. https://en.wikipedia.org/wiki/Right-to-left_mark */ + return this.escape(name).replace(/[:=]/g, '‎$&').replace(/(\)|>|&|\/)/g, '‎$&‎'); + }, + + renderResults: /* istanbul ignore next */ function(resultsSuggestedTabAutocompletion) { + if(!this.searchString.length) { + document.getElementById('search-help').style.display = 'block'; + document.getElementById('search-results').style.display = 'none'; + document.getElementById('search-notfound').style.display = 'none'; + return; + } + + document.getElementById('search-help').style.display = 'none'; + + /* Results found */ + if(resultsSuggestedTabAutocompletion[0].length) { + let results = resultsSuggestedTabAutocompletion[0]; + + document.getElementById('search-results').style.display = 'block'; + document.getElementById('search-notfound').style.display = 'none'; + + let list = ''; + for(let i = 0; i != results.length; ++i) { + /* Labels + */ + list += '
                                                                                                                              ' + results[i].typeName + '
                                                                                                                              ' + (results[i].flags & 2 ? '
                                                                                                                              deprecated
                                                                                                                              ' : '') + (results[i].flags & 4 ? '
                                                                                                                              deleted
                                                                                                                              ' : ''); + + /* Render the alias (cut off from the right) */ + if(results[i].alias) { + list += '
                                                                                                                              ' + this.escape(results[i].name.substr(0, results[i].name.length - this.searchString.length - results[i].suffixLength)) + '' + this.escape(results[i].name.substr(results[i].name.length - this.searchString.length - results[i].suffixLength, this.searchString.length)) + '' + this.escapeForRtl(results[i].name.substr(results[i].name.length - results[i].suffixLength)) + ': ' + this.escape(results[i].alias) + ''; + + /* Render the normal thing (cut off from the left, have to + escape for RTL) */ + } else { + list += '
                                                                                                                              ' + this.escapeForRtl(results[i].name.substr(0, results[i].name.length - this.searchString.length - results[i].suffixLength)) + '' + this.escapeForRtl(results[i].name.substr(results[i].name.length - this.searchString.length - results[i].suffixLength, this.searchString.length)) + '' + this.escapeForRtl(results[i].name.substr(results[i].name.length - results[i].suffixLength)); + } + + /* The closing */ + list += '
                                                                                                                              '; + } + document.getElementById('search-results').innerHTML = this.fromUtf8(list); + document.getElementById('search-current').scrollIntoView(true); + + /* Append the suggested tab autocompletion, if any, and if the user + didn't just delete it */ + let searchInput = document.getElementById('search-input'); + if(this.autocompleteNextInputEvent && resultsSuggestedTabAutocompletion[1].length && searchInput.selectionEnd == searchInput.value.length) { + let suggestedTabAutocompletion = this.fromUtf8(resultsSuggestedTabAutocompletion[1]); + + let lengthBefore = searchInput.value.length; + searchInput.value += suggestedTabAutocompletion; + searchInput.setSelectionRange(lengthBefore, searchInput.value.length); + } + + /* Nothing found */ + } else { + document.getElementById('search-results').innerHTML = ''; + document.getElementById('search-results').style.display = 'none'; + document.getElementById('search-notfound').style.display = 'block'; + } + + /* Don't allow things to be selected just by motionless mouse cursor + suddenly appearing over a search result */ + this.mouseMovedSinceLastRender = false; + + /* Reset autocompletion, if it was allowed. It'll get whitelisted next + time a character gets inserted. */ + this.autocompleteNextInputEvent = false; + }, + + searchAndRender: /* istanbul ignore next */ function(value) { + let prev = performance.now(); + let results = this.search(value); + let after = performance.now(); + this.renderResults(results); + if(this.searchString.length) { + document.getElementById('search-symbolcount').innerHTML = + results[0].length + (results[0].length >= this.maxResults ? '+' : '') + " results (" + Math.round((after - prev)*10)/10 + " ms)"; + } else + document.getElementById('search-symbolcount').innerHTML = this.symbolCount; + }, +}; + +/* istanbul ignore next */ +function selectResult(event) { + if(!Search.mouseMovedSinceLastRender) return; + + if(event.currentTarget.parentNode.id == 'search-current') return; + + let current = document.getElementById('search-current'); + current.removeAttribute('id'); + event.currentTarget.parentNode.id = 'search-current'; +} + +/* This is separated from showSearch() because we need non-destructive behavior + when appearing directly on a URL with #search */ /* istanbul ignore next */ +function updateForSearchVisible() { + /* Prevent accidental scrolling of the body, prevent page layout jumps */ + let scrolledBodyWidth = document.body.offsetWidth; + document.body.style.overflow = 'hidden'; + document.body.style.paddingRight = (document.body.offsetWidth - scrolledBodyWidth) + 'px'; + + document.getElementById('search-input').value = ''; + document.getElementById('search-input').focus(); + document.getElementById('search-results').style.display = 'none'; + document.getElementById('search-notfound').style.display = 'none'; + document.getElementById('search-help').style.display = 'block'; +} + +/* istanbul ignore next */ +function showSearch() { + window.location.hash = '#search'; + Search.canGoBackToHideSearch = true; + + updateForSearchVisible(); + document.getElementById('search-symbolcount').innerHTML = Search.symbolCount; + return false; +} + +/* istanbul ignore next */ +function hideSearch() { + /* If the search box was opened using showSearch(), we can go back in the + history. Otherwise (for example when we landed to #search from a + bookmark or another server), going back would not do the right thing and + in that case we simply replace the current history state. */ + if(Search.canGoBackToHideSearch) { + Search.canGoBackToHideSearch = false; + window.history.back(); + } else { + window.location.hash = '#!'; + window.history.replaceState('', '', window.location.pathname); + } + + /* Restore scrollbar, prevent page layout jumps */ + document.body.style.overflow = 'auto'; + document.body.style.paddingRight = '0'; + + return false; +} + +/* istanbul ignore next */ +function copyToKeyboard(text) { + /* Append to the popup, appending to document.body would cause it to + scroll when focused */ + let searchPopup = document.getElementsByClassName('m-doc-search')[0]; + let textarea = document.createElement("textarea"); + textarea.value = text; + searchPopup.appendChild(textarea); + textarea.focus(); + textarea.select(); + + document.execCommand('copy'); + + searchPopup.removeChild(textarea); + document.getElementById('search-input').focus(); +} + +/* Only in case we're running in a browser. Why a simple if(document) doesn't + work is beyond me. */ /* istanbul ignore if */ +if(typeof document !== 'undefined') { + document.getElementById('search-input').oninput = function(event) { + Search.searchAndRender(document.getElementById('search-input').value); + }; + + document.onkeydown = function(event) { + /* Search shown */ + if(window.location.hash == '#search') { + /* Close the search */ + if(event.key == 'Escape') { + hideSearch(); + + /* Focus the search input, if not already, using T or Tab */ + } else if((!document.activeElement || document.activeElement.id != 'search-input') && (event.key.toLowerCase() == 't' || event.key == 'Tab') && !event.shiftKey && !event.ctrlKey && !event.altKey && !event.metaKey) { + document.getElementById('search-input').focus(); + return false; /* so T doesn't get entered into the box */ + + /* Fill in the autocompleted selection */ + } else if(event.key == 'Tab' && !event.shiftKey && !event.ctrlKey && !event.altKey && !event.metaKey) { + /* But only if the input has selection at the end */ + let input = document.getElementById('search-input'); + if(input.selectionEnd == input.value.length && input.selectionStart != input.selectionEnd) { + input.setSelectionRange(input.value.length, input.value.length); + return false; /* so input won't lose focus */ + } + + /* Select next item */ + } else if(event.key == 'ArrowDown') { + let current = document.getElementById('search-current'); + if(current) { + let next = current.nextSibling; + if(next) { + current.id = ''; + next.id = 'search-current'; + next.scrollIntoView(false); + } + } + return false; /* so the keypress doesn't affect input cursor */ + + /* Select prev item */ + } else if(event.key == 'ArrowUp') { + let current = document.getElementById('search-current'); + if(current) { + let prev = current.previousSibling; + if(prev) { + current.id = ''; + prev.id = 'search-current'; + prev.scrollIntoView(false); + } + } + return false; /* so the keypress doesn't affect input cursor */ + + /* Go to result (if any) */ + } else if(event.key == 'Enter') { + let result = document.getElementById('search-current'); + if(result) { + result.firstElementChild.click(); + + /* We might be staying on the same page, so restore scrollbar, + and prevent page layout jumps */ + document.body.style.overflow = 'auto'; + document.body.style.paddingRight = '0'; + } + return false; /* so the form doesn't get sent */ + + /* Copy (Markdown) link to keyboard */ + } else if((event.key.toLowerCase() == 'l' || event.key.toLowerCase() == 'm') && event.metaKey) { + let result = document.getElementById('search-current'); + if(result) { + let plain = event.key.toLowerCase() == 'l'; + let link = plain ? result.firstElementChild.href : + '[' + result.firstElementChild.dataset.mdLinkTitle + '](' + result.firstElementChild.href + ')'; + + copyToKeyboard(link); + + /* Add CSS class to the element for visual feedback (this + will get removed on keyup), but only if it's not already + there (in case of key repeat, e.g.) */ + if(result.className.indexOf('m-doc-search-copied') == -1) + result.className += ' m-doc-search-copied'; + console.log("Copied " + (plain ? "link" : "Markdown link") + " to " + result.firstElementChild.dataset.mdLinkTitle); + } + + return false; /* so L doesn't get entered into the box */ + + /* Looks like the user is inserting some text (and not cutting, + copying or whatever), allow autocompletion for the new + character. The oninput event resets this back to false, so this + basically whitelists only keyboard input, including Shift-key + and special chars using right Alt (or equivalent on Mac), but + excluding Ctrl-key, which is usually not for text input. In the + worst case the autocompletion won't be allowed ever, which is + much more acceptable behavior than having no ability to disable + it and annoying the users. */ + } else if(event.key != 'Backspace' && event.key != 'Delete' && !event.metaKey && (!event.ctrlKey || event.altKey) + /* Don't ever attempt autocompletion with Android virtual + keyboards, as those report all `event.key`s as + `Unidentified` (on Chrome) or `Process` (on Firefox) with + `event.code` 229 and thus we have no way to tell if a text + is entered or deleted. See this WONTFIX bug for details: + https://bugs.chromium.org/p/chromium/issues/detail?id=118639 + Couldn't find any similar bugreport for Firefox, but I + assume the virtual keyboard is to blame. + + An alternative is to hook into inputEvent, which has the + data, but ... there's more cursed issues right after that: + + - setSelectionRange() in Chrome on Android only renders + stuff, but doesn't actually act as such. Pressing + Backspace will only remove the highlight, but the text + stays here. Only delay-calling it through a timeout will + work as intended. Possibly related SO suggestion (back + then not even the rendering worked properly): + https://stackoverflow.com/a/13235951 + Possibly related Chrome bug: + https://bugs.chromium.org/p/chromium/issues/detail?id=32865 + + - On Firefox Mobile, programmatically changing an input + value (for the autocompletion highlight) will trigger an + input event, leading to search *and* autocompletion being + triggered again. Ultimately that results in newly typed + characters not replacing the autocompletion but rather + inserting before it, corrupting the searched string. This + event has to be explicitly ignored. + + - On Firefox Mobile, deleting a highlight with the + backspace key will result in *three* input events instead + of one: + 1. `deleteContentBackward` removing the selection (same + as Chrome or desktop Firefox) + 2. `deleteContentBackward` removing *the whole word* + that contained the selection (or the whole text if + it's just one word) + 3. `insertCompositionText`, adding the word back in, + resulting in the same state as (1). + I have no idea WHY it has to do this (possibly some + REALLY NASTY workaround to trigger correct font shaping?) + but ultimately it results in the autocompletion being + added again right after it got deleted, making this whole + thing VERY annoying to use. + + I attempted to work around the above, but it resulted in a + huge amount of browser-specific code that achieves only 90% + of the goal, with certain corner cases still being rather + broken (such as autocompletion randomly triggering when + erasing the text, even though it shouldn't). So disabling + autocompletion on this HELLISH BROKEN PLATFORM is the best + option at the moment. */ + && event.key != 'Unidentified' && event.key != 'Process' + ) { + Search.autocompleteNextInputEvent = true; + /* Otherwise reset the flag, because when the user would press e.g. + the 'a' key and then e.g. ArrowRight (which doesn't trigger + oninput), a Backspace after would still result in + autocompleteNextInputEvent, because nothing reset it back. */ + } else { + Search.autocompleteNextInputEvent = false; + } + + /* Search hidden */ + } else { + /* Open the search on the T or Tab key */ + if((event.key.toLowerCase() == 't' || event.key == 'Tab') && !event.shiftKey && !event.ctrlKey && !event.altKey && !event.metaKey) { + showSearch(); + return false; /* so T doesn't get entered into the box */ + } + } + }; + + document.onkeyup = function(event) { + /* Remove highlight after key is released after a link copy */ + if((event.key.toLowerCase() == 'l' || event.key.toLowerCase() == 'm') && event.metaKey) { + let result = document.getElementById('search-current'); + if(result) result.className = result.className.replace(' m-doc-search-copied', ''); + } + }; + + /* Allow selecting items by mouse hover only after it moves once the + results are populated. This prevents a random item getting selected if + the cursor is left motionless over the result area. */ + document.getElementById('search-results').onmousemove = function() { + Search.mouseMovedSinceLastRender = true; + }; + + /* If #search is already present in the URL, hide the scrollbar etc. for a + consistent experience */ + if(window.location.hash == '#search') updateForSearchVisible(); +} + +/* For Node.js testing */ /* istanbul ignore else */ +if(typeof module !== 'undefined') { module.exports = { Search: Search }; } diff --git a/v3.4.0/searchdata-v2.js b/v3.4.0/searchdata-v2.js new file mode 100644 index 00000000..d5dd21c7 --- /dev/null +++ b/v3.4.0/searchdata-v2.js @@ -0,0 +1,2 @@ +/* Generated by https://mcss.mosra.cz/documentation/doxygen/. Do not edit. */ +Search.load('O+!-x00000^#T9@GJgO7l2ZWyynX-x0RR9100CtL00001ZU_JX00D0f000310RR92a~c2u00Ctl00001Z6p8y00C(#00001bT9w_00Cb%00001WIO->00C}700001VMqV~00Cc400001b5sBT00CuM00001bYK7g00CiU000310ssI3b8-Lx00C}x00001VSE4p00C}-00001Ux)wz00Cr<00001Zj=B300Ci|00001U!VX000DER00001Wvl=I00C*T00001bhrQj00C*f00001Zo~ip00C*r00001X3zit00C~+00002WNB;w0Nelo00Cd(00001W$XX|00DIJ00001Z}00Cbz0RR92Y&Zb`00Ch>0RR92azp_D00Cu60RR92bWi~R00C)M0RRC21ONa5b7BDi00C!a0RR92ZfpSn00C)o0RR92a(Dp%00DG<0RR92bA$l^00Cc$0RR92Wsm^?00C~60RR92X`BH700C^G0RR92U#I~900C*P0RR92bhH5g00C^e0RR92b-)1t0RRO600DE%0RR92XV3uv00C~+0RR92Y1{z-00DC10RR92bm##900DFE0RR92U-SV000D0L0RR92X#fHM00CbH0ssI3a|{9i00CkW0ssI3VHg4c00DF!0ssI3UnBwm00C?&0ssI3VK4#!00Ct-0ssL31^@s7b3y_D00C!40ssI3ZcG9I00C)I0ssI3a##WY00DGf0ssI3b7TSl00CcW0ssI3WpDxj00Crn0ssI3Z+rp(00Coy0ssI3X@~*<00C}}0ssL32LJ#8bD9DG00DBI0ssI3WuyWC00C#J0ssI3Wv~JO00DHi0ssI3ZoC2j00C*j0ssI3U&sOg00DW<0ssI3a?}C<00Cjz0ssI3Zr}m{00C*{0ssL32mk;9bMgWJ00DCL0ssI3W&8pF00CzL0{{R4We5WR00DFk0{{R4ZWIFm00C(l0{{R4Umybj00C?!0{{R4VJrgx00DF|0{{R4V>kl<0RRaA00DDE0{{R4a!3OJ00CuA0{{R4XH)|K00CuM0{{R4bYKGj00C}h0{{R4X>0=k00Cce0{{R4Y7f1ONa5bf^RX00C~Y1ONa5Ww-N1poj6U$6xL00CvT1poj6bG!ur00DBs1poj6Wyl2p00wSxVQF%76aWAO0RZp=0LlaaQUw6c1poj6I@ARK0RayHI_?F400DFK1poj6XZ!^K00ChF1^@s7YzPJb00CwW1^@s7Ulaxa00DFw1^@s7VIT$o00C_#1^@s7ax4Y_00D0@1^@v75C8xHWj+P~00C}71^@s7Z%76J0RRyI00CuG1^@s7Y*+>W00ClN1^@v77ytkPWoiZh00C`o1^@s8VQFLr0CWZb0RR#J00DV~1^@s7VTc9*00DB21^@s7a+C%D0RR&K00C#91^@s7ZlneP00C*L1^@s7a51x00Cvj1^@s7XUqlw00Cvv1^@s7bl3&}00C~^1^@v76#xJMbm|5G00D091^@s7Y4ipF00D3M1^@s7Z~zAY00CbH2LJ#8XAB1b00C|i2LJ#8X&46p00DF!2LJ#8VI&6t00D0*2LJ#8Y%m7^0RR>N00C}12LJ#8VL%4}00Cu22LJ#8Y)l6L00D1O2LJ#8Z&(Ka0RR~Q00CuW2LJ#8ZD(pWx@vl00D5y2LJ#8dC&&{0RZR(00Cv(2LJ#8aNq|300DXC2LJ#8bnFKJ00Cd}2LJ#8WcUXF00CwG2LJ#8cLWFk0RUPB00Aiw2mk>ASp_H*2!H?qbQ%Z%00C(t2mk;AWpfG$04N9m0RU7500AjD2mk>9Rs{e7DMAPU0RdG7C`Jf?00DGN2mk;9V^jzL00CiI2mk;9cwh(s0RUJ900Aj%2mk>AR|P0=2!H?qa&`y+00L!iW(WX&2mk>BQw1nrJP3e<2mk;9WsV2{00DKH2mk;9Y@i4L00L=YE(ido2mk>9>I47*DYggz0Ria*D7pxM00BI}2mk>9_yhm}Db5H00Ri^}DAEXk00C^+2mk;9Z{P?300D322mk;9V(bV20s#C3`UC(0DfkEg2LK2K0tEyG00jmG3=HH2L%BI0|oyC1qBNQ2?Zz=34j6u`vmy}C_VlNfEoz^0Ra9400AjH2><~B{RAjL34j0rJw^!t1OOTZ6a^Lq7zF?UDO3pn1OXWZ69p9o7X>I@34j0rU1SLW00lfCJt14j2mta304@mtP6+^V2><{Aa(D><00D1~2><{Abd(7I00Ci|2><{Aa-azS00CvD2><{AaI6Uc0RZd-00Aku2>=BE?gaJ(@C5P%^aKC_DZ&W=1p(~@^#tz(@dWb(D9#Ch00DQ@2><{AW#kC}00C+02><{AcJK)R0Rrm;C||q@fc6Oh00CwE2><{AWC#iX00D0f3IGED4h0Ye5(NMODH;j@0|5;M4+RkgC?X1g00C$y3IG5BbTkS800Ch-3IG5Ba6k$G00Cb{3IG8B90dRYDN+gm0RSEa00Ajn3IG8C9R(<03V;9sd1eX#00Cic3IG5Ba&!s+00DA(3IG8BAO!#cDTWFF0RbNcD2fVz00C~03IG5BVVDX400Cv53IG5BY@`YR00D2R3IG5BZ?Fmg0RSQe00Aky3IG8BBn1EgDaHx_0RbZgD9Q?e00Cvt3IG5BZP*F`00C*<3IG5BbmR&E0RkZfC||$|fa(eW00Cw23IG5Bbo>ec00ChF3jhHCCItWiDGmz&0RbfiC=v^R00DFu3jhECZXgQ)00C(x3jhECZ!8M{00D3^3jhECUpNZ@00Cz{3jhECZbSfT|1t00DWh3;+NDVZ00g00DBs3;+NDa>xt-0RT1y00Ak~3;+QEH3cZx41fRuZr%(400Cj<3;+NDW$X+900C_B3;+NDZ}<($00D1$4FCWEaDWW}00Ccy4FCWEXN(O100C~24FCWEX_yTF00DHK4FCWEVWbTJ00D2R4FCWEY_JUg0{}t=Km|Sp00Aky4FCfHK?OerJq0Ml4S)avbIJ_>00DK@4FCWEZ`=(400Cv<4FCWEZs-jF00Cw04FCWEXY>sK00D3M4FCWEZ2%4c00D0X4gdiFL9QY00D9w4gdfFWh4#&00Czz4gdfFWiSo^00DG14gdfFZafYE0RTn?00AjT4gdiGMFl8K4uAjwa#9We00CuM4gdfFVqgvc00C`g4gdfFb!-j*0RTt^00Aj@4gdiGM+GQ+4uAjwXMzp@00C}_4gdfFX^;*800DBA4gdfFbes+V0RTz`00Ake4gdiGNd+jZ4uAjwWwH(c00C^e4gdfFV!#dn0RT(|00Ak?4gdiGO9d#<4uAjwW!4S=00C{@4gdfGVQIz=0OSq;0RT<~00AlV4gdiGO$8|U4uAjwW&RET00DId4*&oGYzz+o00ChV4*&oPVPa%vXlZV9bau`R00a#HRt*5Q4FC)d074D`at;8Z4gl&702mJd0Rk@tC|_6%fF2J300DDI4*&rGPz3-1DOwKz0Rc}1C|(bM00CuW4*&oGaBL3%00DV&4*&rGQUw43DSi(C0Rd43D1r}w00Cx*4*&oGWsna500(w&ZeeM3a;yjdvIzhb3IIwB08|eEcn<)U4*&oGI-Cyx0RdYDI=T;l00DQv4*&oGWylWz00C*v4*&oHbavJU0Mriv0RWx@00AlF4*&rHodYQ74}bsxW$q6E00Cq64*&oGa{Lbf00DIZ5C8xHZwL?o1^}P~qywk}q64M_ssjK4DHIR@1_7S~qXVY{p#!A@sRJk?5P$#yXebZ>00DG55C8xHVL%W700D4D5C8xHUrZ1H0syoFwgUhGDOeBy0sy!Jx&r_KDP#};0s*%JxdSL_5P$#yd2kQ_00Cio5C8xHa)1y300DA_5C8%IyaT=i00AkI5C8%Jy92!gD3}m{00C~E5C8xHVW@$0sz1R!UF&SDa;T60szDV#sdHWDcBGI0s+GV#RDkb5P$#yW#kY500C|85C8xHY4i{P00DIR5C8%KzXQPoC|}YLfB+Ey00CtN5dZ)IbQBQ)00Chd5dZ=J$OFm)00Ai`5dZ=K#{fJ_nq00MM#QV;-Y5&!`JtOEc6DS{FJ0RgK6D25V%00BOX5&!@JWt0*C00Cs05&!@JZ=ezY00C~M5&!@JAgmGq00DHe5&!@JbGQ-!00C~k5&!@JZ^RM+0RXN800Ak`5&!`Ktph035`X{!KH3rh00Cv<5&!@JWattA00D3A5&!@KV{Xb40Q3?700BJu5&!@JcLWmv00CtR6951KX%G_t00DLu6951KUmOzv00Ctp6951KWGE8=00D0<6951KZZs1B0sycBvI77CDL@kd0s*fBu>&YZ6Mz5#T}%@I00JOeIuig^6951Ka$FMt00D1i6951KbZip<00Cig6951Ka(EK}00Cuw6951KaD)>80RY?s00AkG6954K-U9#uDVh@i0RZ3w00Aka6954L-vcP96Mz5#bFLEr00CvT6951KY`hZy00Cmc6951KVaO8z00DH)6951KU(^!-00Cy&6951KZ{QOE0Rr6vC|{lvfaVhb00DXI6951KVfYgO00DCT6951Kas(6r0RZ9y00Aiw6aWDM;R7fX6o3E$ZW;nJ+Dfkos1Oe{@?E~op>jNkP6@UN%a|jgx00DIt6#xJMZyXf>00Ctp6#xJMZYUK100Ct#6#xJMXEYT600D106#xJMZ9o+O00D1C6#xMM@&fx0Riy?C{`7K00DAb6#xJMWn>iq00C!e6#xJMWpEV$00DG%6#xJMZhRF00RZ#^00Ak86#xMN^8+Z16@UN%a*`DQ00Cv16#xJMVxScO00C{L6#xJMb*vQt0RZ*`00Aku6#xMN^#drp6@UN%XTlW#00C~w6#xJMY0wn_00DB=6#xJMblepH0RZ>|00AlJ6#xMN_X8;G6@UN%W%3mO00C_J6#xJMVgMEZ0RZ{~00Ais761VO`2#2r7JvW&Wfm3y00C_t761SOVQB^y03;Rw0Ra3100Aj9761VO`vWLA7JvW&Wj+=F00DJI761SNY)lpa00CiA761SWVPa%vXlZV9bao0906-J~k`w^)6aY*W0D=_&vK0X06#yz009Y0P0Rr0tC|{HlfL;~=00DD|761VN{sRC3DVi1l0RjC3D4rI800CvB761SNaI6*p00DWj761eQ00aUA1Ox^I00Ak!761eR{{sO80|W&GD99Fo00Cys761SNW!x430RRXD00AlJ761VN3IqTFDe@Ko0RagFDE1bB00DIT761SNV+0of00ChN7XSbOcn}u=0RRjH00Ai+7XSeP3j`=27k~f(awZo500L!i78d|67XSeQ2Lvcz>=uAD7XSbOWj+@G00DJM7XSbOY)}^f1ON^M5Cjqg6a)YPDO?u-1OW{M4+Iee69gz`7k~f(bZi#@00C)w7XSbObAT5B00LoYRu=$<7XSbUb7603baHkM5CC`*0E!a;lokNE769TF0E`y^00BCd7XSeQ6$D>8+7AG<7k~f(Wx5vt00Csi7XSbOZ_F0}0RS5S00Cv#7XSbOaNHLF00DX87XSbObm$iV1ps3LVFG0WX98aW00AlV7XSeOe*ypjDFzq-0ResjC<+*W1p;CMU;<7^00BMd7ytkRJs=?%7y#550Pq+900DCL7ytkPZv+_t00DFg82|tQVGtPr00D9q82|tQWgHm*00D3!82|00C`s82|tQZ+IC100Cou82|tQUxXO|00C%<82|tQbdVVU00Ci^82|wQbpikZDWVww0ReOZD5e>J00CvJ82|tQaI_f!00DWr82|wQcLD$bDaIK90ReUbD9Rat00DH+82|tQZrB+B00Cv*82|tQZsZvN00D3682|tQaPS!b00C|G82|tQZ~Pem00CnH8UO$RUkDli00C$Y8UO$RbQBr@00Chd8UO$Ra3C500RVXd00Aj18UO(ScmgOe8h`)+cs3dU00Ct_8UO$RWJDSO00C}F8UO(RfdT*lDOMT)0ReylC|VkT00DVm8UO$RWoQ}z00wVxbbe`TC>a2p834c;045p$P#OSk8UO$RI&>NU0Rn^qUpnp=0FD}f00DHA8UO$RZlD?f00CvD8UO$RZmb#r00D2Z8UO$RaJU)(00C{j8UO$RZ^Rk^00Cpl8UO(R7X$zSDb^YQ0Ra{SDB2o;00DX68UO$Rbm$rY00D6B8UO+Sbp&?=00Alb8UO+TbOd$;C;%IP00CqM8vp8vp00CX%8vq0VHv}~VIRrZd00AlT8vq0WHUu;TI0QNbDEu3M1prM1PXti}Qv_8600Aiw8~_CZOax8@Py|v0R0KUJ0vrGw9DoD>M+8L#Nd!v-00AjB8~_CXVFY6YWdvsgX#@ZPDMlOs1p#0LVgzIaW&~&iC{i4N1Oi3`L00BLW8~_0Ti39)vDWV(z0Re~vD5e~M00BI#8~^|YAX_UvAw0|*0PGt8A{+o{8~~gg0JIzc00DBk8~^|TZ`2$B00DH`8~^|TVc;A900DC58~^|TW$YXP00D6F8~_CX9|R`^B?KV^BLn~eDgGP)1pyueCIln|AOs==C<+~b00C$a9RL9Uj|2b#DJC5N0RfH#C@LL*00DF`9RL6UZa5tP00Ct_9RL6VbaEga07M-C1OR&kc?5j~e*^#lDO4Q*1Oa*kcm#X|egr699e@A5+|0sxZ)kput%DbO7N0s)c)kOU~!9e@A9=o00C$m9smFVbR-@C00Cht9smFVa4;SK1OP7tEd((HGXwwuDLftk1OYAtECetFG6X0_9)JJ=WK13a00C}V9smFVWndlv00D4j9smRYKLkAlK?Fkt00Aj-9smRZJ_I}jKmyP400Cvr9smFVbkrUI00C**9smFVU*H}900DI79smFVbL<`f00D0D9smIVaRdMXDgGV+0ReCXC;}gV00C|Y9{>OWX%HU(00Czf9{>OWWgH&>0RVFZ00Ai|9{>RXas((WAAkS>WHKKB00C|~9{>RWiv$1xDMlXv0Rf5xC`uoI00DAP9{>OWVOSpk00CuQ9{>OZZ(?O^_#OZv9{@lf0AwEk0RU?R00DA*9{>OWZ-5^F00DG{9{>OWVT>OD00DB69{>OWWtblT00DHK9{>UXZ3J%w00Akg9{>UYYy@ruD6k)Z00C~c9{>OWX}})<00C#l9{>OWWy~J{0RV>t00Al39{>RXh6E_wAAkS>a^fEV00DIB9{>OWbMPMk00Ce29{>OWW&9ri00CqIAOHXXX$T+y0RW8z00Ai!AOHaYj07kcAb8@|Ab2>@FFO#oQ{RRB={O8`>xPKUjP6BDefQu0|8tBU;thKDE1(L00CwEAOHXXYzQF$00C(ZApijYSONe6DH|kz00C|!ApigYZ!94I00C(-ApigYbT}aZ00D45ApigYX+$9a00DAJApigYV^ARg00DDWApigYWn3Wu0RUP800AjzApijZSpq0*A%Fk@WpW_^00CoqApigYa)2QK00DJ|ApigYZ;T-T0RUVA00AkOApijZTLLJYA%Fk@Jfa~000BIzApigYayY700CvrApigYaMU3H00U%mZ(<<;k|6-vApigYI^ZDy0RdeCI_@EW00DCJApigYZ~P$u00D9WA^-pZatI;-0RWl=00Ai!A^-sanFJ^pB7gw^q67c|DJCKS0Rf=|C@La=00BHOA^-sZsssQ5DLx_q0RgE5C_*BD00AaQA^-pZa!?`w00D1SA^-pZa$F(+00DAhA^-pZWoRM*00CcaA^-pZWpp9{00DD)A^-pZa)2TL00Ci!A^-sZ+ynptDUu=p0Rh_tD3&6C00AbPA^-pZWuzhi00C^OA^-pZVz43r00CjPA^-pZbi5(}00BC}A^-pZI>;gb00C^yA^-pZZPX$F00D2>A^-paaCD3!0N^4300AK8A^-pZbnqeo00DFMA^-pZZu}wu00D0TBLD#atONi7DGnn50RXN900Ai&BLD#btpq3>BY*({s{|+}5+i^jBLDyaCMqKU00D9~BLDyaZ#*La00DABBLDyaa!4Zp00CuABLDyaUsNLi00CuMBLDyab6_I?00DAlBLDyaVQeD+0RY$p00Aj@BLD#b*90hhBY*$_Y=R>I00D1`BLDyaZ;&GZ0RY|v00AkSBLD#a-~<2xDW)R;0Ri6xD5@iX0Rr6wC?=pIfUqL~00AbrBLDyaWyB)@00C^uBLDyaV$dT100CjvBLDyablf8V00BDUBLDyaI_M(+00C_7BLDyaZS*4m00D3MBLDydV{l@02qOS;BLJ2o001Na1^~_k$^_B`&;-l`)C2$lDHtRG1_8|k$pp~^&jiZ^(*!6cB!B<`T`VL300cceAX^?H05~E51|$GJBme*bazrEm00D1SBme*bbX+6=00CiQBme*ba%dy~00CugBme*baC9U90sx!@o&*2^DS#vZ0s)%@odhU`B!B<`bc`eb00C^4Bme*bb(|ys00DENBme*bWvC(^cUkD`t00CtVB>(^ca}*^200D9uB>(^cVIU;{00D3&B>)2eqy(k}s0083DKaGh0|BE1r39x0C^{v800DA9B>(^cZ%ics00DARB>(~dx&*ug00AjpB>(~exdgieC}bso00CrbB>(^da&A~90CXh)0RXQA00DA@B>(^cZ-^xT00DH4B>(^cVU#5R00DBEB>(^cWuPSh00DHSB>(^cX{;px00CdJB>(^cbhsq|00DEpB>(^cZp0-30RXlH00Ak`B>({dwFD^CC4c|{ZrUXP00C*@B>(^cXXqsW00Cw0B>({cxC8(JDf%S<0RguJDE=jY00CqKCIA2dZVV;>00VDgWy&Q0^d$fiCIA5dumk`BawaAK00D0*CIA2dbTB3W00Ch(CIA2day%vg00Ct}CIA2dbVw!u0syiEv;+VFDO4r^0s*lEvjiwwCV&6|ZeS(=00C)gCIA2dXK*F}00CuoCIAKiz68Pq#st6w#01C$00Ak2CIAKjy#&Do#RR_u!vx0!D3B(A00C&0CIA2dbf_i(00CjHCIA2daI_`>00CdRCIA2dbigJ60RYwn00Ak?CIA5e)dVQeCV&6|WY#7C00Cv*CIA2dY~&^Y00C+0CIA2dVelpZ0RY+r00AldCIA5e*#sy6Cx8F}WCkYy00CtVCjbBeWE3X=00CthCjbBeWgsU200CnrCjbBeV=N~C00DI}CjbKg;soRb<^%u%DLy9v0|DU#;{@ddC`KoM00Cu8CjbBeY*;4%00ClNCjbBeVPq!&01Iz$er026Vqs=;bb2HJ(j)*ZB>;LQ02n3!P9^|+CIH4J0QM#TI41yVCjbBeI&dcd0RiU(I-Vzh00DHQCjbBeY^)~$00DKfCjbBebGRn}00CvbCjbBgW@T~|Api~{0K_K%2?AOGOaNE_Q~*!_N&r#-P5@Q_C|~FxfXXKT00Cv#CjbBebMz+w00MM!&L9B#CjbEeI{*Lya|$Q`00CzXC;$KfVH79;00C?oC;$KfW*{g400CbnC;$KfWh^KF00DI}C;$KfY&a+Y00Ch>C;$Kfc0?!u00Cc0C;$KfWl$&p00CoGC;$Kfa$G0?00DJkC;$KfZ)hk000DDuC;$KfUvww{00CusC;$Kfc7P}V00DA_C;$KfWsE2Q00DE7C;$KfWtb=c00Loh04M;SC;$Nf8~^|TWv(ay00C~YC;$KfZ@4G`0RSBU00DW#C;$Kfa>ytE00CjnC;$KfZqz6M00C**C;$Nf9smFVZ00Bc00Cj@C;$Kfbnqwu00Cq6C;$Nf9{>OWYyv3&00ChJDF6TgZ44;@00C(dDF6TgV;Cs_00CtlDF6TgWF#p700ChtDF6TgcrYmd00Ct-DF6TiVsB{RC;rFI00Aj*DgXljwE?#Qxd8wHDSj#d0|B%FwgI>SD26J40|TxBumQ3GJSaVADgbyYfQ%{t0RXK500AkiDgXfitN|#nDu4h1J+>+U0|37P!2!bo00Ak)DgXlj#R10w$pHWXDbgwc0|CSV#sSCyDB3E30|LGQzyZPmC_T(7fZ!?s0RS5U00AldDgXfh9RdIWDF!P50RbEWC<-fp0RkEVC?)_afDkJH00AZ#D*yliWh5&A00D3+D*ylic`z#g00DG1D*yliUpy-S00Ct}D*ylibx11!00C@HD*yliVN@#s00DMdD*yliAYdy100DGnD*ylib8IUB00C}tD*yliZ+I&J0RSHY00Ak4D*yoiAp!saDUK@u0RbQaD3U9H0RkQZC?<$2fS4-)00AbTD*yliWvnXz00D5aD*ylidAKV800DHqD*yliU&Jc_00CvnD*ylibe)bDRe9V0s+ba%mFBREPwz3bAT)W00C!;EC2ujVUR2U00C^4EC2!k&jHZ^00AkYEC2!l&H>N?D5xxe00DWfEC2ujVYn;+00DBoEC2uja>OhE0szwi)d2tjDbOqc0s+zi)Bz~gEPwz3Zrm&Y00Cj$+-00CtpEdT%kZ7eMS00C(-EdT%kbT};l0s__n*a0YC5G{Z{EdT%kWkf9i00DGTEdT%kVOT8y0s!9u;Q;^vDP%1G0s-Cu-~lLVEr0+4bZ{*I00C}#EdT%kX@D&N00D1?EdT%kaEvVg00Cc;EdT%kXP7Mj00C~EEdT%kX{0Rx00DHWEdT%kVX!R#00D2dEdT%kY`iT10s!LyjCWn00AjBE&u`n>H+KlC_FBJ00Ct}E&u=lY)mcy00ClBE&u`m?*Z`v00AjpE&u`n?g8)tC}b{x00CucE&u=lZFDXG00LoYSS|p1E&u=rVPa%vX>)YSEC2*80A4Ks!Yu&&EdVes0Dvw400Cc$E&u=lbEqx=0RZy>00AkqE&u@l^#K3@DZVZM0Ri*@D8ep)00DEzE&u=lWza4F00C^)E&u=lV%#nO00Cj*E&u=lbm%Ss00Cd_E&u=lX7nxq00D3ME&u@n@&PDcxGsPIF8}}mc?K^400ChVF8}}mau_cF00D9yF8~1m_W=L_DJm}j0Ri>_C@wF600C|^F8}}mVLUGY00Ct}F8}}mY)CHv00D1KF8}}mZ&WV;0RZ^{00AjrF8~1m`vCv}DQYhO0Rj2}C~hx+00CumF8}}mZG0~P00C)&F8}}mbcini0Rs2|C|_hRfQ~N!00Cu`F8}}mbf7N)00Cj9F8~1m{Q&?0DY7pB0Rj90D7G(v00DHoF8}}mZp1GD00C*rF8}}mZ_qCQ00D5;F8}}mU)(PM00C#>F8}}mZs;!n00C+4F8}}mbo4I(00Ck8F8}}mZvZd=00C?UFaQGp{{aC40|Ed6DH1RM0|EX400II6C>k(;00DC#FaQ7nbu2Id00D0@FaQ7nWjHVZ00C}3FaQ7nWkfIl00C!8FaQ7nZ%{A*00C`QFaQ7nZ(J|{0RRO800AjzFaQAo1Og~*Fn|C7a&j;L00CusFaQ7nXMivO00Cu&FaQ7nbc`?n00C~2FaQAn2Lb>ADV{I@0RaXAD55Zc00DBSFaQ7nWw0;+00CmQFaQ7nZM-l500DKvFaQAn2?78CDb6qe0RadCDAF*100C#%FaQ7nZs0Hg00C*{FaQ7na_lew00DIJFaQAn3jzQEDgH130RajEC;~Bn00CtPF#rGoY!ER300CkaF#rJo4FUiGDIzfd0RapGC?+w000CtzF#rGoZ8R|e00LoY95DboF#rJo4*~!IDM~Q_0RavIC{8he00CuGF#rGobzCt300C@bF#rGoVQ4V`019DZWM*h-ZgX^YBrgD3F957B01PkyVlV)hFaXFf0QfKfKrsMrF#rGoUvx1500DEJF#rJo5dr`KDXK950Ra#KD6TPp00CvRF#rGoaJ(@900DWzF#rSr69N?i7Xldq00Ak^F#rSs5&{$g76KRoDA+N800DH~F#rGoW$ZBk00(w&W?^Y`XCx{BZY%(tEC8-90HiSh$T0x&F#rGoI`}aF0Rk=pUplra02VTU00CtjG5`Ppbtp0b00C?+G5`PpVKg!T0RSNY00DA9G5`PpZ$vTx00DGLG5`PpVNfyv00DAVG5`PpWn3}<00DGjG5`PpX=pM41OUwd(E!f?(*OVgDReRb1Odzd&;ZT=(f}xaGJpU9d4w_m00Ci=G5`Ppa+opz0stuiD**rjDWoz00s$xiDgh{}GJpU9d9X4700CjTG5`Ppa=z<0s-Uz<^U*~Hh=&DWuP_y00DEVHUIztVX!s;0RZy=00AkyHUI$t^#A|?DaJMc0Ri*?D9Sc~00C>zHUIztW7swT00Cj%HUIztV&pae0Rr*>C||%ffa*2?00Cw2HUIztWBfJ%00ChFHvji_@&DPT7M0s-g%>HsKaH-G>EZfrLI00CuoHvj+ubbL1e00DG@Hvj+uVTd;X1OO2M69E+g7XbhPDU>$=1OX5M5&;we76B-pH-G>EXrwm)00CpNHvj+uVYoK{00CvbHvj+uU&J>600DB!Hvj?vbpdw)00Al1Hvj?wbOCk&DBL%I00DI3Hvj+uZtOPz00D3EHvj+wY;SUoHvrH#0Qffm0RZg)00AisH~;|w>;NbbIDh~FYZf>F00CnjH~;_vVI(*J00CkuH~;_vUobcT00D3|H~<0w?*Q=t00AjNH~<0x?f~!rC`dSf00CuAH~;_vZdf<~00DJgH~;|v{{R31DQY+X0RjF1C~i1_00C=sH~;_vV|+LO00CiwH~;_vVu&~Z00Cc)H~;_vXp}er00DEFH~;_xZ*p}!H~?fg0H8Pk1OWE{`vCa>{Qv*~DYQ5M1OfH{`T+O<`~WDvIDh~Fbi_CS00DB+H~;_vW!N|X00DE}H~;|v0|5X5a_Tq$00D3AH~;_vbo4j?00Ck8H~;_vasW9100CtNIRF6wO#uJ_DH1sV0RT?{00Ai+IRF6xP5~$&Ie-8Gb0#?e00Ct#IRF3wY&1Cl00Ck;IRF3wVL&+m00DGHIRF3wUradw00CxFIRF3wZ&*110Rl_`C|?#ifL=KO00DVqIRF3wVQ@JB00DA#IRF3wa(p=e0RT|}00Ak8IRF6xPyr~6Ie-8GZjw0w00Ci|IRF3wWuQ3#00C^KIRF3wZ>%{000D2ZIRF6wQvm=0DZV)X0RUA200Ak;IRF6xQ~@Z=Ie-8GWzsnS00C{l00DIBIsgCxZtyw)0RUkE00AldIsgFyU;!uqJAeQIat1p900CtVI{*LyViY?700C_pI{*Lybs#$c0RUqG00Aj1I{*OzVgV>HJAeQIXEr+k00C}3I{*LyX+%2!00DAJI{*LybWl400RUwI00AjnI{*OzWC18(JAeQIWoA1700C@nI{*LyVstwI0RU$K00Ak0I{*OzW&tRKJAeQIWr{lh00C{1I{*LzVQG3h0GK-f0RU+M00AkeI{*OzXaOj!JAeQIWwJW}00DKnI{*LyY`{AJ00CjfI{*L*VPa%vXlZV9basL{0Ju2-3OWF4Ism{r0QNcnCOZIDI{=tJOBUzW7IqV00L!UxI6&bJOBXz9RUCVDe61`0RbEVDDFIf00Cw6JOBUzdi*>900C(NJpcd!a|k^E00CbPJpcd!coaPV00ChdJpcg!BLM&bDJDGt0RbWbC@MXG00DF`Jpcd!X*fLq00Cw`Jpcd!Uqn3s00D1GJpcd!bWlA200CcCJpcd!Yg|1500C}dJpcd!X=ptF00DAtJpcg!B>?~dDSABs0RbcdD1JSF00Cu$Jpcd!dW<~)00L-fbUgr)Jpcg!CjkHfDWW|90RbifD5gDt00CvJJpcd!bhJGH00CjTJpcd!W57KC00C~sJpcd!b<8~g0RU?O00Al3Jpcg#Y5^$RJ%9iKW#T;m00D67Jpcd#a(U7{0PsBk0swgddjS9eDF8kI0swshe*pjiDGWXU0s(vhegP;FK7arLa~M7V00ChlJ^%s&cma9=C|?FXfG9oy00DF^J^%m#WjsCr01aVpV`XM=X>ww1b986MGysY<0Dd+AQa1qpHvpzM00KM!kURk3JOCg)0GK@h_B{YXJ^%m#I!HbM0Rn^pUpj6w0DeAz00DV~J^%m#VURum00DBAJ^%&)Jpe%fMF2klLjXqr00AkYJ^%&*JODrdL;yYjLI6epD6l?&00C&WJ^%m#bjUsc00CjnJ^%m#aMV5k00CdxJ^%m$a&(+N0N_3V0RSQZ00DCFJ^%m#Z}dI@00DIRJ^%m#VE{h>00D9aKL7v$Weh(600DFoKL7v$X&65M00CbfKL7v$c_cpo00ChtKL7v$axgyt00D9~KL7y$BLDyaazZ}<00D1CKL7v$bWA@000CiAKL7v$a#%kA00CuQKL7v$bYwpO00C)gKL7v$UvNJF00CuoKL7v$Yn+bDH=ck1p#mXbO3e$asYS$C?-IF00CtzKmY&%Z9G5#00C)2KmY&%bVxt|0Re3QUrs;(00CuGKmY&%bX-6H00CiQKmY*%ZU6uQWo|$K00C`sKmY&%X?Q>Y0RV3R00DG_KmY&%Wr#ok00DE3KmY&%W|Tkx0RVjf00AkWKmY*&d;lnF%KmY*%g#Z8nDfU1B0Re;nDEdHv00BJ!K>z^&hX4QpDGosZ0RV{r00Ai&K>z^(hyW-YL4W}Qh5#r%5K>z>*Av`@kvOoalKmZ6q04hNM00D9~K>z>&Z%9D^00DGPK>z>&VN^i?00DAZK>z>&Wne)700L%knm_<%K>z^&djJ3dDRw~s0RegdD0)GF00C@(K>z>&VTeHh00Co;K>z>&Zz>&U!Xw%00DERK>z>*WOQ$7Xg~mdKmcq(0IWd(00BC(K>z^(iU2yqL4W`OWy(PS00C{%K>z>&Y1lyk00DH~K>z^&ivR!ta_T_<00Cj{K>z>&W%NM+0RW5u00C$KLI3~(bOb^G00C|aLI3~(ZxBKN0RW8v0sxNykpKVzDIh`s0s)QykN_wqLVy4PWh_Df00Mb*96|s#LI3~(VLUh0RWW%00AjvLI42(mjD0(DQ-dl0Rff(C~`u80RWi*00Ak0LI42)m;fk*LVy7SlmI9^J!nFJctQY*LI42(n*aa-DWXCE0Rfr-D5gSy00BL$LI42(od5s00Ak)LI42)o&YGwLVy7RoB$|2zCwV`LI3~+Av`@kUP1tpLIAWv0Mzpf0RSri00C~)LjV8)Vc0_e00Cv*LjV8)Y~(`#00D36LjV8)Z}39^0RSuj00C_LLjV8)VE{w`00CnLL;wH*X$(XF00CzbL;wH*Zx}=X00C?sL;wH*ZzMzj00C|)L;wH*Z!kmv00D9~L;wK*EdT%kazaD^00Cu2L;wH*ZcIb~00C)IL;wH*VOT@}00DGfL;wH*Ze&CN00L-lJVXF$L;wK*F8}}mWqL#a00C`&L;wH*X@o=o00DH0L;wK+E&yMUL;wH*WtKz$00DHKL;wH*VWdO=0RS)n00DHcL;wH*ZnQ)I00C*bL;wH*Z@@$V00D5uL;wH*U(7@R00C#xL;wH*ZrDTs00C*_00DNUMF0T-Gyq?$MF0Q+WwJ#800CsWMF0T+HUIzta>hjf00CvnMF0Q+V$ekZ00C{*MF0Q-Z*{;$0Nh0Y0RT4u00C$0MF0Q+Ztz6_00C+CMF0Q+a{NUA00DFYMgRc-H~;_vWe!FF00C?gMgRZ-Vi-mM0RTAw00CtrMgRZ-Z74UB900C*PMgRc-NdN!=DY`}g0Rcz=D85F300BJ2MgRZ-Jj_M_00DB+MgRZ-Z`eiv00DH~MgRZ-VdO>t00DC9MgRZ;bY-+g0Psct00D6JMgRc-CjbBecm_uR00CtRM*si;WDrLH00C|mM*sl;C;$Kfaw10n00DF+M*si;a4bgv00CbzM*si;XgEgz00DG9M*sl;g#iEoWlBc?00C}JM*si;X;eo50RV;p00C}bM*si;ZDdCP00DJsM*si;Y;Z>a00D1yM*sl;hyefrDS}4;0Re{rD27LX00C@_M*si;Z00D2BM*si;VxUI=0RV~t00AkiM*slsOyNPqzXlL06_9!P*LNB{r@AR#Y-4X)M*w_B0DMRQ00BCJNB{u=mjODENPqwVZk9*@00D2FNB{rKLRLJNq_(WJX%Qr00BH=NdN!=a%f2a00D1qNdN!=baY7o00CioNdN!=a)3zy00Cu&NdN!=aEwU+00m-YaCdLwNC5Ik00>C{N=X2cNdN!=I+#fS0Rce*I<85800C~aNdN!=Z@ftW00C*jNdN!=XUIta00CvrNdN!?X>f8JM*zY|0MtnU00CdxNdN!=W#~x&00Cp}NdN!=a`Z_600DLSNdN!=ZvaXF0RSlg00D9gN&o->ZxBiV00DFsN&o->VH`>T00D9$N&o->WhhDj00DF^N&o->X*5az0sx2th5`TqDL_g90RWZ)00AjXN&o=?l>#VGN`L|ahXREHC_P3>fL2NX0RWN$00Aj%N&o=?kpd`iN`L?XJa$R|0RWT&00Ak4N&o=?lL9D+N`L?XJ&sBM1OUte&;rf^(gFYhDV$0G1Odwe&jQT?(E=!@N`L?XU93s~00cceAzNNb0DejUmP!D+N&o->a==Oe00D2(N&o->bl6G&00Cj%N&o->a^y+?00Cv{N&o->aPUe11OSQxjslDVkOBY!Df~(R1ObTxjRK1Tj{+zLOMn0YWeiII00C?oO8@`?VjxQZ0RS!o00Aj1O8@}@EdwYpOMn0YWj0Fy00D45O8@`@VRtHDfUYM0RguHDEdo)00C|QOaK4@X$VXJ00CzXOaK4@WfV*R0RXxJ00Ai=OaK7^xdJF8On?9ZWGYMm00C|?OaK4`Y;R&^a!Ua4O8^>7060tl1pt}?oC2T%q5_@*00AjbOaKJ|nF5;vp8}x*odPIaOn?9ZWnxSK00DDyOaK4@VR%dc0RX5100Ak4OaK7@ssaE3DUM740RgE3D3VNo00DHEOaK4@ZlFv600C*HOaK4@Xsk>C0RpE2C|`(7fU-;g00CvVOaK4@W5i4V00CjjOaK7@=mG!%Db`E?0RiU%DB4Vb00DX6OaK4^Y;@2}0O(8r00D6BOaKA^yaK)g00AlfOaKA_y8^ueCPym0RR*O00Ak`P5=P`69XvJPJjRbZrV-&00Cj*P5=M_W#~=-00C_7P5=M_Z}d(800D3MP5=P_76SkQDF#mf0RR{S00AiwPXGY{7Xv61Pk;acWg1Ta00C_xPXGV`X(&$s00DF^PXGY|6$2<=3QvGEPXGV`Wjap)00DGHPXGV`VN6c|0RS2U00AjjPXGY{83QO>Pk;acbYf2c00C}lPXGV`X>d;f00D1yPXGV`aC}by00CcuPXGV`XNXS#00C}}PXGV`X_QX@00DHGPXGV`VW3X{00D2NPXGV`Y^+ZJ0{|QY9s?i)00AkuPXGe}8v`8!9|I`BPk;acbH+~q00DK}R00M7mj8Oo#Q2+!0-~!|V;sWLZ00Ak+Q2+!1-vZ+T;R59XD9}-W00CsyQ2+n|Zsbt_00DLCQ2+n|Z}3q700Cn5Q2+n|U;I%300D9WQUCw}We8FL00DOnQUCw}Zxm7h0RZX(00Ai=QUCz~=>jMuQh)#fWhznt00DY3QUCw}X*f~<0s!m+?g9V-DMV5L0s-p+?E)xDQh)#fc~DXS00CiIQUCw}a$r&b00DAlQUC$~@B;Dz00Aj-QUC%0?*j1xD0otU00C}(QUCw}VTe)y00Cu=QUCw}Y?M*}00D2BQUCw}Z=g~D0s!;^_5uI_DXdZe0s!~|`T_s}DY#Mq0s;2|`2r}uQh)#fWyDed00C{zQUCw}Y1C2x00DH`QUC%1^8)n(C||NtfZ$R900Cv@QUCw}bo5dH00Ck8QUC$~`~v<000AimQvd=1`vUy}C=64800DFoQvd(~ZX8np00C(tQvd(~Zzxj$00D3=Qvd(~Uo=wy00Cz@Qvd(~Za`B200C)6Qvd(~bWBqK00CiAQvd(~Z&*_R00C@XQvd=000RO800Aj#Qvd=1{{jI6C~#AN00DA#Qvd(~Wq?xv00C!)Qvd(~WsFk*00DH8Qvd(~ZkSU50ssU91_J;ADWp>X0s#X91p_FmQ-A;gXRuQM00C~gQvd(~X~0te00DBwQvd(~bj(u#0ssgD3IhNEDcDm00s#jD2?HqJQ-A;gW#m%;00C_7Qvd(~V)Ro00sssH4g&xIDF9Re0s#vH4Ff0!RDb{hWeijR00C_lQ~&@1VQKnP031{R00&`WWM*k|bZk-prcwX^QvhUB0G?9-(o+B;Q~&@0Uo2Dr1OPAtGy^gNHUj_wDNs}Z1OYDtGXpULH3KMGRDb{ib972n0AN%A1OPY#JOerdJ_7&&DR@)>1OPw-L<2$tMgsr=DTq`61OYz-LjyqrMFS|3RDb{hbC^^B00Cj9Q~(45Hv>BZIRiZdC|`n9fUHyi00DHeQ~&@0WyDkf01R(*V`Xq@VrFb}VQ2PA07^>$K1=`_O#o0$02EOGN>Kp3Q2-iJ06tOxZd3ruQ~&@0I?z-A0Rl$@UphKU00LEj00CtPRR911Y!p=h00CkeRR941V*mgFb0$>)00CzzRR911VK7wy00C?^RR911W;|5@00Cb@RR911bVyYI00C@HRR911byQUV00CiIRR911W?)qS00CuYRR972WdLUY00Aj-RR973WB_IWD0o$X00DA-RR911Wr$S(00DH4RR911bd*&900Ci|RR911ZJ<>E00DBQRR911Z>&`S00CyQRR911U$|8O00C^iRR911ZNyao00D2xRR972X#i^g00Al1RR973XaH&eDBM+m00BJWRR911JnU5f00DCHRR911Z}?RJ00DIVRR911VFXqH00D9eRsaA2We`>X00D3oRsaA4WOQ$ARRGXc0322T00BB8RsaD3YydhiR)7EjayC`~00Ct_RsaA2bVODF00DGLRsaA2VNg~800C`QRsaA2a$Hsb00D1eRsaA2W@uIb00CcaRsaA2Y;;xt00C`!RsaD2p#T5@a)wp_00DK1RsaA2Z;)010RW-^00Cv3RsaA2bf8uM00DKTRsaA2Zmd=S00C*TRsaD2qW}N_WWH7a00C~oRsaA2Z^%{v00CppRsaA2Wz<#x0RW@`00Cs+RsaA2Zsb+~00D36RsaA2WAIi000Cw8RsaA2bNp5S00D0TR{#J3ZU|QZ00ChRR{#P4rU0k_00Ai)R{#P5r2wY@C?HpW00CttR{#J3Z7^2=00C(>R{#M3ssI21DMD8O0RgE1C`MO+00BKrR{#M3tN;K3DOy(m0RXN500AjvR{#M4tpF%!SAYQkumAu7DRx%?0RgW7D0)|b0RyW5C_Fu0SAcF;0DxBj0RXZ900AkOR{#M4u>dHXSAYNkJ)&0t0RXfB00AkmR{#M3wg3PDDY{nx0RgoDD85&K0RpoCC_S`SfW%h-00bdCJw8-d0Ekxrs#gHaR{#J3a@bb@00D36R{#J3bnsUI00Ck4R{#J3a{N~S00CtJSO5S4a0plc00wAnb8d8RmR10`Rsh;o02EgMJXZh?SO5S4Iuuv{0RXrF00DC}SO5S4WjI&>00DG9SO5S4bwpSI00C}FSO5S4X;4@I0sy)IyZ`_JDO^|p0s*-Iy8tL+SbzWlbZA%r00CukSO5S4b9h()00CxxSO5S4W`tM(00D1`SO5S4UyxV;00Cu|SO5S4ZJbyD00C*DSO5V4z5oCLDXv%m0Rg=LD6&|900BL?SO5V4zyJUNDaKd;0RX}P00Ak`SO5V5!2l@KSbzZl!~g&RDdJcF0Rh7RDCSsz0Rz7PC_FvNSb*AC0PI)*0RYAT00AikSpWe6#Q-P>S%3fmJq}p_0RYGV00Ai+SpWe5$^ZZXDJEF}0RhPXC@NWi0RqPWC_NxqfG}AA00bdCJwCu#0Q6V@7Fhr|SpWb5azt4G00D1SSpWb5bX-{g00CiQSpWb5a%foq00CugSpWb5aCBJ!00V7wZ&p|Us8|4cSpWb5I)GUK0RhVZI*wU@00DHASpWb5Wt>?600DENSpWb5W~f;J00CyMSpWb5Z?ste0Rp!GI$thWfVx=#00CvdSpWb5ZOmB!00UufX&_YqfK~v~SpWe5FaiJpbLLq900C#}SpWb5VenZ100C_FSpWb5X8c(I00CbDS^xk6bO>4i00C?cS^xk6brf0v00ChdS^xk6W*}Ms00CttS^xq7G6FOL00Aj7S^xq8F#6?00Ci&S^xq7HUc;T00AkMS^xq8H3ByRD4be=00BIrS^xk6Jgiy(00DBcS^xk6Z@5|j00DHqS^xk6VZ>Sh00DB!S^xk6Wzbpx00D5;S^xk8WO;8aS^$t*0Nh#t00BDUS^xn7IRZNHT7Uona`svP00CwGS^xk6bOc)f00DFgTL1t7VGvsY00C_lTL1t7avWO#00D0zTL1t7W++<#00CbvTL1t7Y&2T{00C_}TL1t7VL)2|0RTt?00DDMTL1t7XHZ)J00CiETL1t7Y+PFa00CxVTL1t7UuatZ00DGvTL1t7Y;;=y00DJ+TL1t7VSrlz00Cx(TL1t7WsF+@0su+_OalM`DVSRT0s%<_O9LpLTYvxoa->@T00CvLTL1t7bhKLl00DHmTL1t7VZd7e00C{rTL1t7a?D!*00D2(TL1t7X4qQ*00Cd#TL1t7Zsc1400D36TL1t7bMRXL0su|}Py+w~Dg0Xi0s&0}PXj0dTz~)pJP2F>00BG_TmS$8au{3y00D0vTmS$8bR=8=00ChtTmS$8axh!~00Ct-TmS$8a6DW900U%dZ<1R8_FDi#TmS$8I!Igq0Rd41I#yhO00DAbTmS$8Wn^3c00DGrTmS$8bZ}e%00CikTmS$8ZG2n+00DA>TmS$8Z-`s~00Cx>TmS$8UzA(`00C~ATmS$8Z=hTN00DERTmT6GQv+QCSp!uAUjtzSTLV`EV*>yIDY9Gu2?0_ATmx7GR0CcEU;|nMRs&)KD8^iX00DW-TmS$8W#n7{0RUwK00AlRTmS(9WCJMlTz~@rZ3AxuaRUGWDFR&p0|0Xabpv+;00AiwT>t|CaszY&b^|CFU4R1vYy)lsa05IjJ^EY#3SEF6T>t|BX9H;iYXblQDL!2Q0|90OXai~kC`Mg?00BKrT>t|Bc>{X`eFFdiDPCOw0|9sgdINj|C}v%N00BL0T>t|Be*=L7g988oDSll50|12shXaWN00AkCT>t|Cgad{Hhyy5;U4R1uegl95f&(Z$hFyS~T>t?9nF9a;DYjhz0Rfl;D7syM00DQvT>t<9WyoCs00C*vT>t<9cGO(}00CdxT>t<9XW(4`00D01T>t<9Y3yA900DCHT>t<9bogBW00DFUT>t<9Is{$-00BA*UH||AWDs5e00DFsUH||Aa~xg(00lfDJw6~RT>w~J0C-&hrdt300Cc?UH||AbevuQ00DENUH||AZm3=W00D2VUH}0Aivs`wa=Kms00D2lUH||Abi`f&00CjjUH||Aa?oA?00CvzUH||AblhG50RW8y00AlJUH}0Bi~}g_UVs1rZt`9L00C+GUH||AX8>OS00CtNUjP9Bj{^V!DH2}*0RfH!C>CFU00CqiUjP9Bl>-0)DJow80RfZ)C@x=s00DV4UjP6BbUa@G00D49UjP6CZfzuA07zc|0RWK$00AjjUjP9CkOL@OUw{AsWny0d00CoaUjP6Ba&TV&00DJ&UjP9Bn*#s=DS}@B0Rfr=D288v00DB0UjP6CZ*+WL0F++<0RWQ&00AkaUjP9Ck^?BHUw{AsVXj{Q00DHiUjP6BVZ2`e0RWc+00Ak;UjP9CmIElvUw{AsXwqK*00DH`UjP6BXW(A|00D01UjP6BW$a%7010bvV`*Y#b7XAlTmWKT0JL5J;$8p@UjR;D0GeL_!e0RLUjP6BI{04z0Rfx?Iv!wv00DUk00DGAf00D5mU;qFCZ^U2#00BD6U;qIDVg)+TV1NJtbJk!000C^?U;qFCVdP){00DC9U;qFCW$<7C00DINU;qFCY5ZUS01swvaCTv1WNB}6ba`rPY&Zr0(iZ@vC;&P#0Omdbwm$$)LjaCO002h-21)?fSpY^`0IXa9GGG7#VE_ODItXC^0|IOSWB_IWIw&w!fOu7a00DALVE_ODWn5tZ00DGjVE_ODbZB7!00CicVE_ODZFFG(00DA(VE_ODZ-8L{0RTe+00AkCVE_RELINm|VSoSube3TN00DBIVE_ODWu##M00DEVVE_ODbFg6m0RTh-00DNqVE_ODZopvx00D2tVE_ODW6WUy00C^$VE_ODY}jD{0RTk;00DC3VE_ODW$0l500Cs~VE_ODVf0}D00CwCVE_ODXaHgW00CbHVgLXEXAEKh00C(dVgLXEW*A}s00C|uVgLXFVQ=1H03>1n0RTn<00A~MVgLXEF*srX00DG9VgLXEVMJm800D1GVgLaEM*;u=b5>#i00DAZVgLXEWnf|e00DGnVgLXEbZlY(00CigVgLXEZFph;00DA-VgLXFY;RCv0EA)y0RTt>00DB8VgLXEWtd_B00DEJVgLXEa-?Da00CjDVgLaENdf=?bGBjt00CvXVgLXEa=>B$00DKzVgLXEbj)G^00CjrVgLXEW!Pc>00Cy+VgLXEU*uu{00Cs`VgLXEW$4Nv00d@mb$5zl0I*^JAY%Y>V*mgFUwC5x00Cu+V*mgFY>;CB00Cl_V*mgFVVq+C0RT$^00DETV*mgFZmeSf00D2ZV*mgFX}Dtm00DHqV*mgFaKvK(00CvnV*mjFOacG_bJk-300DE_V*mgFVc=r`00C^~V*mjFO#%P`Zt`OQ00D3IV*mgFY5ZdV00DFYWB>pGV+dpb00C|eWB>pGbrfU(00CwiWB>pGUm#=v00CttWB>pGWh`U>00D9`WB>sGP67Y{Za!oH00D18WB>pGX-H%M00DGPWB>pGV^m}S00C}VWB>pGbzo!w00CxZWB>pGUupGWq4!&00CltWB>pGZG>b100Cu+WB>sGPXYh|ZkA*K00D2BWB>pGX`o~P00DHSWB>pGW2|HV00C~YWB>pGb+}{z00CycWB>pGU&Lep00CplWB>pGY0zW<00DH?WB>pGVccW@00DI3WB>pJV`go0>|+2pWB`z40O(`@00Cd_WB>pGWB_FV00CtNWdHyHbPQzx00D9mWdHyHZy03&00Luh&|?4|WdHyIZg`?&03>Aq0RT_}00DV8WdHyHY&>NE00C}7WdHyHZ%AbT00Cc4WdHyHa#Upi00CuMWdHyHWME|g00CiUWdHyHWo%^t0RT|~00C}zWdHyHZ+v9{00C)&WdHyHbckgD00Ci+WdHyHbd+TP00C~AWdHyHWuRpM00C{LWdHyHWvpcY00C^WWdHyHaJXdv00C{jWdH#HQUU-0Wy)m$00D5$WdHyHdDLY900DH`WdHyHU*Kf`00C^~WdHyHVeDl900D0DWdHyHZ}?>Z00C+KWdHyHbOdGq00D3cW&i;IQvv`1Wfo=t00D3sW&i*Ic_3y000DF+W&i*IUo2(-00DF|W&i*IVK`<000D14W&i*IY(!=N0RU7200CuCW&i*Ia8zah00DVgW&i*IbYNxx00CcSW&i*IbZlk-00C}tW&i*JW@$=h0C;8q00CcqW&i*IY=~w600C@{W&i*IVU%V700C{9W&i*PW?^GxXlZYAhG77@`00C{{W&j5OiUQ&UUj#+?WSbzWlbT(%I00Cu2X8-^Jb4+Id00CxFX8-^JW>{wc00D1aX8;8Qw*aL8rvMlLZU8zcUoKdHAXk87X8-^JWol;t00C`+X8-~Kl>{dN00AkEX8-~MlmsRLC}fmpfJ`6&00Cv1X8-^Jbf{+l00CjHX8-^JW3*=g00C~gX8-^Jb--r;1_1s8YXK1gE(1^nbpikZDa>a81_Av8Y5@=eEdx&lbOI>aXMg|!W#DH300D6FX8-^OZ)IU=a(U=x0LTRZFlPXWX8^`$0QhGB00L%V4h8^LDF6TgUl?cr00DF&XaE2KVJK(-2mlcQzycEi!U7cm!~z!q#sUBVDKuyR2mufQzXB2g!2%Qk!vYoo#R4csXn+6#XiR7T00CoSXaE2KVQ6Ro00CugXaE2LZC@^E0CZ>o00DA(XaE2LbZ3G$0E#RC00M7eDhB|HXaE2OZ)|dDVT5P^lxP6>HvqO#0PrRN0{{>J8~^|S00CvRXaEKRTLtX|^#tz(@dWb(Iw-mifX)ek00DQxXaE2KW!Pu{00C*jYmqDC%ecv=@N934j0rW%OtO00M4gyl4OhX#fBMZ($5+01j6G1_Oiv%mB~;&H&N?5&&O1C~h(Uem;PHGJpU9c_3*300Ch-X#fBLazJSS6#$?Ez67KLr~|?T#ss1R4h6sjJpiTyssj)O5(UHr$OJ(EMF2klLjXqr00AjXX#f=gp98%FqXVY{!34zwp#u#CzXUu0r30x04+Rkg!vx0!KmbGlJ^(@hMgS;yX@CF$Xntt`00DHaX#fBLVYF!g00D5iX#fTQZ2@lqFatCLG6OaP00Ak+X#fTSYyoZoF9S0JF#|ONUnsz70Mu!K2>`eQDFM#`>;k$2D*@2~?gAbK00AlRX#fcUw*x2v&H?KJxdSQz&;jiN9R(-^YJdO%c?xO(00ChlY5)KMawuv500D9?Y5)lUyaO!((*f`Tz5_1-)dBJXAO!#cDLQHZ2?4tUECJF1?*hF8E&`$YF#*>B^a8>IGXdEF_5vaW00AkGY5)lU!~-<}+X46j#sfD2-2wUnBn1EgDXMA!2?4_cGy&QH_X5QOHUZoL`2r&aD86cd00CvhY5)KMZQN=A00C*@Y5)KMbm(dT2?D{RoK>_Ch1Ow6oLjmal1_LSu00AlZYXAuW&jUaK<^cl((E~yO=m7--DFrADY=8g(XA*1x00C|)YybcOX)tU600D9~YybcObUbVT2>{dsMFHyp2m{swM*-~t3Ii+!00AjTYyb%X(*r~S>H!A>)dNNW>;VY_D+MTAY=8g(Wnydq00C@zYybcOVt{M_2>{pwNdfNx3U0P<@9LTmuaYyblQv;(#S90dRYDe`Op0|T=IwF4UkUnq0bYykRffSeux00nGvbaQa(0{}*80NQB)0Brzl9smFWZg{c;05%!`00CtxZ2$%Ut^%wA_W=6<`2hU@00AjFZ2$%Xtpck8_5k_-_yGI>Whh^eLjXu^fTT?T00DGPZ2$lPa%gP;00CugZ2$lRWOQ>hZ2;H?0Ca5t1pwXyO#$-(5Cbv=00Ak8Z2$!T-~&$q^#KwCGz96azK|00Ai=ZU6=W;R8?s_5l+EH3cgGC@gM(00C|?ZU6uQVMJ~K00Cu6ZU6uQY*20h00D1SZU6uQZ(MEw1pwv)RRQ|}7y~*500AjzZU6=W){Q(*SJOuy&Dc)`X1_9>-RssA083Q{7FaRj(Zh!y*bntEf00C|SZvX%RX$Wrs00D0fZvX%Ra1?I<00CbbZvX%RXCQ9?00C|$ZvX%RX)JF500DF|ZvX%RVK{F900D14ZvX%RY(#GW1px8`UjYRIA_GJP00AjbZvX}X@dI7~1Og!gLj^GaC|qxV00DAhZvX%RWpr-<00C!uZvX%RWq@x000MMuhHn5GP5=M_Zj5gL1pxE|VF3pMBm+hT00AkSZvX}X^8;W31_C1kMFlnhD5!6M00DBYZvX%RWx#I$00CmgZvX%RZOm@~00M7yz(oMkZvX`V_5))92?8bqNCf}^DdKMc1_AX0VgU#OB?CtVHvlN^Z-4*+XY_9X00C|WZ~y=SX$)`x00D9mZ~y=SbQo{|1pxR1WdREUC<96b00Ai^Z~z7Y_XA`B3IZnsNd-6nC@^q<00Ct-Z~y=SY)Ehb00Cl7Z~z4W`U7VH4FW0yOa%Y|DOzv<1_Aj4W&sQWDFaIdIRGeTaDV^-Wo&Q&00C`&Z~y=TVQExw0EBP=1pxd5X#o!cECWsj00AkKZ~z7Y`vYhJ4gxC!O$9mtD4=kF00CvDZ~y=Sb+~W<00C^iZ~y=SVZ?9%5CHH4LIv&vSpok690NcF>H}K=0RkQa>;qi^0|FoeJ_P^)DbR2L5CQK4K?UstSONY48v{QD=>u8;00JEY>jPW?0s#K200CvraR2}VZgX^cZ2+8c0Mu~+1poj90t8Y81Ox^I00AlJaR3DY{{sO8Q3V481q3Mcaex2>Y;bdCMg;&gJOF$=0QzwN00CtRasUDVn*)Ue00Ai?asUDXngfIcX(*}&04Q>R00D9?asUGWkprFsS^@w8DME4p0|Jl(oda0{Unts107`Oz00CuCasU7UV_6~0{|%mB?0OJ00Aj@asUGXCjN#a)1B_0*ZUhDawF0vQIsz!xa)1BH00DG5a{vVcpa6~lkN_6|Z2(_7C_r-nFhhVQLVy4QWno5h0IpvE00MM*UUL8(LI48*V*oG$NCN-?b8>S400C!ua{vGVVSsZ000M7pkjv9bG8Grx*bk1`C00D05a{vGVW$<$V00D0Ha{vGVZ~Sur00D3UbN~PWZ3uJ#00D0fbN~PWV-$1%2LqS{9t0)?Bm^J?A_P1FUpgonbO5{{fC?Re00C$qbN~Ya=LDMsodh~4o+p5YB!B<`bV76h00C@LbN~PWby#!&00DDebN~PWWn^>!00U-aaugu|4k7?*bN~qgS^!J{SO8Q2Pyk8*QUFc>Rsbkp=pcY_bN~PWWqx!300MJmnsfj@9RL6VbaFg&0HAaL00MJxk|+Rv9RLIX?*OC%@c^a*00Ak!bN~ba?f|0#@BpO(D9Chx00CvrbN~PWZrpSL00L!ov~&RCbN~PZVRCPEs&oM8bO1a!0H8Pk0ssmGRs{e7DFk%@0s#pGRRt&tb$|c?bP#m_00CnfbpQYXVIXw?00DR=bpQeY3MxQw630paG%*r~#w_UpgpGbpRGJfOK_$00CusbpQYXb(nPk00C^CbpQnb4g?ScS_KjW6a)YPDXMh<1py5N4+L2S5d;$iD7JNg00DHobpQYXY0Py100MJm(scj|2mk;AVQHjw0N8Z^1ptZzY6JoSu>!9I00DCBbpQYXZ}@cp00DIVbpQYXVFY#n00D9eb^rhYWe|1%00DFsb^rhaVRUIcKLCzD033Dz00Cbjb^rhYbTD=R00MJ#Hg*8uO8@`@Zfrbu0B}bD0|1Kz;{ccf00Ajbb^rqbiUi^SmjWnQc7Ol@a$a@-00CiYb^rhYWpH)?1ORaa2?4kQwgdnHDSUPS1Oada2m!YOwFD@Jc7Ol@Zj5#S00C*5b^rhYXP|Zf00CvDb^rtba|8^VQ5Bn0Csi&tabp_b^v%b00egc6#!)emjJE+i3HgIs{xV%X#h3?P6L4e>I7>5I08@u!T?+Xq69z!NdS%k00Ai^cK{UuWCNA}tpJDw*Z`^lkpgG{H3CfofB@+PY5+F^PXoaKTLPg3KLSVqjR7c7cYq53Z3C|Xu>q9;tN_3OZv$}yvjKkqi~#@vDTa3d3jlKiwE?#QnEdUbOUw+xB-Fyj{zvWcYq56Yy++VumO|+s{p?MZUb-wvH^Yoivc_+Jyv%Bo_B!4cK{LqX9JS}ssL96z5v?*lmcl3YXeyXTLi5ET?AhQeE|LheFBOB00AiicmNUsW&@G{sQ^|4y#U$(lLBZ1Y6DmVS_G^CTm)VOd;t9fd;*C9C@6S<00BKNcmNv!c>}uvn*g!^VFbni-2j#X2nBlseFI|zWdyweX9Q^k0tEyGg#h6I00jmG3fEM#Q@v@l>!F^dINj|VgzIaya8qeXaoTT0|kTt-~j&w1qBNQegfVAkpT$>D3*AD697j9V*=LzodJjfp8-V#)c~6Th64NqngmG%VFG0WO9W>E`UGDB00Al3cmNXuMg(F4)&QIVhXS4fLck3jl=!#R10wp8&Q1$^eH0i37<2i2#-X00Ajfc>oImgagC@#sQuHwE)Qgh69KL$N`7|l>sPhd4LN7egnP%zyX{9vjE2cfCGX9!U2W=lL06_PI-WGc>oju8w7y?9Rz~`8U@S(&IGUn&;rT?(ge-|6a~-(vIEir76lju%mmZ~00Akkc>ojv8U%m=90Y;^83oG%%>=Il&jQH=(FDx`69vx%u>;Wp6$KXs%LLN|DA;*`00CXzc>n|e83gzQ*aV0H00AiydH@6g7zFnO*93(l#00C?wdH?_cZ!mfQ00D0{dH?_fc5`raS}Opm7yyhS0N^4300AIEdH?_cbX0l(00DDadH?_cZeV%<00D1idH?|efCOJC+Fbxh8-M@-XL5P~00C}(dH?_cX@q(J00DA}dH?_cbdY)g00MJ&mU;lB8vp7|W#W4P00DFMdjJ3eVRHO?08%9Y0s!*>r~&{1DGYo700LrY-+98v*D700AjNd;kOilmiw78Ug15C`^2S00DVYd;kCfY;-()0APFo00D4jd;kdmbp#CoyaKuej{|oE4*|XcyaWINDRz7S3ITKk3<0|Wxde^_b_5Oqy#l)gI|3+*e1HG}WRQFS00VMuZUTG&aC`u&d;kgn69N?ic>xy!83KC&I0HNbIs-lf00Ak!d;kUjeF1*~Km$YrLIXwv00Al5d;kUkd;xv|KLbMpK?6ktDCm5E00DFEd;kCeVE}yq3IY-W6ashw76KRodI2{BI|DfbJp(9T)O>&jeE@Y00D10eE00C!SeE00CxdeEVnweE<|v0JMDo00MAxEJ*OWU(9^~00CvzeE(^cVE}#r00D3cegFypQv-nlT?1JIRRdoGVFOzOR|8`M00Ai$egF#soC8t=fC5|tSOZi8UISnQS_4)CVgo2TEPj9O9MJ6R$PFdTYvxoa$bG_00CugegFUgbaZ|I00DG*egFUgVSs)B00C`=egFUga*Tce00D23egFUgW|)2e00Cc~egFUgZlrzy00D2RegFUgbFh8@02p*;ZgF90a&uy2aCT#Fd2MKAXKZ(VYij;y0G?<77HI$k0RR+j0NQZ?9C84tasUW(0K{_u@^k>=bpQ%?05W?3lzRZadjOVJ0I+-jFns{NeE{fv01$ovSbhMuegKmd0KOFf`V{~=765h@0JRnX_7(s#7XWS-0I3%M>K6ba7yw=v0FW2}&KLj+82~;R0BIQjl^FoR8367X02~?sQ5pb$8UU&q0M!}*{u%%~8vuA40HYfK+8Y268~{ul0E!#{%Nzg)9RNce0DK()v>gEC9RL^}08btOkRAZQ9su$l04g5+z)0H7rRq$L3NB>?*+081tSPbL7QCIF}=0QV*U`z8QKCjd()0FWmDlqUe&Cjj3k03|2@DJTFyC;)XR0L>@>(I@~hDF8Jo0Ej67j41%%DFEat02wL(MJfPsDgd7<0Lv->&ME*MD*z!Y0A4EqVk-cjD*&S_00Jxk1}p$SEC53+0GccSo-6?LECBc{08A|aP%QwbEdZ-600J%m1}*?xE&yOI0JkmxyDk9FE&%&304Og2Q!fC5F93xv0J|>$zb^m`FaQuR09-HtU@!o$FaWbK001!n1Tg?nF#uID0HHAer7-~VF#z^402eX0E;&O*f#*&HvlL&04z8Fc{l)lH~^J60L3@}$T$E5IRFSb06#eZLpcDCIRKM60Mj`D*Es+ZIsg_r0A@M>YB~V9Ism;o01P_-5IX>JI{^=ZQKLAKS0IWX%us;C%KLGzf09Zf(TtEPlKmfu(0P;Wp^*{h1K>#E{09!!-UqJwrK>(OR0LDQ8$w2`0K>+wc05d`WH$nhiLI7bx0HQ(wra}PBLIBW000~0?4MPA!LjXrZ0DwaPghK$lLjb@-01!j~6hr__L;z1j0E9#Uh(rLvL;%G^0Qf`z`$PaHMF1*A0AED_VnqOrMF5dS0K-K9#zg?}MF90h04zoTFGc`bMgU$$0GdVsokjr2MgYu400Bn;1V;cbM*uTN0B1)4YDWN-M*x{e0L(`K&qo0IM*#ju05C`ZGe`hlNC09;0GmhvpGW}WNC4(Y03k^LB}o8XNdRF<0G>$zqDcVcNdV|c05D1bG)e$|N&tdN0N6?Z+)4l!O8^^7098u>SxW$uO8}Qk0MJVS)Jp&iOaKr}07*;$O-ulSOaO*V0J%&6y-Wb;OaSam02@sJ9!&sAO#n?z0DVmWfK33aO#rV=0OL&n=S=_-P5>5808LH+QBDASP5^*T0J}~AzfJ(^P5|ys01!_AJWl{>PXMS-0IW{{4^RLTPylsM0C`XV(@+4{Pyjkn06tLwp-}*(Q2+;001Hw8Zc+epQUIz_0NYXk4O0M3Qvgv@0E|-rkW&E7QvlIZ01Q+B5L5t6Q~*#^0GU((om2qSQ~=mi031~SAXNZxRRDBV0LE1S%2farRsb1R0AyAGXjTBZRsg+L00~zB4OakJR{&jC0Iyd7vsVEBR{#T8099B3Sy%w1SOBP40P|P?_gDZ(SpZB~0GL?-oLKRSLITmU3o08d;1Q(OR#TmX_>0KHrQ!CV0LTmbo803=-iC|v+tT>xKQ0E%4zj$Hu3T>!*g0PkG@^IZTXUH~Xw08?H7S6%>+UI3I{0M}js+g<<`UjQ0k08(E7R$l;ldtv~qVgRpV0M%ju*V*nFl06Aj-J!1fhV*rk00M}yx+hYJ6WB?#!0ApkTXJi1KWB{RL0LNqi%VYotWdI9h05N3%HDv&5WdLnu0GMR}oMiyMWdP@8032ojbY=i}W&qe`0NiE(FJ}NVX8?z10E=e;z-IvMX8;&z07Pg2erN!KXaL%10N!W-5@`ToX#izu0Iz8P{%HVCY5<{X0Pt!6Oltt6YXI+S06%O1muvv>YyeAb0GMq6=xqQuZUBjH0NHK;2yXxwZva$p09bDTk8c2zZvg3U0PSx89B=?-Z~$p=0IhHUv2XzEZ~*Uc05fp_H*o-baR7jE0J(7hym0{gaRC2u07!BGOmYC0asZlg0O)c6>~a7#a{xJW0B&;ta&rKza{#Y%0OfN4>2m-nbO0@M0FHD3l5_y`bO85s04sF>FLeNWbpU^L0G)LJ-E{!rbpRZ803db%P<8-Qb^wod0F!nA%60(Gb^t1O04{d`es=(ZcL33M0M&N@BzOQQcmP;<09$wflXw7^cmUOS0NHo|CwTxXc>rs90B?B!uz3Kqc>wBp0PcAJ6nX#{dH`j50BL#v%X$FMdH^GP04I9@Z+if9djQdU0M&Z{3w!`Od;n{F0B(E$mwW)5d;rpX0M>i}3w;0&eE>au06={JYkdH3eE_O`0Iq!i)O`TheE=DL03Ch+Lw*29egJ`f0EK=4y?y|}egFo401AHqHGcp(e*k}f0E2%3u73cse*pV`0RMjgNq_)NfB=ku0FZzHyMO?{fB^r100V&lE`b0tfdF`c0DOS}r-1;gfdKM>0QP|ZA%XxUf&g2B0AGRtl!5@5f&j~c0M3E{`GNrbf&emu05yXEV1oc;g8-I;0GWdT#Df6Hg8=`700M*nErb9ugaB=X0C0o=n}h(LgaFip0M~>70)+qug#bE*06m2OW`zK1g#ev}0HB2c%Y^{Xg#ZDD00f2rFNOd!h5&4a0C0u?vxWe-h5+)00QQCeE{6azhX8Mf0CR@`wTA$?hX4VH00oEuPly0hhybaG0Ii4s=!gL9hyW&u04j+9WQhQ1i2$LA0Huil-H8C~0GNsZ!-@dMiU0+R011l#Gm8K>ivV?t0C|f5q>BKkivZ_~0PBkY7K{KIi~w7V0AGv%ii`k`i~!J#0Mv{C|BL_wjQ}N$09uUzvW)0LhR5&5!^bkpLi(0C152bddnbkpRt+02`73ACdrSk^pX!0Kbv|!;%0LlK>c#0AiB>W|IK6lK{Gt01A`<4wL{{lmK0n0Irk(vXlS=l>i5o08*6zR+Rv!l>n=i0Q{8z0G0qsmH>%Eu;W3qyTHA0B@uKsiXj{qyXlm0P3UwBBcN(r2t>00Ar;9n56)mr2x#O0MMlX_N4&&r2sId05qlmS*8G8rT~+s0GFl!)20B|rT`PC02ikKPp1G=rvQ1U0DY$byQcuZrvT-r0O_Xy38(-+r~pH#0D-6gg{T0)r~t&M0Pm;(^QZtKsQ@LZ0A#5EXsH0GsQ|300OqLx>Zt%9ssJOZ09dL3T&e(!ssN9w0L!WX&#C|hs{jhC086U?Ppbfts{oa&0M)Ai*{c8)tN<9S09~vAVXOeBtN^R50Oza#>#P7GtpFyi0B5ZLYpnpStpKsD0Pw8<^sN9ct^hKw0CuhbdaeM!t^mWX01vMK6R!YduK;MT0J*OKy{`ZdumBUV0A;WMX|MpcumHNS01UAJ5U~Jau>fYV0J*UMy|DlgvH%pa0AaEKWwHRbvH-iX01dMM5wiefvjAwb0K2mQzq0`Kvj8Qu09CXAShN6xv;c>+0KT*U!n6SQv;h0G04cQqEVTevwE$bS0GPD^oV5VdwE)<)02;Oc9<~5swg6?e0IIeCuC@U5wgC9H04%ovFt-3{w*YOo0KB&Vz_$SKw*d3E04}%yGPnR~xBzXq0K>Qd$G89uxd0Kl07|(4PPqV%xd4*60J6CN^tk}|xd1P^05ZA&ce((3x&X7f0JgdS4Z8ply8uJG07tt3ZMy(*y8x-X0Ij%$G-r}zX0~X0Q$cGKfnM(zyNN*0CK6~h1-!vIRd0DZ#%(Zc}M!vG4z01m_eLc{JY0Gh=B;Kcys#Q-J704c@*gT?@d#sJ~Q0OiI2IL81y#{iGV0F%c6@5cc1#{fde07l3FtjGYc$N&t<01(LlSjhlf$pEFv0IA6U^2q@9$pAsh07c3Gk;(v-$^hZY0OiU6Cd&XS%K%-=0Ab4jn#%y5%K+KS0Nu*~70dt`%m7x*09wodoXh~A%mCZW0N>028O;D4%>Y)-09wrelFa~?%>c>G0L{$+2F?Hq&Hzo$08!2WjLra%&H%{H0L;z+3C{ox&j3%)08`HZs?Pwf&j9w%0Q%1WInV$-&;WSQ0DRB@w$K2&&;az%0Qk@VG0^}u(Ex4H0CCX(s?h+h(E#Jo0O!#F8`1zD(g0P`09n!imC^v2(g4-c0NK(271ID2(*P~g0D98^e$xQX(*V-b03g%=B-8*y)Bs@A0NB{r*x1#!si~={si~={si~={si~={SgEL~si~={si~={si~={si~={si~={sHv%`si~={si~-`si~={si~={si~={si~={si~=Wc&VtVsi~={si~-`si~={si~={si~={si~={si~={sHv%`si~-`si~-`si~-`si~-`si~-`si~-`si~-`si~-`si~-`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~-`si~-`si~={si~={si~={sYvMPsi~={si~={si~={si~={Sa^7;si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={sHv%`sHv%`sHv%`sHv%`sHv%`sHv%`sHv%`sHv%`sHv%`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={sHv$)Sm>##si~={si{cl=;*1bsi|18xv;RXu&}VOu&}VOu&}VOu&^)~si~={si{b*si~={si~={si~-`si~={si~={si~={sHv%`si~={si~={sYt1*si~=`si~={si~={si~={si>)`si~={si~={si~={si~={si~={si}B)si>)`si~={si>)`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si>)`si>)`si>)`si>)`si>)`si>)`si>)`si>)`si>)`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={Na(4lsi~={si{b*sHv%`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~=Wc&VwWsi~={si~={si~={sYt1*si~={si~={si~={si~=`si~={si>)`si>)`si>)`si>)`si>)`si>)`si>)`si>)`si>)`si>)`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si{b*si~={si~={sHv%`si~={si~={sHv%`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~=Wc&VtVsi~={si~-`si~={si~={si~={si~={si~={sHv%`si~={si~={sYt1*si>)`si>)`si~={si~={si>)_czCI(si~={si~=`si~={si~={si~={si~={si~={si~={si~={si~={si~=`si>)`si~={NO-BKsi~=`si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={si~={NU5o*si~0Wj1Cw4*)beI&pPxbY)*;VRU74Utw-!Uvz10Wpe;wHf1$7IWRRaVPR%tHf3XBG-EJhHDqRCVly>nWHL2j4*)beI&pPxbY)*@Zf0q2X>@62b6;U@WM6J!ZgT)(WnyDBVmW3wW;ZuvHe_ZqV>mE2Gc!3fH#ufBHZVCj4*)beI$>;VZ+Bm8X>?_BVQgP>baH8KXLA5yGcq_dH#0XjGiGKnVPZKkIb&roVlXjeHa1~oGh${o4*)beI$>;VZ+Bm9b!>ELUu3B2F*RakG%+|iWMeopIW=K8Gcaa3Ff}m`05m!}VQg$~cVBX4VQgP?VPbP%X>MP0baH8KXLA5yI5lHrH#B1~V`VovV=^%@IW{q3He_NjH8nUlH#azA4*)beI$>;VZ+BmHZfRq0WMyA-baH8KXLA5yVmM?pW@9&EF*P+aF*h?eWHw|nGBqM;VZ+Bl}X>MV1d0%O6bY*8{a&rJ-WjJJFWic^jGcz$_GcY+cF*rFnV`VroW@IvEWo0xm4*)beI$>;VZ+BmBV{~C`UukZ1WoKn_a{ys8WHC52Vq;`BWjJOwIb~vFGC5)~G&nglHD)q1WHe0{baMbiH#0UdIX7f6IWb`|G&eIbH)A(tVL3Ho4*)beI%#fXWo~p~bZKvH0AVyVIWRXeWiv2hG&5u{G-5Y2G-fg~H8L_`I5;pkF*pwZG&(wRWo%)1Wn^DwY;R$7UvP3|V`+0~Z*Bl#GB7eTG&nhCGB-0~Fg7_eH)LcpH)Aq2Vlrc9GB7td4*)beI&@`nb7fy^WqDtAVQh6}UvOb*a&rJ-G-EhoW@IxtH)An1HDhKqI5aUhG%{mkVq!HlHf3aFVgM34I%aQjZDDj@W^7?+a{wb@GBGeRVPQBhVq-NoH#jq7IW{pkFlIA0Wie(pG-fto8UQppI&N=nWdLC_Gc;o~VKiejGG=6AH#uZCWnyD9Wj8ZoH8D43HfA^)05m!}bYWs_WdLDeVPZLDF=S;iHfA$8F*i15I5uQAVL38lVKXx~VK`(O05m!}VRCX|c>rN%F=jV0Gh;brFfcG?HDohpGB_|{WMX77GBjjnG-fp#05m!}b98cPZf5{tVl*{lW@cqDI5cErGh{L_WH~Z8Vr6AGHDxzqFlI6_8UQppI%#fnWoKn_0AVpTH)LWrWM(xpFfcMRH8(XiF*Rf}Ha259Vm3E2WjGoDG&(wFY;R$7X>MmU7{VKOx~W@Kh&V`XDEG-EMkH!(OdVKQMF05m!}VsCG3WnpdrVK_8pGGjJ0W-~ZuH#lNpGi6~lV>vK2VPZ95GGt*gHyQvmIyz)wbY%cxHD+TsGcq$VF*z_bV`4HlWjHcqHaBK8W;Qi3F=jVr8UQppI&^7mWdLC?H)CTqIW%H9Vl!rAHZwLiF)(IfFgRj1IWjV1G%{ir05xB9X>DZyWHvD|V>C8qIAu09WI1IpG&x~rWid82WMwfpV=^{06$AiZba`-P0B&JzWpi+0V`X%2ZEP-RbZu-SVPaupGi5k5Vq#`7W-?KWEG&(wNZ*FA(VKXx{V>DqjV>B{mWMVftWH)7EV>4wpGh#I{H)S?vI3NHtIyz==a&2LBUtx1!Vrgz+a(Mt@Gh{L`VL385HDqNmH#KHvW@ckKIb&vFF*9UlGBIRkAOJKvI%aQjZDDj@VRK(^V{~C`0AXZiV=^{3HZwOhG-P37Vq|7HH)JzoI5;yiVKQYnVqqWvG&(wFZ*py6bYEd}Uub1`VPs`vX>DO_0AVy_WHV-EV>C82VmD-AFfwFiVrF7vFk)mhH!?M2GC3{+0AFToVP|syZeeX@b8ul}Wpr?_BVRUbD0B&JzWpi+0V`X%2ZEP-RbZu-SVPiLCGdMG2WMwg8IAk_4WMW}7H8MFeVlrYdW@BPDIbr}3Iyz%-ZgX^BVRCX|d0%OCWpZJ3Z*l-5VP#@rIc8-uVKF%~V>n_qG%;Z@W@0m8GB7zdWH)0mGhzS|Iyz%-ZgX^BbYWs_WnXD@WpZJ3Z*l-5VKic6V`MiqGiEh3G%z$}FfchcG&MIhF*GqZH)dmEVqyRiIyz)!W?^+~bYEs~a&2LBbY*e?BVjUPI5%Q7WHL23W;HZ7H#0UkGcz(cFf%b`G&M72H#TAb5;{6*ZgXXFbY)~;ba`-PUvFjrBVlD`F=jAgVq;`vGd4IjWimE6W;9|rF=RPpVK*=_Vr60g5;{6>aCB*JZeeTyBVlGUG+{YrVly)^HDxq0IX5^oF)%bXFgay5Vq#)9VPj$d5;{6_Z*_8GWnXD-WMy~&BVlG@I5je6VKOpdIASwpVL4V`GVrDU7VmLE2WnnpGGd4CfFg0Z}F*jlW5;{6*b6;U{a$$J@BVjT!H8Em0Ff(Q|Wn(mCF<~<>Gd5#5GG$?8Gh{Y7V`E|f5;{6*b6;X_Z){~@ZU7@;IAu3EI5IFcH8EpjIbk?6H840bV`e#FVq`QoWH>lAVgM34I%#uXV`y@3Zf|UFXK7<$Yycx+H)c3DHZ(9cFk@jiWMgAuH)S|7Ic7FDWH>ToFf=$dVgM34I%#uXV{dMBVQFqLE3WHc~kW??uvVP-NlF*IQ^VgM34I%#uXWMOn=03%^DV>M)9VKg;1Gi5VjW@a*CHDxw5HZWmfIX7f7IAmrn02NDZyGB`D3VP-HfGB-FmVKy)~I5jaaGB##8I5Ib3Gc#mj01`SnX>(s@Y;R$7X>MmN37XJv8#BVjc$Gh$?8G+{A0FgGz~Fk)plFl9M1Vq!L9VliPcVKZU?5;{6*b6;y^c>p6}H)1$tW;rl7WH~l6Ib<<2Ibky}WH>i8Vly-~Vlg>2G5{1`Z*pH_Z*F#Fa&&28Y-Ip2H8N&lW@KeIF*z_dWo9#BI5jyiWo9>JV=^=~HDowq01`SnX>(t0Z)9ZvBVjaUG%+$ZW;QcoVKp`|IW{w7WiUB4V`MpEWo0loFf=p(6km2}Wp@B#HDWL}WMN}CV=-kgWMw&JFg7$XF*z|eWic>fHZeG201`SnX>(t0b!}p0asVS?HZ)^pH)UitIX5(9GGZ||I5IOeHZ@{nHaBB5FgQ0eVgM34I%#uXb98cPZf5`^VP#=4G&V9ZI50P1W@R}tVK_7}WH>ToH!(9gV`OD8H(~%1Iyz}{Uvyz&Y-Io=VPr8eV>n|tVK_24He@zAGcjc}Fg7(fHa9t8VK-!CVqyRiIyz}{Uvz10WdI{#I5%NsWiv82HaKB3GGbylGdM9dFf=kTWi(|oV`e!wVgM34I%#uXc42IFWdI{#Fl0GnWHL52Wi&K6F*7h?IW;pdHDhCBHaKK5W;HN4VgM34I&gAjb7gXNWnXh|b#h~6Uv^<^b!A^>Y++|}03%^DGG;e0Fk&$^GG#F}V>2~3I506~IWRS3HZnG0G-hIA01_EGI$?BQaA9<4C~j|LWhN{jb97`nI&*Y#X>MmbYE~`bZ97JZ*FsRAZ~ADWhN{jb97`nI(Kt)a%pa7Uv_C_cPRiPVP$4AV>K~2HaRgfWn^MxIAmdFG+{GjH8M43VKp-|GeQ6~9%29z8ag^*bYE~`bZ97UZ)9aAEFfcVZgX@XbZ>2JIy!J+bZ90i03%^FVKrhhIWcBrW;11DVmV=CIAUdHG-NhqHaIzBG%zwm05lk401_ZNI$?BQaA9<4C}VGKb95kXZ)9aAEFfcVZgX@XbZ>2JIy!J+bZ90i03%^xW;8W2V>4qkHaRwBGB9OjVPa%4F*Y_iWMVcpVL4?+05l$A01_rTI&W}ga$$6Day&dJb97`nI$~jSX=7h+b98cLVQoA^Xkl_bCM+OsZ)9a(ba`-PDF7p3VqrEhIW=T8WjHfoVlg;oGcaR0VKOl>GdMJ5GGj4eNB}e>VgM2(Iy!J+a&u)Ub97`nI&*Y#X>MmdH2WMoPJG$LXE5+OP|aA9(DWhirWWI8%?baH8KXJ2+{Wp^wfb97`nI&*Y#X>MmGCMf_TVKOjgVKZegIAk|6H#IphI5TEqF*jp3H!@)}H8(IcGfV(9A7TI!COSHBVRCb2D06gVIy!YYb98cPZf9S1X=QgTAaitNIy!T7a%pa7Uv_C_cPRiPVP!dGWi&G|Fl1zAVq`ZmVmC4~H!?UgVPZIBIX5;jI8FdGBw_#(BRV>8VRCb2D06gVIy!YYb98cPZf9S1X=QgTAaitNIy!T7a%pa7CMGEWBVjNyVKO%|G&MFfF*G@0WH>Z4Ib$$1H8(RgH#0CeVmMF$G$CRD5+yo1aA9(DWhirWWI8%?baH8KXJ2+{Wp^wfb97`nI(Kt)a%pa7Uv_C_cPRiPVK6Z@HZ^84Heok8I5K20HZnOhIbvaBGh#J0G+{F{G*SRGBVqs&B04&7VRCb2D06gVIyz}{baG{3Z6+)rb97`nI(Kt)a%pa7Uv_C_cPRiPVPiKpHa9smGd40XH#Rb3GBRQ|Gc++|V>UK8GGk*hWK;k&AYuR#CptQCVRCb2D06gVIy!YYb98cPZf9S1X=QgTAaitNIy!fAbaH8KXJ2+{Wp^n6BVjW*I5jdfH8C?VIc794He_NlI5B21H#0LdWnnmEW@T0YG$mpH5+OP|aA9(DWhirWWI8%&b98cLVQnTXAaitNIy!T7a%pa7Uv_C_cPRiPVKQZ9I5cKvV`F4xWH&Q6VPZ5eVP<1uI59FZWH>T6H&_5PA7TI!9y&U3VRCb2D06gVIyz}{baG{3Z6+)rb97`nI&*Y#X>MmGCMf_TVK^{1Ib}C7Vq`crH!?CeFfn6cIWaggIAb<9FgY_YHCg~P9AW?x5;{6?VRCb2UuJ1+WhirWWI8%?baH8KXJ2+{Wp^n6BVjmXVq-NpWMO19Gh;JiHa2E7G&eS3H!(9YW;Hi7F=1Q)G!S9{5)?W*aA9(DWnX4#Y-K2ObYwa@bvSc$a%pa7Uv_C_cPRiPVPj-sVPa%7VmCK2WHK@_W@R}zVlXf@Gh{e4IAk_CWL^L?5@G-n6FNF@VRCb2UuJ1+WhirWWI8%`b98cPZf9S1X=QgQ03%^!G%__|W;8i5Gc++WFg7(fIb&fqVPj)6H)AtmF*#*m05lPFZ*6PaH8*58HZwCcGB{>7H#s$7V=**2I5S~n07D;a03j(lI&^PsY+q(?a&2LBbY*fVV{dMAbRcwZZEQL^aA9(DWnXe-b9HQVCM+OkZ*py6bYEs{VP|tG03%^DVP-I6VL3T5GdX2sVq`NgI5ah3HDhEqWHMtgF*7%207EBi03jecI&W}ga$$6Day&dJb97`nI&X7ya%Ev{CM+OyZ*6Q}W^ZzBVRUq5awaJNBVjc#I59P5G&nRcIW;#oHZ(9dW-~NmF*Z3gVq#`DGi7K1Lmq4ZAt5?CZ*XODVRUbDJUl3KbYwa@Z*z2VWnpb5EFg4mZERm=Z*py6baZ8MCMGEWBVlGRGGaAlVPa)5WjHiqWjHi5GBq`0H)CcnGG#bqWMOImLmy%Q06IE!Z*6Q}W^ZzBVRUq5asXp&VRLhIZ*6Q}F<&usZ*6Q}UuJJ|ZDDkDWpXZPbZu;k03A9yWMOn=03%^IIc76CI5jvmW-~W4WHDtoVq`TrW@R)qFfuVRFgG-c03A9ybZKp603%^BIAk?tH#ah5Vl-wpF*Y+bHZ(J1WMMNoFk>=eH!?7a03A9yZ)Rq5Wpn@|VP-frIW{mcGiEh1GGaM2VK_KsGGk$8HaTTEFkvxfHEjSN0$+4#ZDlAa05W4aWo0pAHDft6VKz20Gi5nrVPiF9Vm380I5}i7W^e#MZ2%x9Uvz10Whi5BZgX@XbZ>2JIyz)wbY&(iAY*TCb95kdZ*6QkI&^7mWhN;AVlX%~WHUH0H#uWwH!);lFk~=cV>mQ6H90akWMeXN06!#c03Q=ybZKp6C}VGKb95kdZ*6QkI%HvVWhN;AH8VLhV>o3tHaRe6H92KAGB;*9GGaC{G-5C|Vr4ZrbO1jQZ2%t=Uvz10Whi5BZgX@XbZ>2JIy!V|ZDl4Y05>yaW;HP|G%;mmWiU8mIXE2JIy!V|ZDl4bAY*TCb95kdZ*6SifTk$`VPj%pF*P%0IW}cEHZwP5H8VD0WMnllH92BoWH~uucmO{$iU1u5Iyz}{UuGYJt$*uZgX@XWMOn=Uvz10WhN{jV{dMAbRcA5bY)+3X>DaDDF7p3IbmfmWiT@`W@cqMFgY?fV>CBnG%#XhI59OfWMyG9d;mWpiU1uXIy!G~WpZJ3Z*n{+V{dMAbRcA5bY)+3X>DaDEFfcVZgX@XWMOn=Uvz10WhN;ABVjaVHa9phGiGFCFfwLhH8nIjVqr2dGhsP0H#1>2Gh%)KKO%|%9U(e8Z*XODVRUbDJUl3KbYwa@Z*z2VWnpb5EFfcVZgX@XWMOn=Uvz10WhN;ABVjdRFgY+|VmV}HVK8JiVKZenG&V3ZVqrHhGGbz6WMhB;KOc$!9V9wBZ*XODVRUbDJUu95Z*FsRAY@^5WnXk@ZDl4bAY*TCb95kNVRU6*bZKp6CMf_TVK-tjW-u}~F=1shIAvxwWMX1AWMwdBVly>nVq#`9VuAoaB8mVVBsw~8aAk5~bZ>G!Jt$*uZgX@XWMOn=Uvz10WhN{jV{dMAbRcA5bY)+3X>DaDDF7p3I5;(9Vr4lnGGS$5WMN}sFgZ0dGBYq?WMw&IIAS?rgaAJxiU1uXIy!G~WpZJ3Z*o2;V{dMAbRcA5bY)+3X>DaDEFfcVZgX@XWMOn=Uvz10WhN;ABVjROV`XA6H83(bW-~KkI5Ih8HZf*qV>dQ9Wnp4BIAMkWKO%|%9V9wBZ*XODVRUbDK0PR7Z*FsRAY@^5WnXk@ZDl4bAY*TCb95kNVRU6*bZKp6CMf_TVKX){W@0fpFf?W~H#cQ4VKHVmVPj!oGh<|AF*IRfW{3bkBA@^gUvz10WdL7abZKp6E@*UZY@h%aIy!k}VR8T?VPr96V>L1|Vlgo_V>UTtV>vK5H8e0{F=IAnW;Z!9VxRyQIy!A{Zggk>BVjN#GB{&5GBRW^VK^~2G%;a0HD)$tGhs0?F*Y_aG-aRw7dkp*VR--}VK`-DH(@t2GdN;6Wn^SCGc++`G&L|`H)1q1Wn(ZgF`xh!0y;WmVRU6EDF7p3HDh98H#uQqH8M3bIAvouVK+1|GBRUkG-hLFVlgr~jsQ8J02c{5I%HvVWhhxJAWbYFL@59xVKy)_HDWh6H#0b5W;bPIGGt;mFf?OhI5jdkH)S_8WRL(k2cQ5K8ag^}aAk5~bZ>GYJt$*uZgX@XWMOn=CM+OhZ*FsRAY@^5WhN;ABVjdVF=93|Ff=e@He@s~Gh#SpFkv?_H)A(9WH~i3Ib@OmIT)Y-7aBS`Z*XODVRUbDJSbytZgX@XWMOn=CM+OhZ*FsRAY@^5WhN;ABVjl&FflkeI5|0CG-P3BHDWkpWM(mAHDWR~GGaG3GGvqhIT)Y-7aTe|Z*XODVRUbDJUl3KbYwa@Z*z2VWnpb5EFfcVZgX@XWMOn=CMf_TVPP^fW@KbyVKy-|Ibkw3W-(-9Wo2e%Ff%qWGBz_YHkJT68lV6d8ag^}aAk5~bZ>GzJt$*uZgX@XWMOn=CM+OhZ*FsRAY@^5WhN;ABVjOMWMnxoV>n`EVKHW8V>M=GH85jhVr61AWid86W@DHDIT)Y-7aBS`Z*XODVRUbDJv}I6Z*FsRAY@^5WhN{jV{dMAbRcA5bY&(f03%^$H#RXdG%`6jW->ToGd5;1Ff=tWHD+NpVqq{bIASoG067?-02dlMI&W}ga$$6Day}?yZ*FsRAY@^5WhN{jV{dMAbRcA5bY&(f03%^BI5sh6W;SFsI5jY4I59LhV`VTfGGjM2VlrW3IW;nz067?-02dlMI&W}ga$$6Day~sMV{dMAbRcA5bY&(iAY*TCb95kNVRU6CDF7p3IA%9AVPZBnVKX;4VKp*kGB`9hIAk?uH#RtBG%+LbZ>2JUol@XWMOn=E@*UZY_|XxIyz`?b#eeBVKF#nGcsW{I5;#mWHU1}W;tazHa226GBsj1VmD!BG`9d3Iy!A>Zgq5J03%^AGGt{mW@RumF=S?8IW;piWnwgBW;QTnI5uWCW@0qA02ewsb7f<1Ze#!>VK`xBFkxaiG&x~6HZe6cGcqtYV_`TpVKQYgWH4rAX14$rIy!D)Zf|pCV{dL`03%^DWjSLuFg7(XV`F48F=jDkG&eCbGGaG3H#IajF*r5102cx}I&^7mWhf~CBVjZ)Fl071GB#l{Fk(45GG;S4V>UN7VrDgEWi~QlGBBk8Ikx~84LUk>X>DaFNGu>tEFe=XAWl;$03%^zVP#`8WMeirI5amfHe)q6V`DclGGSsgFf%bSGi5fX067b{02dlMI&W}ga$$6Dav?n^V{dMAbRcwTZDl4bAY*TCb95kdX>DaDDF7p3H#RpmHeoO~H)Sy}H90mgH#In8VPQ03Ib&jGWHL2ksQ@_`w*VI!Iy!G~WpZJ3Z*n{+V{dMAbRcwTZDl4bAY*TCb95kdX>DaDDF7p3GBPk^H8e6fH8V0~V>LNuF*r0fW->W3H90ghFk)pms{lC|w*VI$Iy!G~WpZJ3Z*n|5D06gVIy!H2baG{3Z6+)rV{dMAbRcwTZDl4Y03%^xWH>QmIWajjGGt{lVl!qkWHmH4H8x{7VKz86Wo0+5067}B02dlMI&W}ga$$6Day&gKV{dMAbRcwTZDl4bAY*TCb95kdX>DaDDF7p3G&MP7G&wLfH#0I~WHw_qF)}%1Wi~QqF=I9`F<~|^uK+n1w*VI!Iy!G~WpZJ3Z*o07C}VGKb95kdX>DaDEFfcVZgX@XbZKp6CMf_TVPQBpWHB{1W;kVGG%z(aF*9W_FgGwVVl!hnIAmoqX0ZS{7`Ffy8ag^}aAk5~bZ>G#C}VGKb95kdX>DaDEFfcVZgX@XbZKp6CMf_TVK_B5G-WkpG&D0dH8N#mG&o{4Fkxe5WMySBVPZBkW3vD`7`Ffy8ag^}aAk5~bZ>G#Jt$*uZgX@XbZKp6CM+OhZ*FsRAarSMWhN;ABVlDVH8Ep0Gh<<9GB!0~H#lT9VK*~lH#s+DWi>N6W;L|{IT&I906IE!X>DZyb98cbV{~+HZERmLUomuPZDlTKbZuf6WMs<#9|Af$bZKp6UvFk+b7gcWDF7p3G&x~rGGk&fGd5;2F*7tYGiEV0Wic=~HZ?b9HD)knxd1`S03QZAI&^7mWnXV*W^-k9C`c?IO(_5)VL4?vHZwFhIA$?6G&DCeWo0>GW-~QpWM(&HG-f$7WxD`D1j_&)8ag^}aAk5~bZ>GYJt%Z(ZDn6?W@d9`bSxlrX>Da+Z)Rq5WppV3BVji;Wi?`AFf}%2W@BVFVL35kF*h_YGcz-0GBaX0FgCpaK^V&b9~wG3Z*XODVRUbDJScQ&ZDn6?W@d9`bSxlrX>Da+Z)Rq5WppV3BVlG`F*P_cHa0S1HaRjfH8eIgGBji{G-EL}I5=ZwIb^>8K^V&bA0s+CZ*XODVRUbDJUl3KbYwa@Z*z2VWnpb5EFfcVZgX@XbZKp6UvFk+b7gcUDF7p3V>mZtW-u{gG-Wn0Vq`NgGh{b4H!(6aH!w9ZH#9Xd!2m%a%K#r5Iy!G~WpZJ3Z*n|6D0FFUWnXV*W^-k9EFg4gZDn6?W@d9`bSVHMVKiYdI5;+BIbmcrH90mjVKikpF)}qbHez8gV>UT5IKu!z7|Q@38ag^}aAk5~bZ>G!Jt%Z(ZDn6?W@d9`bSxlrX>Da+Z)Rq5WppV3BVlAYG%_<~WiU23WH4bgV=!W2GdW~sVlp;2Ibkq2W;VqDK^V&b9~wG3Z*XODVRUbDJ}7i)ZDn6?W@d9`bSxlrX>Da+Z)Rq5WppV3BVl1RGB+?`HDfU`VP-O6IWsggWHMtiFgYDa+Z)Rq5WppecbZKp6UvFk+b7gcX03%^AF*G(YGBadhW;QcpHa9n7GBq_hVPR%DVq{@4Gc!2J06`eH01{tsW@d9`bO2vpZ)Rq5WpplRbZu;e0T%)~I$?5hVR2>2H90tBHa9V4HZ?ObVlZQ6W;r!CV$c9N2ZR9^9y&TG!C}VGKb95kKa&lpLCMf_TVKX;oG%`45H8?dfI5=ZvH!x#3GG;MkW;Qu9HD)zrHPiq(41@s}2|7A&aAk5~bZ>G!C}DDPVRFIy!G~WpZJ3Z*n|5D06gVIy!H2baG{3Z6+)rV{dMAbRc1Ja$$KUDF7p3W-(@AWi?`AG+|^kWMMZnF*!MAFkv@0F*h({H83@0*Z?^jgaH>EIy!G~WpZJ3Z*n0$C}VGKb95kKa&lpLCM+OhZ*FsRAYpQHVRmLV{dMAbRc1Ja$$KUEFfcVZgX@XVRCX|c_t|UBVjN$V`efnWiw_tFk?A5WH>lwFf=h`W;r-AGdVXlV=&wRIU0lk7cV+GZ*XODVRUbDJv}I6Z*FsRAYpQHVRMtBX<=+>dS!B7Y-w|JJXAg=DF7p3VmLQtG&410HDNR{F*Gn`HZWskGG#X~Gh}8tHfCaE-T*l*gaH>NIy!G~WpZJ3Z*o07C}VGKb95kKa&lpLCM+OhZ*FsRAaitNIy!b`V{~tFJXAg=DF7p3HDWVkHZe72G-6>mW@I-wFk(42HfAw5H83|YVl_21-~c%zgaH=0T&QDI%RTUb7d%FZ*FsRUukq@a$$6Dawz~KVKOo^I5}ZCWn?)tG&E*qH8NslF)(8^VPj%sWn(!oIOG614uk<0AUZl_a$$32C}VGKb97&6bY*g3bZ>GjAY*TCb97&6bY*g3bZ>Gg03%^HGBYzcI5;*iWH&NnIbkt2GBGnZWH2&0Gcz_eW@0kt0689n0T%>1I%aHPbaZ8IC@CN&03%^xGGQ_?IW;&pFf}$ZIbvjGF*RXfW?^MHH90t8GG$}v067Ba02u`)0Aw>TH)3UBF*jv5HZ(9}H8(dgHDoq7VPZI8H#awAH0l631B3w=0y;WyZ*X5?VPk73DF7p3W;r=zH!@{1Ib&sJI5cKAGd5&7F=RF}H)1q5VKHQ5>;O500T&25I&gAzZe=K9Z*OcVASM7KVP!QmIAdlpWMeWmVPs`CFgG(ZH8eP3Ffd^=Ibtz4HSPd82JQeE2_^tGW@9-qIAJk0F=1q3G%#Z~F*9T~I5jn4W-~A{F=I0D067PQ0T&%QI%REeY+++%C}VGKb97&6bY*g3bZ>GjAVG3xb08)rATBO0DF7p3G%+zSVmUT5I5uK4GcY+fVKOx}W-~T9G+|>fF=RAh@&Gv-gaH=~Iyz--aBN{?WnW@pV{0fua%XcOCMF;*E-onmBVlAQGdMG4F)}b^H)c3wIA&!vG-WV1WMN`4HZ)>nHe~bwISYgV7b!YAX>N06a&#zTZ*FsRUukq@a$$6Dax5T4Y-Md!d2nSWCM+O!VQh6}UuJA!XLBh4BVjQ&V>e|pG-5O}Gi6~oIWRXdI5uQrVlg*3IAb|vGdK1CIVXex7cn|IX>N06a&#zTZ*FsRUukq@a$$6Dax5ToX?kT}bSxl6Y-Md!d2nSWCM+O!VQh6}UuJA!XLBh4BVjc)VL4?sWj8c3Wi>T6WnnNkH8(S4GC5;1Gh<~pWM=pPIWL3(7b!YAX>N06a&#zTZ*FsRUukq@a$$6Dax5T8bY*fZAW3v(ax5TrVQh6}UuJA!XLBh4BVjf$VK8JfIbvpHI5#peV`XMCGi5O~HD)z6Ff?Q}G-Ub!IVXex7d1LMX>N06a&#zTZ*FsRUukq@a$$6Dax5TobYwa@X>MtBX<=+>dS!B7Y-w|JJVk6}ZB%)1Wj-w8fTk$`BVjROVP#`vHDon6IbmjEH840hI5ssmGB!6fVmLWBI5GSHIWvR-7a2M_aCLKNUt(cnYbZr*Wo=Y>aAhVYEFgAaY;|Q{W^7?+b148LVPZEiI5;&kH)1n2F=b{mVK+54Vl^~kI5TB5VlXvgGyVWM7lZ*9DLOiGWpHd^V`V5~Z*FsRUukq@a$$6Dax5T4Y-Md!d2nSWCM+O!VQh6}UuJA!XLBh4BVjW)VK`wjI5TB7V=-f5Wo2eJH8)~1Wi>f8I5}lyHe&z*IVXex7dkp)Z*FsRUukq@a$$6DasVS?WM*VDI5ROgWHU24Fkv?~W-vE1VK_5pWHM$lVPP^cgaH>iI%#xea$$6DasVS?HZox`I5amgV_`RAHDWL}GB7k`GG#J0V>vc6W;io5gaH=KSfAY*TCb94YBVKp{nF=Jw3FfcY`V`F1AVPrWuI5J{2IAJ(qGGt_9F$e)U2800@2s%1rWo~3BDIjBSZgX@1BVjc#Wj10kGcq_ZH8(aeW-~c6Fl8_@IWjY3Ibk?7VlWB;IR=CQ7XmsuWo~3BDF7p3WMO7GFgRi`V`DRAIAUXBF=b^rWn(#IV>d81WHK@{3;{U|0T~D&V{dMAbO1LuIAS$oI50P6W;Zi3Ic7IxWic=^GdE;6GiEY5V=@i_IR=CQ7YaH$W^Zy|Wnp7zC`NT|ViFk&z4qlIc76tGB9E|I5RmC0XYeT0T&QDI%aQjUu9uqXedT?Zeu1UDIjBSZgX@XCIBO0H)S|wWHDkhWHK=@W;J9mFf=$YWimHmGdMLhIXN_D6ahI76ag6#CIDhGVly{lGiEb3VPauqW-vK6GBhzUVKy*1WH(`BIA#_BIS+&Z7YI5!V_|S%V`+4GC@COgZ*FsR03%^AGGaG3Ghs1iW-~K4HaRk7H#lTrG%`6bGcaQ@HZd?50XYVQ0T&25I%REeba^N#AY*TCb94YBVKrnmGB;&mHezOEWMO16Ffuh|IWT23Gd440I5IM0V;TWD2800@2s%1#VR&D2X?kTSDIjBSZgX@1BVlDWHDNb4VPs@BWH&W7W@9&EVK`c6VKQT8GcYq|F*Y(aIc6XMIUj@p7Xmsub7*pDZfjq3Z(n9u)NIR=CQ7YI5!baHiWV_|ed81VK_KrF)%POW@b1uVKgu}G-fj<0XYVQ0T%)~I$?8PVRCX|c_=9WBVjo=VmCK3H#s(AIW{t3HZwJ4IAk?rH85p2V=yyfGhrwJIVb@c2q0r`ZgX@1I503bWMVlpVq|4vI5J~6V>dTBHZ^8uH!?6aHfAY-M3?C@BCVVPi2lI5}Z5V>DznFlIP3IWuNCH)Aq0Wo0rlWid5nHY@=-ECCq^AY*TCb94YSI5IFcI5IamI5J{2V`gS$H8D0eGGSz9V>4l8V=`hc0XYVQ0T%)~I$?8PWMOn=C@BCVVK+EoIb}CuF=R9}W;rlrVl_21Ff(N}G-NhpGcjc{VlV+YFaa3|AY*TCb94Y^V>4zrHe+EpHe)t0WMyPwGdX28Ib2}{Gd4D3Vq#%pGi72lGcY$bF)}eSVqrOAF*q~N2VDF7p3HDxwsWHmB0V>C51IA&yIGBGnTWMg7tGdN;6V>dQ7H~~300T~D&V{dMAbO1PJH8(RhWi&N7I59FXGi5V2GGb$5Vl*>lWH~S}IWsx|IR=CQ7XmsuVRK(;Zggd5WpXGf03%^EF=Q|^WHT{gHeq5hHaKEqG-5R{Ff=w}G-6_6H85s80XaMY83-U_Z*FsR05>@}H!))}Vl^@~H8)~6G-P2oGcYnaGBsi~HZnA2Wj+Bp2800@0y;Wjb6<0Ga%pa7C@BCVVKrnlWHVwlFfwIkGG#L}F)%k}VliYkI5J`~I5J~5H9!G5Kmi#DAY*TCb94YXG&3_dIA&%wIWaP2Ib%07GGa7jWo0okWHe%CGGt{!0XYVQ0T%)~I$?8PbYWs_Whf~CBVjo;IXE?BHa2BrWHe!7W;SCrI5IM0Vq`F6GBY_fI5I>5IYa>&2q0r`ZgX@1Wi&N4Gc;l~H#1~0Fk?4mGG#GiH8wIdF*P$bFgRv8MgchngaH=LN6H8f^pIb|?nVmD(sW@1PIIY2~2F=99~Hf1n3I5}iuFl1(7He_NnN&z_rgaH=_Iyz}{Utw}`VRY-M3?C@COgZ*FsR03%^yVr64yFkv+@VPP|6F*h}0V>LH4IAddGH!(0aGh{eW0XYVQ0T&25I%#uXWMOn=C@COgZ*FsR03%^HIWlBpGiGErF)%eTI5jjeH90ahWHe?uVPZ35VKHP<0XYVQ0T&25I%#uXWMOn=Uvz10Whf~iV{dMAbO0k^WjHi6W;HWmIW{mfW@0olW-&N5VL352F*ad0GGk(7Q~@~#gaH=_Iyz}{UuJA?VRUJ3XJ2q{X>N2VDIjBSZgX@1BVl4UH8^59Gi7CDVq{}7H!(3XHaIb6GBz|cFk)q8Ff&#GIR=CQ7ZEx-X>(s_Z*6a9Wo~6}b#o|gZ)9a(ba`-PDIjBSZgX@1BVji=VKHW9H#cK2Gh#C{WnnU6Ib=9wFkv_~Ib%69Wj0s=IS+&Z7ZW-(s_Z*6a9Wo~6}b#o|gZ)9a(ba`-PEFf-gWMwKQDF7p3Wi(|uI5uWEW@KVAGcY+YW;tOnVly`}Heoh1WjJDDS^+r`gaH>HIyz}{UubV_Z)at0Wp8zJC~j|LWnXl8aAhnYV{dMAbRceTWMwKQDIjBSZgX@1BVlAPFg7tTV=!egIA$<1H8D11WjQipHZn70V>DziW;I*^IUR%n7YI5!X>(s`Zggd5WpXGfAY*TCb94YBVK+ErVl**1FgZ6jFf%k`G&43dHa9e3GC4IkI5jn7G+qHY2800@2s%1xb6;+CZDM6|C@COgZ*FsR03%^xFf%kUG&Ey1I51)}WH@0oH!?S4Fk@z7W@TbyGBGq@0XYVQ0T&25I%#uXb98cPZf7VdAY*TCb94YBVP$1zWMnWgVKQT7GiEkoV`MjBWn*SxVq`NmGh{F}VqyU~2800@2s%1xb6<2}Vr*q7DIjBSZgX@1BVlAWWn?%xG-Wk3VPrF5VP$4EWH&ZBGh;F~VmLTAWI1F3IR=CQ7YI5!X>(t6X>DaFDIjBSZgX@1BVjURGG=2qFf}nUWH2~kW;bCuGc;i~WH2&gH)3WrFg9iZIR=CQ7YI5!X>(t8VQh6}C@COgZ*FsR03%^zV>L4~VK-)BF=b&jV>UQuV`VmGG-hRCHDY5lF*##s0XYVQ0T&25I&^t(Whf~iV{dMAbO0k^Gc__|HeoqAGBY(YF*ar}H!xx~WjQxFH#RmlGc`9cY5_S0gaH=_Iyzx=D069gWnXkD03%^#VPs`AWiVr5W??gCH8)~3I503}H!@;jVK_81VlicG0XYV20T~V;V{dMAbO1PEH90jmWim2hVKQVeW;A9wWj1DIVP-jEW@ct#H8pMlIShmW7XmsuVqs%zC@BCVVKiekIAmpEHDx$AIW=W8VmW3wWM(vGF=a6{H#0IYG;jeqZ~++zAY*TCb94Y>H#RjgV=-Z3HZWmkGGk#eV>e_qGG;I~H8?giIbt+&0XYVQ0T%)~I%aZjZgeOq03%^JV>dWBG&nIbIbkwkH!w3}F*P)0H)CRDF=073Gh{P#0XcL583-U_Z*FsR05xJ^Ght>iIAb<5H8eJ4VK!ztWHMo6Gh#JjH#cTBGK}}G-5V6VmLQBGI#+w26zD(4j^N1ZgX@1G&E#lH8443V`VmCH)1z8Wi>W4V>mK0VKq53Heq6AdI32MgaH=_Iyz@%bYEd}D069gWnXkD03%^FV=`tmHZn9cIXGitVL4?nWi&Q7VlZW5GG#e1G&W^?0XYVI0T~V;V{dMAbO2>EH)CNjV`DU9HZf&6G-hRFGcaLgVK*{kVK`(mHaLC(IShmW7YI5!Z*XODVRUbDTU{t~X?kT}bSVHMVK_B2Vqs)3GC4P6VKii8Wo0!tV>vfuVKQcAGch=2H-G^-27mz>4j^N1ZgX@1WjSUyGGQ@dI5#(DGGSvjHZw9eVKFr_WHmKmVL4+qf&n=UVgLX-I$?5hVR-;!Y+-YAbZ>2JUol@XVRCX|c`j&lZETkTBRV>4X>MfzBVl4PF=Jt4H90pqIAk|4WimBpWjQxtV>dK2GdDIfV`G;ABRV=`Z)|mKZU7@;F=JsiWH4l6G%#Z}IbVqr37Gc;i^H)J?sG&M6~IA$_tHez9BGGsS1V`hf|MFy7vBQQETZ*XODVRUbDAw4K#Z*FsRAaieZa${v*aBp*IbZKvHCM+OhZ*FsRAaieZa${v*aBp*IbZKvHCMf_TVL32nWn(yIVKFc8F*h+|WMVKkGl>C3E|&o#FgiMKaAk5~bZ>GzC}VGKb95kcZ*_8GWnXY_b7^#GZ*C?mAY*TCb95kcZ*_8GWnXY_b7^#GZ*C?j03%^HH!(LcG&wLbW@0fhGc+_cH90q7F=k{kVKOvjIAdgs0YxsC0V5|mI&W}ga$$6Day&dJb97`nI&X7ya%Ev{CM+OhZ*FsRAaieZa${v*aBp*IbZKvHCMf_TVKgveG-5I{V`F48Ghs3?HDNMiGBPGzJt$*uZgX@Xb8mHWV`X1(Z*ysMX>V>OEFfcVZgX@Xb8mHWV`X1(Z*ysMX>V>ODF7p3Vq!OBG&f^7H8VFfGcYk_V>CErH)AzsGi7BlV>dBjj{!w4mjNR%Iy!G~WpZJ3Z*o07C}VGKb95kcZ*_8GWnXY_b7^#GZ*C?mAY*TCb95kcZ*_8GWnXY_b7^#GZ*C?j03%^CHa0O~WMVinGGj0@IWc23Gcq`2Ib<*}Wi(G#Jt$*uZgX@Xb8mHWV`X1(Z*ysMX>V>OEFfcVZgX@Xb8mHWV`X1(Z*ysMX>V>ODF7p3F*GwcHf3dHVKy^jH!);oH#st5IAJ$6GG%2oWHe-El>tRAVgLX-I&*Jza${v*aBp*IbZKvH0CRM5bz^jNZ*6Q}F<&urZ*_8GWnW)#Z*ysMX>V>WXmo9CE&>-iI(A`fb!A^+a%TV|VPi2fF*Z0gFlI0|H!)&iVlp)_HDoa|HZ?aeWivK5FfIZYIy!b?Y;|Q{ba`-P03%^!I5%QAV>e}EG&VJ3G%_?|I5sh1Vqr35G-G5nH8M6X0v8TCI&W}ga$$6Day=+xZ*FsRAa-GFb!8?g03%^DGdVXiF=03|F*9N{WiUB8Gh#J0G&e9dH)dpIF=jWK0XYmV0v8E7I&W}ga$$6Day=+^VQh6}CMGEWBVjo;IAmcrVPR!6W@b4sFgY}3Gc-75Vq;}tVKiZ3HDsItIR`ER7YjN%Z*XODVRUbDJt%fzY;|Q{VRC0F03%^AI5{;iWMyV%WHDhiH8wagH8f;3IAk(6H8D41IX5$&0XYdS0v8QBI(A`fb!8|)a%XcOCMF;*E-onmBVl4UVPQC8VKXpdWHx1CWH)4DF=aVpVPs-vW-~cuGBTh6ISVcV7Y;f)c42IFWhi5BZgX@Xc42IFWhN;ABVjf&VPj=AWHUEoHe+TmIc8*IH8?qCW??mDFkvt`Fg2n9ISeiW7aKY{c42IFWhi5BZgX@Xc42IFWhN{jc42IFWnX4&VP|tG03%^GHDxwsIA&ooH#9XhWH>WnWHVu8VK6cotH)3NpG-0LzIR`ER7Zy4?c42IFWhi!GY;|QOCM+O!VQh6}UuJA!XLBh4BVjdWHfA+pI5T20WMeaCH8?afW;bSJHD+RCFl97mH94pOITS7e7ack}Z*XODVRUbDJUl3KbYwa@Z*z2VWnpb5EFfcVZgX@Xc42IFWhN;ABVlDRHZWmgI5IFaVKilAH8*5oV=`f6He)qmWnyABI5VmNIU6nl7aux0Z*XODVRUbDAw4K#Z*FsRAa-GFb!8?jAY*TCb95kfVQh6}JXAg=DF7p3I5#q7H8wS2WM*PxWHK-@W-?)7F=aC`Ff%qeIX5*ptN}S4E&>-BIy!G~WpZJ3Z*n{+V{dMAbRc$NY;|QOEFgAaY;|Q{VRC0F03%^BH#ae1VKXygWHMwlGBsi~G%{o`VmV|mWjQc7Ha29g0XY{g0v8!NI&W}ga$$6Day%$@VQh6}Utw}*EFfcVZgX@Xc42IFWhN;ABVjgTVr4KnIW#h2WHvA~HfCWtG+|_9VmUD}IW#adIWe#SITtPh7aux0Z*XODVRUbDJSbytZgX@Xc42IFWhN{jV{dMAbRc$NY;|QkR6Zst03%^HW@KYDW;i!yIb~xrWoBYHIW}WsGi5M2HaRpiGB{$g0XZEm0v8!NI&W}ga$$6Day&gKV{dMAbRc$NY;|QOEFgAaY;|Q{VRC0F03%^HWH2%{HZ@~5FgRm2HZx&nV>o6rWHK=@GBz_gH#9J`0XY{g0v8!NI&W}ga$$6Day&gKc42IFWnW=(XDlFNZ*FsRAa-GFb!8?g03%^CW-~WtHaTQ7Wi&T8V=!YfWin!6F*as4IWajnF*Rkj0XY{g0v8`TI&W}ga$$6Day&gKV{dMAbRc$NY;|QOEFfcVZgX@Xc42IFWjs_qCMf_TVPiI7W-&EpH92H8GdE;8HDobiW@R`yH)1g|Vm3K9Ww-%39WDYF89F*|aAk5~bZ>G!Jt$*uZgX@Xc42IFWhN{jc42IFWnW=(XDI+9VK8DjFl97mI5lNsVP-O8I5A~3VqrL9G%{gfHDhHnG`ayf7cK%9A38d3aAk5~bZ>G!Jt$*uZgX@Xc42IFWhN{jV{dMAbRc$NY;|QkR6Zst03%^CW??imHZd?TFf=!0Ff}q{Fk@q3GGj4jGiEk0FgP{50XZEm0v8!NI&W}ga$$6Day}?yZ*FsRAa-GFb!8?jAa-GFb!A^+a%U+3BVl7@IAbs{WivE2V>UTuWjQltHDoekWHMxCHaRpiG%&saITtPh7a2M_Z*XODVRUbDJ}7o!Y;|Q{VRC0IAY*TCb95kfVQh6}CMf_TVP-NgFlI7hWi&E3Gi78jIWjXhG&5#2VmUE5W;ixwHoyTn7cK%9A38d3aAk5~bZ>G#C}VGKb95kfVQh6}CM+OhZ*FsRAa-GFb!9wMJ|-yuBVl4WHDoY1VK-(pIAt_6Vqs-wVqs%qW;JFuFgG$dGdIEkIUOzn7a2M_Z*XODVRUbDK0PR7Z*FsRAa-GFb!8?jAa-GFb!A^+a%U+3BVjl&G%+_~H83?bFgG%0GB9K_VKzB9HDobjH#lKtGBLyfITtPh7a2M_Z*XODVRUbDK0PRQVQh6}Utw}*EFfcVZgX@Xc42IFWhN;ABVji(H)S$mV`MThWn^YBG+{9`G&wOiWHC21H!wD0VK&AAITtPh7aux0Z*XODVRUbDK0PR7Z*FsRAa-GFb!8?jAY*TCb95kfVQh6}JXAg=DF7p3FlAz7WnnlnF=RP7H8eJ4Wi(+_Iyz=-VP|tFDIjBSZgX@1BVjRNGBGnbFgRg1GC4OiIWb`{H)S?7H#s&pI5{_FV`9nyIR-8Q7Y#Z(W^7?+b0~IUY;|Q{W^7?+b148LVKg%_F*q_fFf}-2H#K5rVPP_3Ffn5@GdVS6FgY_gHOv7y3oZf|0y;Wjb6;U{a$$KWDF7p3HDxkpH8V3fVPj=AHaBHsH)3NqH8nUmHDWh8Gh;9@&H*{j0U8J(V{dMAbO2;GFflh~WI1JJV>dK6H8wOkHaRvhIW;z6IWlB6VbB3N1}*{@0y;Wjb6;X_Z){~@ZYU`LBVl4NHa9RfVrDirIA%0CHeohoGBjj1I5{z5Gc;l}HZ;-!Inn_c2q0r`ZgX@1GhsL}Ha9V3GdW^6H8VCdVqrI9GGa4kWHw?qHZ(M0)B!mLE&>+n|oWiT`~V>DthIbt?2Ic3%XIo1Ig2q0r`ZgX@1G%zwWH)Sz0IA$_tW@KVDGdMP7Wi&BjGGRD0Vl^^k*a0~PE&>+1}*{@0y;Wjb6;j`Z(($4Zf9R`Z)t9HC@BCVVPZKoIW#wBVKOr{Vlg%|V=*&0WH~Z5G%__XGc_N37XJv9IDF7p3F*h(~Ha25pWn?)qW@9oqI5uN4GGt~qWHdEqIA%99;sH700T~D&V{dMAbO2#vFkxe6Ffuk|W@0%oGcz2G&D3fV>o0rF=I10FgGz~H#uW5=m9wfE&>+lH!)>5Vq`KgV>3BnG-fw5H8(Zt0Xgac83-U_Z*FsR061bbV>4nfGGj9~H8MCiWjSIsHZx>mWic^hH!(LdW9$Jr1}*{@0y;Wjb6<36ZDlAa03%^EGchzUH8(LbI5IXiVmCA}IW;sjG-G37H#9S0GB;%I0Xgmg83-U_Z*FsR05>ue=BG&p84H)iqyIR-8Q7YI5!X>(s;a&lpLUvFk#bYWs_WpgMgAY*TCb94YBVKz25Ha9mmWnyMIG&ngiI5IV3HZ?djGcqzYGGk$4F!TXA1}*{@2s%1xb6;X_Z){~@ZYU`rV{dMAbO0k^HaIahV`MUBVqs-7HDxj}IXN(7Gh{V3F*amjH90k5_5nEtE&>+_Iyz}{Uu0o)Whf~iV{dMAbO0k^G&f~pV>vftG-5R|IXO9FI5A~nFf}t|G&M6}V>vN4_yIWvE&>+_Iyz}{Uu0o)WnXk@ZDlAaAY*TCb94YBVKHSmW@0vBGdE^7HD+dJIXPiAGcjRgWivEkVm4%AH2MKK1}*{@2s%1xb6;j`Z(($4Zf9R`Z)t9HC@COgZ*FsR03%^xHDWViVPiEnH)A$1Vlp&lGch$aFlIPnH(_LCHaTYe0XYUP0v8cFI%#uXXm4$AXJu|>Z*_AhZf|5|UvznJWho$IZ*FsR03%^GHfA$1WMVL8Wi(-7F<~|}W@ctFV`Vd9VmM-DF=b-@0XYvY0v8iHI%#uXXm4$AXJu|>Z*_AhZf|5|UvznJWh@|WZ)9aECMf_TVKp#0H#ssjH8we9G-WboH8?RjFgIjlHaRk3WoBhCG5`WO5iSB3A38c|b6;q0ZEt5~Ze?$Eb0}_aWMyA;d2nScAY*TCb95kXZ)9aECMh6eZ*FsR03%^EFl01kVKQcBFk~}1Gcq(aW@9rkWM*SFVK8PgH)di20y!Nn0v8B6I%#uXX>N37XJv9IDIjBSZgX@1BVlAUVlg;0G-EM1FkvueVlrf9Fg9gmG-G69Vlp*3VKf8+IR-8Q7YI5!X>(t0b!}p0awsVvV{dMAbO0k^WHc~gWHvNpIbk?vFfuhZWi>T0VL37~He_ODWHB-^1_C(-E&>+_Iyz}{UvqSFX>MmIDIjBSZgX@1BVjo>WHdK7VmD=FF*Pw{H)dltIAb(9WnnjCH8No{F*FDQIR-8Q7YI5!X>(t6VPb4$C@COgZ*FsR03%^EF*Z46WHLB3W;0UK7H)Jt1VKO)|GG#L~I5#*90yzdQ0v8B6I%#uXc42IFWhf~iV{dMAbO0k^HDoblIXF0BH#A{lHDfkqHe+FBIX5siI5{yeI5TE54gxs_E&>+_Iy!WDaAhbdAY*TCb94YBVKzBsWH4kjHDxknWi>f6Ic8;HGcz|eV`MfsIW{n5Vh{p31}*{@1UforWppShASM7KVP-ZkH(@w4G&f~6IWah5Gc{&oW@0fhWjJOxWHd85I1&Om0ulll1ttJ6Vl-u8H#jk3I5S~0V=*=~WM(onF)}%1Fl9G0Gc++20yzUN0v8H8I%j2cC@COgZ*FsRASM7KVKZScWn(#IVL3K1G-Nh7VqrO9Ibk$5IWjmlIA%CxI2Hmq2o?ev3nl<%Gh$*nHDxzpW;8Z3GGt|BF*Y+YIAS<5H(@p~I5}h(0yzmT0v8H8I&W}ga$$6Dav)=GZgX@Xc42IFWnXl8aAhVaDIjBSZgX@XCIBO0Wnp1AW-~Z7V>dN3Vq-UEF)?N^H#In9IALWoGBsj08Ui^8E&>+?Iy!G~WpZJ3Z*m}GZ*FsRAa-GFb!A_4d2nSWCMYQ&CMEzQVP$4HVq!NqGi5hpIAUQmH#ImjI5#vhVmD)EV>2-~I2-~w11GXc42IFWnXl8aAhVaDIg{QBVlA=W-v5jH8EyoVKQQ5V>4u7GdX5rW;QcpGBhw^Gh!YBIRY*M7X>;xZ*XODVRUbDAa-GFb!A_4d2nSWCMYQ&CMEzQVPrLAG+{AgI59Y6H!v_XVq-L8G%_+VIb~#KI5cErIUoW#11GhC@CN&03%^AH8f)}W@0xvHeobnH8wD0G+}09GB+?WIbvclVP$3_0yzRA0vQD+05&vXWH~fpF)%nbWo2Y!WieqnG-fd}W-u}^G&wkAG9&^y11GhC@COgZ*FsRASM7KVKFsjH8wIhHe@k3W-&2gG-Ne4H)UaDWMVTmGd4J8I3@x)2qpp<3nltGchwaWi~lCI5aq8VmLBkIW=N3HZ@`}Gh{SmDgrqw0vQM(V{dMAbO16lVPY|3H92BtG-YEnVq-BmVm4-BGiGCEGdVdiH!&;%IR;_?06IE$VQh6}0Ap-nb8~cWZERmLUom!JY;|QWXmo9CVgLX-I%#fmWpZ?7asYF5a&=>LbZ>2JUol@XX>N06a&%>KE@*UZY&ilUIyz)!W?^+~bYEs{VP|syBVlGSHZf)}VK!qoIW##mHDx$8Vlpu>Wo0-uV`4WrWjQ$lAt5?Cd0}mAUuJJ|ZDDkDWpXHEZ*FsRAarkSY&tq_Z)9aAEFflYa&2LBUuJA!XLBh4BVjNwI5}fvWHm82WI1LwHZ(D1WHB&fIAmmEHDWPiF)=X$LmxQ;At^dKd0}mAUuJJ|ZDDkDWpXHEZ*FsRAarkSY&tq{VRCb2Uvg!0b!>DdEFflYa&2LBUuJA!XLBh4BVjUSVl^;hG&wjkW;bPHGB#l}F*jmmW@Tn!V`VZkVrDY}Lnk=`As{+BZ*XODVRUbDJUl3KbYwa@Z*z2VWnpb5EFgJdZERm=Z*py6baZ8MCMf_TVKFdbFk?75GBq}3VlrW3G-Y8jVl-tkGiEqpWH@DJW;Fss9ytObAv!v5aAk5~bZ>GzJScN?WI8%;b98cLVQnTXAbDYJY+q(?a&2LBbY*fTCMf_TVKp#hG&VCfF*jmkV`4ToVL4-DW-u``IWRLaF=AviH#Y)9A7TIiIy!k_ZERm=Z*py6baZ8M0Ap-nb8~cWZERmLUom-MZERm(W^ZzBVRUq5axQ3eZEQgTAv!u@WoKz_03%^yGd5v0WMVNjGB7bXHZ)-|GiG8oGB{>4GchqaHe@hC0wFp&Wo~2uBVjN#G&wXdVl*;jV`exrGdVFfIX7ivGGaJ3IWRRdF=RmkAv!v6VRUE!BVjT%W@9olW;HiCWn^MFVP<16I59Y5FflV@HDO~lWH&(qAqYA;cWGp0UvOb`XecQlV{dMAbO0k^IAu98F)(9fG%{s4Gc;y7HDx(rF*0K{IXN&nV=-eeJpw}pK>{HqIy!G~WpZJ3Z*n|5D06gVIy!H2baG{3Z6+)rV{dMAbRctYb#h~6UvgzV>ODF7p3Ib>xxVPi5hVKy)~VPa%3IXGfsG%+_hH8L<}GdD9dKLSG|VgLX-I&*Jza${v*a%E>}Z*Bl{baHiLbaZcRY+o^7F>`Nqa${v*UvgzV>WXmo9C22@W?OkY7$Q$V>WXmo9CBWGbaV>B=~VK`e-CG&eLiW-&E0H#lTDGBPwdVPRxrWiT;0WmHd1OkYD!PDV*bUr0qkL`6~nXL4_Ka9>|zZ*FF3XLWL6bZKvHE@*UZY$Io3FgY?XG-hRDG+{GlW;Hc4G&V9bV=`i7Ff}q{V`XD7R8LJzUqwzqLQF+pModpZR53OHXL4_Ka9>|zZ*FF3XLWL6bZKvHE@*UZY$Io3H8x>lI599ZF*rFlHaIb1V>38oWny79GGQ|~Fk(43R8LJzUqwzqLQF+pMo&^rK~z*lQd0nDa&L8TUteQyZf0p`b#h^JX>V>WXmo9CBWGbbW@9%uH8?V4Ib>xwH)b_CWHMxAV>w}EF=jV3IAdW{Pfbi;MNUCNOhsQ%K~hsiQUGUiZ*_2AUt@1>W@%@2a$$67Z*DGVbZu-SXJIiiF*z|ZWH&WrG&V9cWMwvCVm3H6G-Wg~WH@0sH8NCBO-x@!PC-IUMPF4;QbkNfK~qIUUq(eiR8>+%QvhdjZ*_2AUt@1>W@%@2a$$67Z*DGVbZu-SXJIihF)(IkH)Jt5Ibk<9GdN;7F)%q~F)}b_H8wb6HeysyO-x@!PC-IUMPFA*PDD>vQ(r?*O;ABp0B3Sim2OkYJluVKic6VKX^1W;QTkH#lNsVKy`~VpLB}OkYJV>WXmo9CBWGb`W;HQ2Vq!O8HextqWj10lG-75rHe)zBHZfr~Gh<>@Pfbi;MOaWzQdC7mUsF^;R7pc$MpaHjR7p=x0B3SW@%@2a$$67Z*DGVbZu-SXJI%pF*#ypWH)6uH8nUlH8D0bI5lE6FfuY?GB{ykV=`1vO-x@&O;AilO+`*rK~zakP5@_eZ*_2AUt@1>W@%@2a$$67Z*DGVbZu-SXJIloWo0%wI5Rb2F=S+BW;tYHVP-QhF*RZ|VlX&iF)>t6O-x@;P*h1zPC-mxR9R3(0B3SV>WXmo9CBWGbTF<~<^HaKKqG%z_cIAJzoHDhLEI5{{oGB7tVHfA?ePfbi;Q%ylkOkYV(R9{qCP(=V|a&L8TUteQyZf0p`b#h^JX>V>WXmo9CBWGbSH!?D2VKQSiH)LTpGd3_|H)b+oVK6vjHZWx|VK^~NX<~9=a(N&_Z*FF3XLWL6bZKvH0B3SMd?crIvkZERfv9tb)*WMy+>a%pgMX>V>QDIjBSZgX@1BVjc)I5K59WHvTtIALKkW;SJJG&C|}Fkvt>WHmB4GGb23-OkBRV>7aAk5~bZ>GzJScN?WI8%;b98cLVQnTXAY*TCb95kZVRCb2UuAM~Z*nFn03%^JFgH0iI5#*rH#cH3VK6c{Gc`13HZ(J0Wj8W4V`es60ze^R0025VaA9(DWnX1-a&K|~V{Bn_b98TQY+o^7F>qmWb7fy&WpZ+FaxQ3eZES=BAs0G2Z*XODVRUbDJt$*uZgX@XaA9<4Ut@1=aBps9ZgeIo03%^xGcsW`Wo2eGGc;j1GdW{7GdDS9HDftpH#0P1Wi&Eg0z(yq0wEGQI&W}ga$$6Day=+;VRUF;V{dJ6Z*FC7bS5S#03%^CVL4_uIWS{0W;HZ9F*#ylWnwlqF*jr~H)LiwWMXDu0z(jl0wD-GI&W}ga$$6Day=+>X?kT}bSVHMVK`wiV>dA}IAmoxVq|4CV>D$kH!w3dVK_23W@RunFk%8j280435;{6>aAk5~bZ>G!D06gVIy!T7a%pa7Uv_C_cPRiPVK!zqWHvW6H(@n4VKOv0Fg7qaHZ?S6HaIdkF*amoGGqcn5QG9D6FNF?aAk5~bZ>G!D06gVIy!fAbaH8KXJ2+{Wp^n6BVjQ%VP!L6VKX>3F=jb9Ibk+oVK!xBH)J(tH#IXeW;SL5LlJ}mAp$x&aA9<4Ut@1=aBps9ZgeOq03%^HF)%VQV_{`sWM*PvIXE_9WMnorH#atBWMwxsVP<1!0z-rXAqYA;aA9<4Ut@1=aBps9ZgePfX?kT}bSVHMVP!ZqI5;#kG-NnsGB9OjWMpA8V>e?tWMwciFfuVQWNHFK280435;{6?VRUF;V{dJ6Z*FC7bSQIlWI8%?baH8KXJ2+{Wp^n6BVjOMG&5ylHa0adF)%hTWH&i5G-Ww5V`VrqIXN;iGcjxeLlA@lArm?}aA9<4Ut@1=aBps9ZgePfbYwa@cXM=dX>MmV`GF<~__Gi737W->QoI5IFZZURFQgaRQKIy!J+bZB2=Z*6dIZe?zCC}VGKb95kZVRUF;V{dJ6Z*FC7bS5bPBVjjUHf3ZoIbkw1H)3XDG&M72HaBHBG-EU{Ffd_cGcs@jLluMqArd+|aA9<4Ut@1=aBps9ZgePcVRUF;V{dJ6Z*FC7bS5S#03%^IH8C(UHZf#jWM*bzIW;(CFl1yiGc;ynG&C||W@a*S0z(jl0wD-GI&^t(Whf~iV{dMAbO0k^H90snIAk(5F=jJmG-WwuHaBEAGdMFfF*Y+ZF*0N|bOJ*LgaRP~Iy!!EVRUF;V{dJ6Z*FC7bSNnRBVjo(GBaXhGc+_}VrDQfF=k>lG&VLdG&wP3H8N#nGBI`nLxch$2s%1xZe(S6C@COgZ*FsR03%^xGGjF~FfueUVlp!@F)}kVGBGhZHeon7GB!76WHmT=0z(Fb0wD-GI&W}ga$$6Dav*bQdSzd9C@COgZ*FsR03%^AH#at9IX5;iHZV0XFk@w6VKOv1F=S$6W@ce9G-Wt?0z(Fb0wFFsI&W}ga$$6Dav?n^V{dMAbRckHbZB2=Z*6dIZe?zCCM+OhZ*FsRAaG%HXkTM*ZE$aHWo~pPDF7p3Hf3UEH)Jw0F=96|WoBkJFk(41H!x#4WjHrsVPQF8d;&u(gaRQhIy!G~WpZJ3Z*o07C}VGKb95kZVRUF;V{dJ6Z*FC7bS5kyV{dMAbRckHbZB2=Z*6dIZe?zCCMf_TVL4%CW-~D}W->H3WivEkHaRh4H)S_8H#K24GG;SmWPSoeEQA6f2s%1zWqBwmAY*TCb94YBVKOo@WH&ivI5}iCW@KhCH#KEBG&o^lGGRF}VP!KnHGl#`280432s%1%aAk5~bZ>GXV{dMAbRctdWI8%?baH8KXC^2qAY*TCb94YBVPQ6AFg0X1IAdioG&nFgGG#b5VPiLDHZ(Y8W-($mVS)lf2ABj9Ut@1=aBps9Zgc=&Ut@1=aBps9ZgehabZu-$0~ZcDI&W}ga$$6Day=+xZ*FsRAar43Y-J`X03%^zG-70CHDP3BIW=KpHDP99G&eF~Wic`_Ibt|sI5}j60yzvv0~ZN8I&W}ga$$6Day=+?VPb4$CMGEWBVjdTHD+WmWic^iVmLB5VPY~iG-YFBV>vctW@KbGF*%0W2Fkv?`W;ZxvHa9n6Gc}0NnVK_8oF*IT_Gm8Q_3`YYO2|7A-VPb4$D0E?BY-J`UDF7p3Vl+2lH#T8nGBh$_W??ZiW-(zmG-WkqGGb$7Wn?rojRH9bM*|lwIy!V=Vr*q7b97`nI%#fcbZKF1X?kUHUu?z3VQF$cDF7p3H)dpGH8Nu`VPP?1WHvWpWi~f6IA$<1IX5^rVq-F9j{-R?M*|lfIy!G~WpZJ3Z*n|5D06gVIy!H2baG{3Z6+)rV{dMAbRcwLVr*q5DF7p3Gh{enWoBh&V>vf4F*G+aWHMnhF*IQ`Gh}6AVK!tkkpejzM*|leIy!G~WpZJ3Z*n0$C}VGKb95kdVPb4$CM+OhZ*FsRAar43Y-J`X03%^yWMyJCWI1FxW@9olV=yx@V>dWuH8eD1HZeIiWnngx0y!E-0~Z`RI&W}ga$$6Day>mLV{dMAbRcwLVr*q5EFfcVZgX@XbYWs_WhN;ABVlGZWny7vWH>P}HDxtqWil{1I5{~oH#Rh8GGsL~G+~tjIT}X;7XmsuV{Bz%awsVPBVl1TF)(I0HDfh6IAJkjFfd~?F*!11F*P+aWMwpEWoDNGIY$E*3OYJva$$32C~0(Ma$$6Dawz~KVKHGjFgZ9hI5#$9V`OA7Ghtz2Ib|?rIXEyeVK_56W|;yx2uA}K5IQ<#a$$32C}VGKb97&6bY*g3bZ>Gg03%^EWMO7vG+|{iF*am5GGSz7IX5$9HD)q5W;i%7VL4=*0yz#x0~a7VI%RTUb7d%FZ*FsRUukq@a$$6Dax5TYZ*FsRUukq@a$$6Dawz~KVKq5sG-PBsWi&EkH#1{7V=-l8G&3Y1zIT1$#7YI5!aB_8SWhi2AZ)_dWqqXIbwqXHQTCIB%sVKq5rWn?!pFk&=hFflkZFl911FlIP1Vq!QqVl|}#IR{4r7ack}Wo>Y5VPj<|OJ#Xfd2nSWCM+OUVQh6}L2_qvASNatE-o%903%^EI5lK9H#Re4H8(h9H!(J1G-fg~VPax2WMVU8IX5+@0y!H;0~akiI%REeY+++%UubD=bSPtQZgX^BX>?_BVRUbDEFeo|c~p6DWhN#pAXZ^)b!9vlAVP#`AGB7z}HaTQ9G-NS3W-~B0Vly#fW2*u=BS!-l89F*?ZgXXFbSO!5WpXSaNpxj$EFgAaY;|Q{W^7?+b148LVKXx^WnwmDWiT{kIW=Q5W;ZrsW;QfsHfA_9WHe!9Hmw3V7e@mZB|183ZgXXFbYE|BUtx1|X=iRIOJ#Xfd2nSWCM+OUVQh6}RC#b^CMGN(c42IFWnX4&VP|tG03%^xF*Yz_H!)>oHezEoW@9!pIASq5Vl`wrVK`-GH8we~0y!f`0~b0vV{dMAbYE$7WpZJ3Z*l-5VKz8sWnnmDVL4(kFfll0IW{*nW@IxoHexwuG&M0YWk&-SIyz}|WpZJ3Z*l-5VK_HsFf}z|VPrHjHDon2GcsgjG&we7H8D6hGc#c{WJd!R0y;WkWoKz_C@BCVVKXx{W-v7{G%`13VlpseI5jgcGBq@2G-G5oWMpJ!GqVCYvjQ6kAY*TCb94YTGG;kBH8f=~GcY(eVm4+qIW}QsGBYwbGh$>jW3>V~21f%I2s%1rVr6G(ZYU`rV{dMAbO0k^F*RW|W;kMGHe@k5G-hLBWjQi6VKOvjHDWh2Vlif7w*ol^M*|lKIyz%zZe%DaAY*TCb94YBVKXr?G&M0YFga#9IWRdhF=b&gH8?UjV>U23F*h+ZX1M}621f%I0y;WnZe%Da03%^JHe_KoH#RjiV>M%8F*7k^W@TeCWiw+iH(_BiH#0E10y(<^83-U_Z*FsR05mXTH!@{7F=S;iWMMWoVmB~2Gh<<7F)=hWGGk&eHN65k21f%I3OYJwZ*pH{VPj}0Ms;puCMGE$CIBO0HaBKuGBjahH8Er~VqrLDHDxhmW;HZpHDNVmGcaLczXCZ3zXBNxCIDqMHDx$tGB-3~Ib}I!VmCQuF*Y}3IAk$lW@BMyIX1xpISEGt7Z5r+W^Zy|Wnp7zC`NT|VM$3Ze=K9Z*OcV03%^IWj8rDVKz83W@a*CVPj-5G-NkrH#9aeWn*MAH#jiK0yzXn0~ZoHI&W}ga$$6Da$8*}b97`nI&*Y#X>MmRaM*|laIyz%-ZggR3ZgVJebYwa@b98cPZf9S1X=QgQAY*TCb94YBVPRutHf3gEHf1+BHZ?LaF=jVmF)}zaW;Z!uI5=fxFw+7#7DodY89F*+Z*Fv9X>M~Ub97`nI(Kt)a%pa7Uv_C_cPSuaZ*FsR03%^HVr64EWHdE1H8WvkWnp7EF*r6hIAJ+vV>M%9HeoW=0y!5)0~ZoHI%a8ZWGHiVWI8%?baH8KXJ2+{Wp^n6BVjN&H)UgDIb=CzWHdE4GGsS7W;io5G%;o{V>UE1V=&hOIS|(Z85kgAZ*FsR05&yYI5{*lI5A>jVl`xBGGb&fFg7_bIWsY3WHL56GT8z-7DodY6FNF(X>MdFb97`nI(Kt)a%pa7Uv_C_cPRiPVPY|6F*0E|GB+|YGGsC{Wo0lpIW=ZvVL38kH8C+WW7`5b5!(V886abCZgX@1GBsv6W;9_qV>C85GB7kUWH&WpI599dH8x^oHa9kA-2yomM*|lUIy!7`cV%*4VsCYBWGHiVWI8%?baH8KXJ2+{Wp^n6BVl7>H8D6aWH4qkVliPiIA%08IW{t8GBh?}HDoz9Fg4!-IS}6h85kgAZ*FsR05f7XH#lKqHZWu`FgH0cGcY(}IW}fBWi>HmVKg!~G~og{7DodY6FNFMmoI5T84I5aRaIAvxvW;8Z7W;kRqWHU5oGch&g0y!5)0~ZK7I%REeba^N#AY*TCb94YBVKp^0W;8i9W;SLrWnyDFIWuBqF=AveGdDRjG&e9cG3Np~21f%I2s%1*X?kTSDIjBSZgX@1BVlAWV>B@^H8?diV`DfmH)3WsWj8o6W??sGVliSiWH#vnIR-}q7XmsuVRK($a&lpLC@BCVVKz52Vq{}sV>vl6Gh#PnVK6XbH8?plW;SFuW@R{KFzW(2>jD`FAY*TCb94Y^GGt_7H8^BrG%{j0I5J`|V>32kGBY+eWH~fAIW;%!0yzdp0~Z21I$?8PVsCG3Wnpe8DF7p3Fk@skG%+$}G%#Z_FfchYIW{ykFfuqaF*js4I5}fx?*cjR0vQM(V{dMAbO2&wGG;L{HeoO{IXF2mH#0CeGcYzaHa0S3W;tayGGg%pIR-}q7XmsuVRK((VRU6EDF7p3F=91lH!w0aWivQ8WnwWfW-&HoG-5MhH#Re5Vl^-^^8z{Z0vQM(V{dMAbO1FsH92NtHaImhG&wanHZ(XgH)c6GI5K59V>n}FF*5Z6IR-}q7XmsuVRK((VRU6*bZKp6C@BCVVK!kiGd3|dW;bLuWH~iuW;QoAV`VU7VlX*4WHLE7F!usE_W~IRAY*TCb94YQW@I%pW@BP7Gd5#0Gc_32nH8C_}Gh#I~WHn~{0y+Bv83-U_Z*FsR0AXe`FfwH`Wn^SHG-PHpV>2-~HZ^8uVlg#gWn?gBGW`NM21f%I0y;Wjb6;t0bY*8{awsVPBVjdSI5sjkF*Y(VVqr5hWoBVwW;bOsV>DuAW;r%DHDdn)IsXC~2q0r`ZgX@1IXGi7IW}cDVKy^0F*z_|VPZKqWjHuCV>mNrGBz|g0RuS(M*|lEIyzxMmIDF7p3VK`+oIWjO}W@a@uIb>yJGc#soIAt?5W@chGGd3|~0|Pk&0~-h+V{dMAbO2#uGcsi{Vm2^lHDWVjFk)soH8VLdH#TE9IbmaC1p_$-M*|lEIyzxn_sH(_IAF=jbtI5smlG-NY3H8?plW;J9pV+jK}21f%I0y;Wjb6<36ZDlAa03%^JI51{5F)=hbGcY)1F*!3bI5J{5W;J4FVP#}tGB`8~133!=83-U_Z*FsR05LgbGhtyiHD+WmIbt$qGd5&7I5sjjV>B}|HZwS4F%1Jb21f%I2s%1xb6;U{a$$KWDIjBSZgX@1BVjc*WHC54VKFykIAt<4VrF4EFlJ#kH8(hAH)1n5H!=?cIR-}q7YI5!X>(s;a&lpLUvFk#bYWs_WpgMgAY*TCb94YBVKp*kHe@trHa0h9G&VG0G&x~oG&wRjV>o4GGcjgmV-W*621f%I2s%1xb6;X_Z){~@ZYU`rV{dMAbO0k^HZWr}F*i45HDoj~F=H}jIAUcpFlI1fIXPlBI59Xm69YL0M*|lKIyz}{Uu0o)Whf~iV{dMAbO0k^GcYwWW;bFoVq;}CVPs@DWo9)nWnnirV>LN5GdN>36$3d2M*|lKIyz}{Uu0o)WnXk@ZDlAaAY*TCb94YBVKX>nI5K5sWjSOvW@9)xVl^=|Fl9AiVq|1xIWaOfWETTD21f%I2s%1xb6;j`Z(($4Zf9R`Z)t9HC@COgZ*FsR03%^GWnpGvVPY{jF=9AlWimE1GGaAjFf}zcIW#e5VmCG!133mq0~ZlGI%#uXXm4$AXJu|>Z*_AhZf|5|UvznJWho$IZ*FsR03%^yWiex8G%__aGh|~iFgRi|Fg7w|WimE4HZ(UeW?^9)133>z0~ZrII%#uXXm4$AXJu|>Z*_AhZf|5|UvznJWh@|WZ)9aECMf_TVP-L5GG;V5Wn^MvGht?7IWsmhV>3B2H90jnGcY(bHXQ>w5k~_TA38c|b6;q0ZEt5~Ze?$Eb0}_aWMyA;d2nScAY*TCb95kXZ)9aECMh6eZ*FsR03%^IVK8AhWHe0~ZK7I%#uXX>N37XJv9IDIjBSZgX@1BVjRNIASn0V>o1GGc+?}W@a)lVl+1~I5}i9FgZ9jGGZYEIR-}q7YI5!X>(t0b!}p0awsVvV{dMAbO0k^I5{&pGB7YOWjHx9I5s#nG%#i`H8C@0G-72mHDX~hBLg`GM*|lKIyz}{UvqSFX>MmIDIjBSZgX@1BVjgTW;JFrHa0dlFgZ9mF=I7jHezLBVK*>1Gc`6aG+`wJIR-}q7YI5!X>(t6VPb4$C@COgZ*FsR03%^CV`OGwF=k{lWjSOuV>UEnVl`wmFgQ73F=R9|G&E%=133mq0~ZK7I%#uXbZKp6C@COgZ*FsR03%^BW@9!qHDozAHDhHmVlX!|G&p53WjSUzFfuu0Fk>+(133mq0~ZK7I%#uXc42IFWhf~iV{dMAbO0k^VP!HhGGb;pFgQ6hHZf#mG&waiGchq_F=aF`Gc!0gD+4(OM*|lKIy!WDaAhbdAY*TCb94YBVK6gfF*PwYFg7(ZF*i11F*h+ZVmB~mVlXo`V`ODwFf9W)21f%I5;{6zbSQIlWI8%?baH8KXJ2+{Wp^n6BVlDRWivT4HD+UBIbtv}H#s#pIWsh2HDfR_HDfkoIXEu^IS?-c85kgAZ*FsR0ApcfW;ro6GiGCCV>K`_IbmdEGc`0aHZU|aW-~T9WibOe7DodY6FNF!bSQIlWI8%`b98cPZf9S1X=QgQ03%^#W;A3rGd4M6W;QfoH8wLcGGaM4W-(zgHD)(9F=I9}133{h0~#41V{dMAbO1OsGC5*qG-NPjGh}2jHDWk2Gc+_}H8(Y7V=`eeH8le{7e@mZ5;{6(WppTWbYwa@b98cPZf9S1X=QgQ03%^#HaIacWnnjCHaRk3V>dB4I50LjGi5R|HDfk5VP#}D133^k0~r_~V{dMAbO1CnVP;`vG-fw8FlIL~HDfk8VlZMjVPP;~H)UopH!(Q_ITl9)7ZW-|_V>UBnGdMM7I5;sdGBRUfVmUZCH#9V3Jp(xxM*|lUIyz@%bYEd}D06gVIy!T7a%pa7Uv_C_cPRiPVP;}EHZWs3Vlri6I50LgW;ro8WHK^jGc-6iH8?dfGd}}45I+MM7$9SBZgX@1VKOmdIWc8rGG$~mIASt1VrDitG-5Y4GG;I_V>UQ6K?6A!M*|lVIyz@%bYEd}D06gVIy!fAbaH8KXJ2+{Wp^n6BVjW#VrFAxF*z_}VmVEBW^7?+a{wb@G&M9aVKg>2GB`OjV`VrwGd5;6W-?4tiGdVJ0Vqs!AF=AyoNdrS4Q3D|LKAV=-o7WHL2oW@I>IW;r%uH#B8U14ABB10f+gI&W}ga$$6Day&dJb97`nI&X7ya%Ev{CM+Oob8l{6W^ZzBVRUq5awaAz03%^FWo2e%G-WkoVKy`{VlgsiVq!2kW@I%oF=b(5Gcz?$14AET0025VYIARHUuJJ|ZDDkDWpV&xY+-YAbZ>2JUol@XYIARHUteZ#a&2LBbY*fbXmo9CoC6gCIy!4*c_=9WBVl7XH#lWxWHVwkIAvonVKrkhG-fb3HZeG5G-P6BGBZ*GH=F|%BRV>3WqBxbbYwa@b98cPZf9S1X=QgTAaieZa${v*a%E>}Z*C?gDF7p3H8C+cW-&4{V=*;0I5%N3W-w+rF=8?|Fkv<_H)LfpR0B65oC6goIy!4*c_?#qWI8%?baH8KXJ2+{Wp^wfV{dMAbRctYb#h~6UvgzV>ODF7p3FgGzcWnwZmW;A3uV=-YgV=!i7IWjn9W@0d8HfA_6Rs%OCoC6ggIy!4*c_?#qWI8%?baH8KXC@{rAaieZa${v*a%E>}Z*C?gDF7p3H#j(AF=Aq6VP-ZnHe_RCV>DqmIA%CAGGb;iGBaf`SOYg6oC6glIy!4*c_?#qWI8%?baH8KXC@{rAY*TCb95kcZ*_8GWnXe-XK8P4CMf_TVPZHoW@a@xFlI6`GGsM3VmM|rHZw3eFflSYIAl0vVOj$>Bb);j9y&T}WqBxLZ*FsRAY*7@aw;q!b8mHWV`X1*WoKz`ZYCxv03%^JI5B25Wo0sEVq`cnGGsJ2WH4egG&f^4WM(xrW-&2b12-I;0~I4WI%{QlC}VGKb95kMXkl_HEFfcVZgX@Xb8mHWV`X1*WoKz`ZYC)JBVlAUW->NnGdD3eGG#L~VK`$qFl9J2IALTrIWaLeF)&^OHzAw@6(l-3Yh`&Tb97`nI(Kt)a%pa7Uv_C_cPt=tZ*_8GWnXe-XK8P4CMGEWBVjf-V`gP!H!(M3I5ammGht#gW@R>IV=-bkIWsn9VK-m{HzJ$^6)8G8Yh`&Tb97`nI(Kt)a%pa7Uv_C_cPt=dZ*FsRAaieZa${v*a%E>}Z*C?j03%^yVKQT4HaTQsIAdXDH)CRBHZV9jIbkqmWj8i4IAk+o12-p}0~H%OI&W}ga$$6Day&dJb97`nI&X7ya%Ev{CM+OhZ*FsRAZulLCMf_TVK+EsVmD!CV>UTuV`MitW;A9tWMyP9HZo>1W;bPFH)I1h8Jq(Z7&GYJt$*uZgX@XYh`&REFfcVZgX@XYh`&RDF7p3F)}qZWjQo3Ff=$}Gd40}WMMHeWo0rnFk&-iF=l3EW&<}CoC6geIy!G~WpZJ3Z*n0$C}VGKb95kUWqBqnAaitNIy!T7a%pa7Uv_C_cPRiPVKOvjVKQN2IX5{uVPZFCWn(rsIc73sVP!L6W@BS!GH3%g9Gn9c9y&U2aAk5~bZ>GYJt%W@WI8%?baH8KXJ2+{Wp^wfV{dMAbRcVGc_t|UBVjQ%HDWR_H8)}~F*GzYH85f^V=_50W@chAIW;yhGBRodHyoS;6&N}?Z*XODVRUbDJSbytZgX@XYh`&REFfcVZgX@XYh`&RDF7p3H(@qrG&y21Vq|7BWim4~W;ZoCI5aphVKiZ8WHn@BYy&qIoC6geIy!G~WpZJ3Z*n{+V{dMAbRcVGc_u6%b97`nI&*Y#X>MmMmx4Da053SoC6gYIy!G~WpZJ3Z*n|6C}VGKb95kUWqBqnAY*TCb95kUWqBqk03%^#GcYh>WidB5IWje3F*0H|Gc`6iWidH4V=*)|G+||O12-0&0~H=RI&W}ga$$6Day&gKV{dMAbRcVGc_u6%b97`nI&*Y#X>MmmE4W;kOsW;kIubOSdWoC6geIy!G~WpZJ3Z*n|6D06gVIy!T7a%pa7Uv_C_cPt=dZ*FsRAZulLCMf_TVK+E1WI16nGBzG!Jt$*uZgX@XYh`&REFfcVZgX@XYh`&RDF7p3VKHPjGd5vlFg7t^WHMtoWivBlHZnP7F)=b?VqrC9cmp>UoC6geIy!G~WpZJ3Z*o07C}VGKb95kUWqBqnAaitNIy!T7a%pa7Uv_C_cPRiPVKp>0Vlp>1Ha9soFf%wcVP-L7IALWrHaRddIb=6vWO@TP9Gn9c9y&U2aAk5~bZ>G!Jt%W@WI8%?baH8KXJ2+{Wp^wfV{dMAbRcVGc_t|UBVlD^G+{R}WMMdDFlJ_AH#KB9G&f;lGGj6}IW#z7F=KoKHyoS;6&N}?Z*XODVRUbDJ}6^vZgX@XYh`&REFfcVZgX@XYh`&RDF7p3Wi>HmV`eaBI5uKsWH4qnW;J7FGBji}GB#r{Vqs)segiiaoC6geIy!G~WpZJ3Z*o2;V{dMAbRcVGc_u6%b97`nI&*Y#X>MmMmqH8Ei_Wo0&GHZe9~VK6gcIAmowVl-kff&(`koC6gYIy!G~WpZJ3Z*o38C}VGKb95kUWqBqnAY*TCb95kUWqBqk03%^DV=^!>H8W;5WnpDGFlIS4HZ?OfVL3H2GBsv3GBRO=12-0&0~H=RI&W}ga$$6Day~sMV{dMAbRcVGc_u6%b97`nI&*Y#X>MmUN4G&wjoVTc1a9Gn9cIyz%-ZgX^BX>?_BVRUbD03%^DIAJq0WHm4`FgY_eF*!A1V=^!}Gi5X~I59RgH8C=r0~I?_BVRUbD03%^EFk>__Vq-HhGc!0dWMVZmIX5z5H8(XfVmV=CG-PC)0~H85I$~vKX>KSfAY*TCb94YBVPY{hIWajkHezKoW@cqEV>U1}WjJLvHeq9AV=^;0WsCzi2Al&G2s%1tZe%DaAY*TCb94YBVL4(mH(@a_Vl-i9W-(LK2H#BB5IXPxDIWaIWF)=k|WiU86W|9Lp2Al&G2s%1tZE$pXC@COgZ*FsR03%^CVqsx4IA$_7WMN}8VKFdaI5RRhH!wD4IWssmG%+`n12+bo0~H85I&5WbXLM*NDIjBSZgX@1BVjdWW??fjGB##mHa2E4Vr4NoFflhcH8(P0I5%N1Fff(_HwK&o6$m;yZ*XODVRUbDAaitNIy!T7a%pa7Uv_C_cPJ?!V{dMAbO0k^FlIG4FgP$aV=y>5G-Y8pGB9H`Gc#d1W;SIoW??xom;*NkoC6gIIy!T7awsVvV{dMAbO0k^Fk@jiH#ucEF*YzbF*Y(cW;ZxFHZ?XlGch{zb8mHWV`V5QAY*TCb94YBVPP{jIA&opG&5vjVmD+rVq{`8FgG(bH!x&kVKruCW1Ryy1{DMr5;{6zbYE~`bZ97ZbYwa@b98cPZf9S1X=QgQ03%^CFkvubW?^GEW-~E1G&waiG-P5mWI1JJVPrNiIc7PZ12_<$0~i<}V{dMAbO2*!H8o^1W@cqDV>2;gHeon5FgIpmF)}taG&D3~Wip`yI2IKI785!;VRT<`VRUFHV{dMAbRcwZZEQL^aA9<4CMf_TVP$4EIA%9AF)=wbF*ac^VK!tiVKy>mFlIMoIAk{zZ*XODVRUbDAZ~ADWnXq_Wp_MdZ*FsRAZ~ADWj-h=AY*TCb94YBVPiLBHaRyrV>dE1He@$uVP$1FV_`HnVPRxuV`XJFII9CV1{DMr0y;WxaAk5~bZ>GXZf|5|Uv_C_cRX%yWMw`mDF7p3Ff?R1Ffe2`Wn(!rG%{o|Wo0s9Gd474Ff}tVH#Ijitphj}1QruII&W}ga$$6Da$8*}V{dMAbRcwZZEQL^aA9<4CMf_TVK`$mGBGq|G&g22H8x>0VL4)BWMVcpWn^SGW??xuX0HP{5w8On86abCZgX@1GBP(dW-?=8V>vcsFgZ11G-Wh4G&N&kHDYCAWiVzru>&|46$BOnIyzxB~0Wi)1DW;JDEVq<1AG-f$4GGR6|H#fHfIJW~B2q0r`ZgX@1H)UiqG-5e4W-~cCIbtv~WMVWmW@I&GFgPY-M3?C@BCVVP#=CGi5b2WnwurV>V-AG&p23G%zqAY*TCb94YSHDqKnG&43bI51>oWnwchH!(6dGB-G8I59S5IAuA#12_g11Qr51I$?8PWMOn=C@BCVVPs=wIWlE8GcYzVIWsgdVq!66Gh;AeWieziGGj9~X1@bCzXKQuAY*TCb94Y>F*Ra2Vl-toVPP;eV_`NiHez98GdDIdFkxmgH)dnO12_g11Qr51I$?8PWMOn=Uvz10Whf~CBVlDRGcht{Ha1~nIW=ZuF=J*nVP!EgW;8fuFfcG;GGW65IKu-N2q0r`ZgX@1H)JN2VDF7p3HZf!~W-?M$kWo2Yx#{)RW0~iP(V{dMAbO1DCWnp16VKX^6W??rrV=*%{V>vJ~Wn(d8G&eUmVPVMwI0h9276LjtVRK(;Zggd5WpXGf03%^JWid1{Ib$T9W;Ho6V=^;iWX}UQ&jT0;AY*TCb94YSH)Az5VP-QpG%+-0WMVTiFgG=0GdDP5Gc+(YVrF5{12_g11Qr51I$?8PbYWs_Whf~CBVl7OV_`5kGd4J4I50FbHZd?TVKHT5Ff=k`VPj)qV`I|;IMV|d2q0r`ZgX@1VKFv0Wi(_sWHx0sWMVfsG+}0DWjHiBFl8|}IAb_s)dM&N6$BOnIyzxIV`bL^IM)Lh2q0r`ZgX@1H)UdGH#KB3IX5_AWie%8GcsghW@a>FFg7zXF*jv5*#kHR6$BOtIyz}{C@COgZ*FsR03%^AGi5PiVr4O5Fg7$WIW;q4H!(0ZW@R)mV>dH1F)=vX12_g11QrN7I%#uXVRCX|c_=9$V{dMAbO0k^V`F1wH#RjjVlZQ4Gc+(YIWb{3H8nIbGG=6DGG$~p-2*rV6$BOtIyz}{Utw}`VR>I~W?yt+Vr*q|C@COgZ*FsR03%^xFgY?dGhr|_Wo9!rF=1pfGc#p3F)%YQIA&vIHaRfg12_g11QrN7I%#uXVsCG3Wnpe8DIjBSZgX@1BVjZ$GG;e6HDqQtWo0llW??ZiGBq?|WMgDuGC5&oIAq}iI0h9276>{zX>(s>VRU6EDIjBSZgX@1BVjRPI5uWtFk)mlWim7|V>CB5I599dIXF0BH90dgGGXHbI0h9276>{zX>(s>VRU6*bZKp6C@COgZ*FsR03%^JFfe8}H8?ppHZo-}F=II~W@0sBFgIZ`V>o3wGB7gb12_g11QrN7I%#uXW^8X^bZKs9UvO_}ZgeOqAY*TCb94YBVPrUCWMVcrVKzBpWMeTiV`O1BWHe?sHa0V5H8(gkH|GO51{DMr6FNF+b6;q0ZEt5~Ze?$Eb0}_aWMyA;d2nScAZ~ADWhy2q03%^GIAmouH#ah6GBr76W-&4{V=ypcFkv}kH)1w3H8D2n12_>C1Qs7UI%#uXXm4$AXJu|>Z*_AhZf|5|UvznJWh@|LZ*FsRAZ~ADWhy2qAY*TCb94YBVK_51Wic>iV`VWpWH2;hG-Nk7G-NeqGBPw|H85g0X6pku9Tfx?5jr|)b6;q0ZEt5~Ze?$Eb0}_aWMyA;d2nSZAY*TCb94YBVKrnqF*z}0V>L82Wn*MzWHVx8IA%9DFg9a0Gi799WbFeu4;2I!2s%1xb6;q0ZEt5~Ze?$Eb0{ewV{dMAbO0k^H)JwmH#0UcVKQZ5G&C|eGB`OfWie!BWHV$lIW#t5?*ljn6$BOtIyz}{UukZ1WoKn_C@COgZ*FsR03%^zH8VLdVPiHlW-u{0IW#wAWMelqI509{H8V9ZHDNXJ12_g11QrN7I%#uXZgp*9WpXGfAY*TCb94YBVP<1vGBz_}Wi~KlGc#f{W;rr8G&W*2V`gD6H#0diW%C0#1{DMr2s%1xb6<0Ga%pa7C@COgZ*FsR03%^xIW;jjFf=$fF*Y(~I5addGC43aF*r0bWH@0tH8?Q!12_g11QrN7I%#uXbYWs_Whf~iV{dMAbO0k^H85c^H83$@W;bOtGGZ`hVPY^gFfuSUWMpMGVL3Tv_X9Wv6$BOtIyz}{Uvz10Whf~iV{dMAbO0k^IWjgjV>2``V`F1EG-5L|G&wggG-Ww4VrDTiWHd5l`2#ox6$BOtIyz}{Uv^<^b!8|iAY*TCb94YBVP#}wW;tbLVq#=8Wn*PGIXPuDHa9h8GGsYqH92K8VfzC(1{DMr2s%1+d2nSYDIjBSZgX@1BVjQxW-~ZBFf%n{Wic~hVq!2bVKFf|F*7wdVP-ZnGc^4JI0h9276dvva%E;HDIg{QBVjc-W@KeFFlA;iVlg)|WHUBmW->W5V=^@{Vlp)`Gcf-HI0F9z7zHK(V_`NmF=aPqWjAIsH#cTwIW;(9GB7qbIAkz5Wo9un0R%V$6$BOvIy!P?W+*8jV{dMAbRZ@GBVjo=IW%QtH8*5AH8Ny4GC4D4WHT~1IAJj{Wi>QoVKM^*I0yp-84D%=GdE#oGC5>pF*RjoIAt+mW;Z!CFl0G0H8V6ZV`DP~1ULy51QrN7I(A`fb!8|iAY*TCb94YBVK8DhF*jr}Gd5y4VK`zoW-&A}VKp`|H8x>2H!x;pWCsK|1{DMr2s%1;VQh6}UuAeVQh6}UvF|KR3;`VAY*TCb94YBVPr95Gcz(_Wi&7|W?^JyIWRIYHa9XhF)%eWF*#*sV+#a02^9nu3OYJ=X>)0GC`NT|V=$?b#7xOCMh6eZ*FsRASM7KVPrI6G%{s1FlIS2Gh#4iWie%DW@a#9Ha9UjWMN`CFcAbe4iN+x5heg*GdMS6VlXr@F)?9eWMeR6GC472V`OADW->WBHa0dB1UL_30025VZf|5|0Ap-nb8~cWZERmLUomcPWMwXBbZu;y1QrN7I%REeba^N#AY*TCb94YBVP-NiV=*x^GBjp0He_KqGB;#2GBq}0IWRP2Hf1z2F%|?k2ABjE2s%1%aAk5~bZ>GXVsCG3C@COgZ*FsR03%^zG&nM4Fk&zlW-~Z4HZwRmG-NbnVPR!99t1d;1QrrHI&fihXee`ZWI8%?baH8KXJ2+{Wp^n6BVl1;V>B~lIWsUdHe)w6Ib<_9IWRaiVly&1Gc{#nGGQPDI1rcw785!;aA9<4D06gVIy!fAbaH8KXJ2+{Wp^n6BVjaVGc+(|GdE*qVly&hVKHW8W@Tb#GBjm1VmLH1Vl*NII1!ix77aQ&aA9<4C}VGKb95kZVRUFFDF7p3Gh#6^Fk~}fGBsl|W;0`9W@cexVL3Q7Wn*SBIbvjEBm_7Mm;@FGIy!J+bZ97WVRUFFCMf_TVKibkH831H8*84WHm53WHB{1GiEepWi>N2GA0B#2ABjE2s%1*X?kTSDIjBSZgX@1BVjQzIbtz2GdX2uI5;q3IX5&mIA$_7VPiEjH8VIdGB79vI0l#m76LjtesE!QXecQFBVlAUI5lE7Gh|{pH!?6XWinzkI5aU~HZ(UkGcYtZWi=`UIG6+$4LUkuaByXAWGG{AZgX@XaA9<4CMf_TVKOo_Wie(qG-G2oH#ajgH8e0bGGsMmHaTTuFkv|`Wh?|Z3z!5J2s%1paByXAWGHZ9bZ90fDF7p3Fg0W~GC46hW@BSvGGj7jFf}+~H8N#1W@R>IFgIp6E(ACRm;@FQIyzx+aAj^}D06gVIy!T7a%pa7Uv_C_cPRiPVPs@8WHn5SRoO6FNF!aByXAWGHiVWI8%`b98cPZf9S1X=QgQ03%^#G-72qH8W&kVK+8pWj8W3G&DA5IALKjVrFJEVlZYh1UM0x1QrcCI&W}ga$$6Daw|P3V{dMAbRckHbZ90i03%^xVq-ZnF*9W{HexYkVmD+sH)djHV>K`|WivT8IW=Z91UL(r1QrN7I&W}ga$$6Daw|P3aA9<4CMGEWBVjaUWnpDxFg0d0Ib$+nIWRFdVr6DBGcY$bG-fk5H#ar}I0l#m77{u-Z*XODVRUbDD?KQ4bYwa@b98cPZf9S1X=QgQ03%^HF)%naVL3H9WjHf7I5#*qGiEn3VP$4!WiT^gGBh$c1UL|w1QruII&W}ga$$6Daw|P3b97`nI(Kt)a%pa7Uv_C_cPRiPVK_51W;bSKGh$|9H#cKpF*#;oV`FADGdVP4G-5M2F**b|5tsxP4LUkub8~5DZYX1KZgX@XaA9<4CMf_TVK-x9I5B28IX5?CG&DImWH4ehWidBlV=_55HDhFBV>|>n3z!5J2s%1pb8~5DZYXeJbZ90fDF7p3Wiv4`FlIS0W??WeGGbyfWHm4}Heoe4H8?RbVKp~qJ_I-hm;@FQIyzxouVKg#gHZn3|VrDinGh{V5GdVY8VKhVpI188r76>{zZ*XODVRUbDJt%NtbZ90fDF7p3HZw3cH8C|ZF*7(bWH&H3GGR41Fkv}jIAt+qGiEeqMg%wpm;@FQIy!G~WpZJ3Z*n~-b97`nI&*Y#X>MmH(@X}W;HfBNCY?#m;@FRIy!G~WpZJ3Z*n~-b97`nI(Kt)a%pa7Uv_C_cPRiPVKp#iWH~o7GBaXfVPs=sW->NrG-EO|F)=eaG-EI{VoC%!5tsxP8ag^}aAk5~bZ>GiC}VGKb95kZVRUFFEFfcVZgX@XaA9<4CMf_TVK_B8HDotAHDWU{Hf1tpV=y#jGBPzcV`XDxGGSpiV@w1%7?=bWA38d3aAk5~bZ>GiC}VGKb95kZVRUFFEFg1qWI8%?baH8KXJ2+{Wp^n6BVl1TH8NykVl^-@V`MaDVK!xEWi&B4H8M6fI5je1WMNJOI31V-79Tn~Z*XODVRUbDD=2exWI8%?baH8KXJ2+{Wp^wfV{dMAbRckHbZ90i03%^CGdN~5VKHPeG&eXhHD)w5IW{*jI5{{oW@a>HWnnT<1UMa-1QsAVI&W}ga$$6Daw{lfZ*FsRAaG%HXeKNmb97`nI(Kt)a%pa7Uv_C_cPRiPVP-aCVlZMcFgQ6iW;HV~IAt+nFfw6fV>U21V`4R7Fj53K9+(6cAUZm4aAk5~bZ>GiD06gVIy!fAbaH8KXJ2+{Wp^wfV{dMAbRckHbZ90i03%^#G-ER`V=*{3V>B^1Wn?sEH)AL1{GC4CaGdVOgVl*{jW;ifnI5A;lH#RmgW-wwoS_C*9m;@FeIy!G~WpZJ3Z*n0$C}VGKb95kZVRUFFEFg1qWI8%`b98cPZf9S1X=QgQ03%^GF*Pw}F*YmLV{dMAbRckHbZ90lAaitNIy!T7a%pa7Uv_C_cPRiPVK_BrFkvt;F)?K_VmL5jWnyJAIb<|rWiT)}HDxqmHev)g9hd|bA38d3aAk5~bZ>G!Jt%W@WI8%?baH8KXJ2+{Wp^wfV{dMAbRckHbZ90i03%^zVPQ2lWjQf9GB-42W-&J~VKg#kVmUB2W@R#BHDNSl1UMa-1QsAVI&W}ga$$6Day>mLV{dMAbRckHbZ90lAaitNIy!fAbaH8KXJ2+{Wp^n6BVjldW5V`gSFH#9IdFgRr}Gc+?XH8^GjI3Ab;79cu0Z*XODVRUbDJv}IMbYwa@cXM=dX>Mm?_BVRUbD03%^xWn?okWn*GAGc;p1G&E#mGch(WG%{j0G&Es0VKq6J1Qt3vX>?_BVRUbD03%^!H#IV3I5;ynGBPn^F*iA3W;rusIW%NAVK-%DGh{ND1Qr51I$~vKX>KSf03%^EWHdBkF)=nZV=!VhWMeU6Gch+YWMVlrGGaA0VP<4(1UPI27ziL^Z*FsR0Ax2cH(@k2F=S*mIWRJ2GB#m2WHMo7Gh;JmF*PwcG;Rbq2ABjE2s%1rVr6G(ZYU`rV{dMAbO0k^WMeloWnnZkWo0xqG%_$WF=I72F*r6hIWcB7HZ^59a0EC8m;@FGIyz%zZe%DaAY*TCb94YBVPR!8W@ck#Wi@4FW@2SHVP!KjV_{@rW@KSwGc;mmVR8gG2ABjE0y;WnZe%Da03%^II5cHsFg0N@W;9`BGGQ`gG-hQvF*7q|VmC5jGdVGI1UPgA7ziL^Z*FsR0Ayq^WMX7tFfe2@H)An4GdN;3HDqNsGiEa}V=`o8Hg*I!2ABjE4LUk-a%FI3Ze%E9Z*FsRAaG%HXeKEDBVl7^GiEqtVq-WsGBPnXH90UaG&f~1W@I^IVKz58WiogKI188r76>{zaB^jEWo~3BaA9<4CMGEWBVl7OWnnZnF*9K}V`VcjF*Z3lGB`A3GBP(cGhsP4He-4OI0l#m77{u-aB^jEWo~3Bb97`nI&*Y#X>MmV>DzmGBGzcFg7z}WH(`CFgRg;1UM0x1QrN7I&W}ga$$6Dav*bbWI8%?baH8KXDBHkV{dMAbO0k^G&p5AI5amhGC4UmIb}I9GB`CgV>dBjIAb+AV=y^1fCM-Om;@FGIy!G~WpZJ3Z*m}WbYwa@cXM=dX>MmIDIjBSZgX@1BVl7VH(@wrW@ckyH#lNsGcY+ZVmD-BF)}kaGdD0fH)4VWI0l#m76>{zb98bjDIjBSZgX@1BVjmXH!x&3FgIgjWHUHsW@9ijW@BPAVm4+tF)%hcW?_T`I0l#m76>{zcWGp0UvqSFC@COgZ*FsR03%^AVK_20Ff%k_FlA;iIAdZmWi&ZAVP-NhI5jw7H8(Vd1ULqm1Qr}RI&W}ga$$6Day&dJb97`nI&X7ya%Ev{CM+OhZ*FsRAaG%HXeKEDBVjORF*##4IA&orGht#kH8nIaW-?`BW->T1I5=WtHaLg`I2xD)76LjtV{Bz%awsVPBVjQxIbkqlI5IdhIXN&iV`MNmFgPF5cIG6+$4mvt)WnpG0b7^{IUvw!TV{dMAbO0k^V`VU5FgG@1IW}fuFk&<|I5Ie7Wi@0pW;HosWMwsEj089gm;@FGIy!J+a%FCGC@COgZ*FsR03%^AWoBYBI5#jiV>B~1HZ(XfV_`OBH8eS6F=R6_VK+FA1ULqm1QsSbI&*bmaA9<4C}VGKb97&6bY*g3bZ>GjAY*TCb97&6bY*g3bZ>GgAY*TCb94YBVP<1BW;ZlBG-F{jV`MU6H8(UiF*#&6W@chAI51;mGmr#0B$xyi7CJg}bz*Q~bZ97ZX?kT}bSxlqX?kT}bSWTXZ*FsR03%^xH)S?5I5Rh9V>mNrIbkMDdCMf_TVK6l~VmCHsGdX5rHDNh7F*P_fH8VJ7GGsI`IXGfrHJt=O4(9|P0y;W=aA9(DWnXe-b9HQVC@BCVVPrXFGBRc`IXE>mVP-UAGd4IjFl06{WiVqfW->KmF`ooM=L8=lIy!G~WpZJ3Z*n|5D06gVIy!H2baG{3Z6+)rV{dMAbRckHa&u*0a%FRMY;-0m03%^!G-Y97IAmipV`DKiG+{Y0GGR6|WI1LzH8V3YH8(P$1VJL_1Rn%CI%RTlZ*nLpASM7KVP$4wVmV=9W@KhCFlJ#fVPiQrIXN~mWHK^kF*0Q~IHLqX0;2>W1ttJuFgH0dG%_+cW;tdzG&43fGB{&7Ib>!uH8f^1H#cOZ1VIDm1Rn}II%RTlZ*nLpAY*TCb95jk03%^JVKq52Ibtv|WM(;GH)c0xIXE_AI5aacV`XM!GGaKV1VISr1Rn@GI&W}ga$$6Dav)=GZgX@XaA9(DWnX1-a&K}bC@COgZ*FsR03%^EGh}8qG-WU{G&D0}GGSt7WI1FqV>mWrHDxqoGcaMP1VIMp1RnxAI&W}ga$$6Dav*SFa&u*0WpZ+FawaG#03%^yV>n?pIWuEoH8VIgG%;c|IX5(AW@a-uV>dB2Ha0n{1VQHn9|Af$Z*XODVRUbDAaG%Fb7fy;a&m8SCMGB;03%^JW;ZZlVKz23WH>ZoVP-XEIWsn7WHL8qHe)$8V>Dr{1VQHnA38c?Z*FsRUukq@a$$6DasVS?VrDrqW@chEIAbwpG-NPlF)}%3G%zzVH!wJ4G+|;e=L8=*I%#xea$$6DasVS?VP!QiGh;C^WjSU!F*Y(}Wi?}BWo9*HGGjSrG&nXh=L8=DIyz!yXK8LIDF7p3GiEk4F=aV4GG;L~F*syqW?^JDW@BSFWMeTiI5{(9u>?V}1R)3@V{dMAbO1RqFlI3`IWse1Ff}wcVKO-~Ff=eUGB`IlGC4OmF=n#_K?dgp9|$@+V`61zX>KSfAY*TCb94YBVP-WrGBGk_IAJq3H)SMmMmiVl_9%1VI<)1RoPRI&W}ga$$6Da$8*}V{dMAbRcwZZEQL^aA9<4CMf_TVKO;kW;kVJGBsv0Vq!8eGB!41Ib>uqFfcS@GdN~4W61Ve`CVl`tiWHDtlHZ?djWjQcnW6cCX5X}T37$9SBZgX@1F=RP0GB7tWIX7c6GG;S5Heq98VKrnlHaR&pWH@1B&jdjh=L8=UIy!G~WpZJ3Z*p5*D06gVIy!fAbaH8KXJ2+{Wp^n6BVjf-W;HcoW;i!EGGs9}Fk~?_Ffuk_W-~c7Vlp{3G-A;NK@rgeAsHZJZ*FsR05CE&HZ?P3GB+|XWHC25I5adiF*q?aVP!KkH#0LfH`4?`7v}^Y2s%1uVQFk-WGE>hV{dMAbO0k^IWRdlVq-NmGB7YVH8VG6I5aReFfwChV_`5bWjQ%w)dWEX=L8=JIy!G~WpZJ3Z*m}FZ*OcUDIjBSZgX@1BVlGXHf3QqIAJzqWH>l6H8L?{WjHo9VKX-}GC4S9F*4T#K?dgp9|$@+b9G~5Wo2Y#WGE>hV{dMAbO0k^Vl`rBV`MgEWHUH5FfleWIW;gcIbvisIbmcsIAJqm*#tob=L8=JIy!G~WpZJ3Z*m}GZ*FsRAarkSY&tr0VPb4$CMYQ&V{dMAbO0k^Ib<+3IWjmoWn^JyHe)wtVmC24F*af{F<~-hIb%6y+XO)d=L8=DIy!G~WpZJ3Z*m}XZ*6QkI&@)TY-J`WDF7p3HDxh0Wim2kG-Nh7Vlp>lF)=qWF<~<^F*#&oHezNu-2_4B1RnxAI&W}ga$$6Dav*eXZEQL^bYWs_WhN#lDF7p3IAmjCF*YzTI5;*rH8f%~IAS?DVKiYhW;tVGH#cK6-vmMD1Rn%CI&@)TY-K1ZASM7KVKg^nGG$?8GB9CfIb<<5I59FYFk?0|Gch?~HeoR~GT{V40^tN91ttJDH)1q5Fk&_~WMnijF<~%aIWjpgFg9dlH#j(AI5;xn1VIDm1Rn}II&@)TY-K1ZAY*TCb95jk03%^JIWuN8WHmWsG-5F@W;i!7GdN~AVPax9VKFvjH8Eu61VIR50025VaA9(DWnXe-b9HQV0Ap-nb8~cWZERmLUomiDa&u*0Uvg!0b!>DlXmo9CTLm0CI(BJgcV%Q>ba`-P03%^BH8n71G-Wk6H8V11WH2*gHe)koIb=9DI50J1Ff(CW1sowdI&W}ga$$6Day&dJb97`nI&X7ya%Ev{CM+OhZ*FsRAZ~ADWnXq_Wp^ei03%^BH!v|UIc6|oH#ayqIA%38Vlrl9WMVjGWo0m7VmUDB1U?^I1sn)EI&N=dWhf~iV{dMAbO0k^W@0olVqrFBWMpJ!Vl*%}Vq`NnVm3K9VKgu|GBh@1>jXXqTLl~fIy!D|WMyA=X=QgPDF7p3Fl0DlW;HP}WMVNfVm3E0I5A>nVKX&jGBss1V_`XE?F2qs1so1KI&N=dWnXq_Wp^lcX=Qh1WM6c7aAhhf03%^BIXPotFk>(=WimHmH#A~0VPrOBVr4ZoG%+zVW@0$+1U?K~1so1KI&N=dWnXq_Wp^lcX=Qh1WM6c7aAhVb03%^$G%#ajWH>o6GG#b1WivH2VP-TmVK6f@W-v8mHaIfz1U?K~1soDOI&N=dWnXq_Wp^lJZ*FsRAZ~ADWnXq_Wp^ei03%^GW-?(kV=*~7GBYDu7I5#jbW;8TmWM*PGWH$8#J_}m~90)o(Z*XODVRUbDAYyNCY$z!pV{dMAbO0k^VmM`GFlJ_BVmUcEHZU<^Ibtv}G&f@~IXPirIWjdc_XIu$TLl~xIy!G~WpZJ3Z*n~-V{dMAbRceTWMyA=X=QgNDIg{QBVlG?G&MD2Ff%hZVK!!EG-NSjVKp-|Wic=}H85gfIc50-J`!6691l7=Z*XODVRUbDJt%H(WMyA=X=QgNCMh5$03%^DWMnuoIW=W7IX5w7Vq!8eF)(5{F)}weGh=3EF*7#%1U?O01so?jI&W}ga$$6Dav?n^V{dMAbRceTWMyA=X=QgNEFfcVZgX@XZf|5|Uv_C_cRW-+CMf_TVKZc7I5J{6H8?amWH)6tVq`cuVl^~5HfCixHezLAVf_R?C0hj?CptQBaAk5~bZ>G!Jt$*uZgX@XZf|5|Uv_C_cP1<#V{dMAbRceTWMyA=X=QgjR6Zst03%^BIWaggFk~<@FfcPUWHmN4W@RurW;JDEGBq(`IWjl@1U@BO1sotcI&W}ga$$6Day>mLV{dMAbRceTWMyA=X=QgNEFfcVZgX@XbYWs_WhN;ABVji+G-708VK+E9HaTHtWj11CV`4O7H8Eu{VK+BrG&KPQJ|0^I93VP6Z*XODVRUbDJv}I6Z*FsRAZ~ADWnXq_Wp^elAY*TCb95kKa&lpLCMf_TVKZVgIbmgFVqs)qHZn3XVKikkI5jt7FlI0^Gc`CgGXn)a9$N(*DLOiDaAk5~bZ>G!Jt$*uZgX@XZf|5|Uv_C_cP1<#V{dMAbRcwZZEQL^c42IFWjs_qCMf_TVPrXGWH~lCGB##oWo0xoV`MR9VKHN4W;SIqGGjP7H3bDeCtC#^96CC0aAk5~bZ>G!Jt$*uZgX@XZf|5|Uv_C_cP1<#V{dMAbRbkFDF7p3G-P67Gi78qGc`6hFf=wcIb}34H#KHqH)A+vHDfb02L(PFTLm05Iy!G~WpZJ3Z*o07C}VGKb95kXZ)9a(c4=jICM+OhZ*FsRAaitNIyz}?X>@5}Y-xIBa$js|b96jZJ|-yuBVl4?I5IY4IX7l9Vl*`|Wo0rrH)UgHGdE^5HZ?IfW?~5iJ~3Mb94R_FZ*XODVRUbDJv}I6Z*FsRAZ~ADWnXq_Wp^elAY*TCb95kcbYwa@c4cF9Z*n|TJ|-yuBVlATVl*){G-fz3Gc#j1IAt|7F)(H~FfnB{VP!XEGcXGUJ||lR92hz}VRT<`VRUFHb97`nI&*Y#X>MmL80GG<~oH)1s~Wo9xmFgZA7F*js1W;r!BWHk*1J{DUA92q(~VRT<`VRUFHV{dMAbRcwZZEQL^aA9<4CMh6eZ*FsR03%^yGB!11HfAt0Ff=waH)3OCI50OfVPr5kF=jGiW-&Jp1wI#B1soYVI$?BQaA9<4D06gVIy!fAbaH8KXJ2+{Wp^ncV{dMAbO0k^F*P@1F=b(9VmD%BW;kXuGc!3jF)%hTF*jr}Vlpse5d}UMTLl~#Iy!G~WpZJ3Z*p5*D06gVIy!T7a%pa7Uv_C_cPSuaZ*FsR03%^CWMpMAGB`OjW;ZZ3GcaU0Fl1#kHDNF_WnpDEIA&oJ1wIyA1soYVI&W}ga$$6Da$8*}V{dMAbRcwZZEQL^aA9<4CMh6eZ*FsR03%^EG-5e4GC43XGC4FiH#0CbW-wwlH!?6}H!@;oIW{#F1wI#B1soYVI&W}ga$$6Da$8*}b97`nI(Kt)a%pa7Uv_C_cPSuaZ*FsR03%^DH83(UWi~Z8H8^BrFk)pjFf}$1wI#B1so1KI&W}ga$$6Da$8*}b7^{IUvw!TV{dMAbO0k^HDoa}VlXl`WoBb!Gch2VlXviV>mHnHDoemIX7cvGhs1i9R)rHTLl~lIyzxY-M3?C@COgZ*FsR03%^JW@TeIIXGcAW??uuWMpDuGdVV9Wiw(jVK^~kIW#pN1wIB_1sn)EI$?8PWMOn=C@COgZ*FsR03%^JG+{SmW-&BmHe+EoH#cNuH8x>lWHn=CVr4jGWn*O_1wIB_1sn)EI$?8PWMOn=Uvz10Whf~iV{dMAbO0k^HDY68Ght&eWn^PxH8D12W@KSCGiGEkGBPkVH!?UfBLzMNTLl~lIyzxN2VDIjBSZgX@1BVjo*HaIddWoBYGGht*mGC4A3GiEU~I5aV1H8eOkF=8bJJ_cI_90)o(VRK(;Zggd5WpXGfAY*TCb94YBVPrBfH#IOdI5K5pHZw3YWiVngH8)~0GcsjkG&C?dWG4ka23rLj2s%1pb6<0Ga%pa7C@COgZ*FsR03%^DGh;MlWH@GGIW##qW;SGHHfCZlHa9UeVl^;0WHC1>1wIB_1sn)EI$?8PbYWs_Whf~iV{dMAbO0k^HDWh2VmD=FVPQEpHa0e8Vr6ABWHvA~F*h+`H8nRjD+N9VTLl~lIyzxmWAWMpMEV`5=pH)S<6Wn(fg1wIB_1sn)EI%#uXVRCX|c_=9$V{dMAbO0k^I5#I~W?yt+Vr*q|C@COgZ*FsR03%^GV`DTmIbvlqHa0mpWn(pAIbmZkWH2ydG&DFcWnpDA1wIB_1sn)EI%#uXVsCG3Wnpe8DIjBSZgX@1BVl1TWo0mAF=jJ4Hf1p~I5T53VKFgeFgId3G%zqYIX5*0J_cI_90)o(X>(s>VRU6EDIjBSZgX@1BVjaTV>e@FIAJw6WMVfnW??ruIbk_7Ic7IuV`McnIb=5lJ_cI_90)o(X>(s>VRU6*bZKp6C@COgZ*FsR03%^FVKX=|W;Zu8VP!HoF=IJ2GGQdN8Wjh5v23rLjAUZl}b6;q0ZEt5~Ze?$Eb0}_aWMyA;d2nScAa-eGcV%Q>ba`-PDkdo)V{dMAbO0k^GGQ_~FfuSUG&C|XW;8G{WjHWpVKz87V`XMFGd5&lJq11WoF=RG0W-u`}WnwfkW;r!xWHUEqGc-0q1wIB_1sn)EI%#uXX>N37XJv9IDIjBSZgX@1BVl4WV>mN4WMpPAF*jy1H85m2G-hEnWHmQ4Hf1<9GB860J_cI_90)o(X>(t0b!}p0awsVvV{dMAbO0k^F)%kbGcq$bFk?0{G%zw^F)=VPVK+EsH#0agW@I>GMFlMmIDIjBSZgX@1BVji=Vl+20HaIagHDoz8HDWkrGGj0@H)1ejGGS#oI5S5DJ_cI_90)o(X>(t6VPb4$C@COgZ*FsR03%^HFk&?}H)UZpI5J~2H!@~rIW=K8Ibt2^lGh$&iH#1{1H(@X~IWaOeVPj@6VmM<<1wIB_1sn)EI%#uXc42IFWhf~iV{dMAbO0k^VKq2rIAmosH)3TqW;HW6GdN-~VK6jgH)T0wFg0OjO$9y%TLl~lIy!WDaAhbdAY*TCb94YBVKOv0Gh=2kVK_4}G&VLdIWak6IWRUhV`VlnV>vc5F;4|P23rLj2s%1)Wo9TTAY*TCb94YBVP#`AV>dQ5GC4D0H)UmFGB7YOIbk$7G-5L}WH)0oVNnG>23rLj2s%1;VQh6}C@COgZ*FsR03%^yVl^>gIWaOcHZox{H8?XjIbu0BIAb(0H#BBAGcq(&1wIB_1sn)EI(A`fb!A^=cwu97C@COgZ*FsR03%^CWHmK7Wj8lDIbvfpWim8jWMpA5IW{yjHf3TnI5cEc1wIB_1sn@HI(A`fb!A^~awt?LCMh6eZ*FsR03%^DF*Id0WHvT7WMgDuGc-9fW@b5IVKQSdI59S6H8W#Z1wIK|1so1KI(BJuX>=$?b#7xOCMh6eZ*FsR03%^xHD)+8VrF4tH#a$BH!)!_H)1d}V_`62GGt;nHZx{f1wITF1QB0$X=Qf+Ute}2JC}VGKb95kMXkl_HEFg1fdSzd9DF7p3G%ztWGcaW}HZWr{WMefnFgG$eVP-HfWic>fGGR9~Tm?WAVg();Iy!G~WpZJ3Z*n3cUvzJ6Y$#)IZgX@XV`yP=IA3%sEFg1fdSzd9DF7p3Vq!8gFgIj2HZ?OiWH4kjGh}2iH#9IbFlIP2GBPw{UIjoFVg()*Iy!G~WpZJ3Z*n3cUvzL`bZ97JZ*FsRAY*7@aw;q!b7^{IUvwz|BVlATFg9a2G-Nq8Fl1ykVq{@CF*P?_BVQg~%Uol@XY-x05a$#(9E@*UZY(r>aZf9j|Z)X5-Z+LlMV`yP+XJu?}XD(=TZEOM{0VDz~0WtwM0X+di14#o+1yBW40a^fF0A>Mc0B~?&XJu|-ZDn(CVPj=ya&L8TV{Bn_b8~cZbz^jOZfS3Bba`-PWMyV#X>w+1Y-MJ3ZewI+W@&C^Wo~tCWo~tCAa-GFc42a3Z*F5{aC86w'); diff --git a/v3.4.0/structtoml_1_1date.html b/v3.4.0/structtoml_1_1date.html new file mode 100644 index 00000000..927e0fc2 --- /dev/null +++ b/v3.4.0/structtoml_1_1date.html @@ -0,0 +1,220 @@ + + + + toml::date struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date struct +

                                                                                                                              +

                                                                                                                              A local date.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + date() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Default constructor. Does not initialize the members.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename Y, typename M, typename D>
                                                                                                                              + date(Y y, + M m, + D d) constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs a date from individual date component values.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              uint16_t year +
                                                                                                                              +
                                                                                                                              The year component.
                                                                                                                              +
                                                                                                                              uint8_t month +
                                                                                                                              +
                                                                                                                              The month component, from 1 - 12.
                                                                                                                              +
                                                                                                                              uint8_t day +
                                                                                                                              +
                                                                                                                              The day component, from 1 - 31.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const date& lhs, + const date& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(const date& lhs, + const date& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const date& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a date out to a stream as YYYY-MM-DD (per RFC 3339).
                                                                                                                              +
                                                                                                                              + auto operator<=(const date& lhs, + const date& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const date& lhs, + const date& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(const date& lhs, + const date& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(const date& lhs, + const date& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const date& rhs) +

                                                                                                                              +

                                                                                                                              Prints a date out to a stream as YYYY-MM-DD (per RFC 3339).

                                                                                                                              +
                                                                                                                              std::cout << toml::date{ 1987, 3, 16 } << "\n";
                                                                                                                              1987-03-16
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.4.0/structtoml_1_1date__time.html b/v3.4.0/structtoml_1_1date__time.html new file mode 100644 index 00000000..669ba0cc --- /dev/null +++ b/v3.4.0/structtoml_1_1date__time.html @@ -0,0 +1,342 @@ + + + + toml::date_time struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date_time struct +

                                                                                                                              +

                                                                                                                              A date-time.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + date_time() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Default constructor. Does not initialize the members.
                                                                                                                              +
                                                                                                                              + date_time(const toml::date& d, + const toml::time& t) constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs a local date-time.
                                                                                                                              +
                                                                                                                              + date_time(const toml::date& d) explicit constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs a local date-time.
                                                                                                                              +
                                                                                                                              + date_time(const toml::time& t) explicit constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs a local date-time.
                                                                                                                              +
                                                                                                                              + date_time(const toml::date& d, + const toml::time& t, + const toml::time_offset& off) constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs an offset date-time.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto is_local() const -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Returns true if this date_time does not contain timezone offset information.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + toml::date date +
                                                                                                                              +
                                                                                                                              The date component.
                                                                                                                              +
                                                                                                                              + toml::time time +
                                                                                                                              +
                                                                                                                              The time component.
                                                                                                                              +
                                                                                                                              + optional<toml::time_offset> offset +
                                                                                                                              +
                                                                                                                              The timezone offset component.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const date_time& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a date_time out to a stream in RFC 3339 format.
                                                                                                                              +
                                                                                                                              + auto operator<=(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(const date_time& lhs, + const date_time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date_time::date_time(const toml::date& d, + const toml::time& t) constexpr noexcept +

                                                                                                                              +

                                                                                                                              Constructs a local date-time.

                                                                                                                              + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              dThe date component.
                                                                                                                              tThe time component.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date_time::date_time(const toml::date& d) explicit constexpr noexcept +

                                                                                                                              +

                                                                                                                              Constructs a local date-time.

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              dThe date component.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date_time::date_time(const toml::time& t) explicit constexpr noexcept +

                                                                                                                              +

                                                                                                                              Constructs a local date-time.

                                                                                                                              + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              tThe time component.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::date_time::date_time(const toml::date& d, + const toml::time& t, + const toml::time_offset& off) constexpr noexcept +

                                                                                                                              +

                                                                                                                              Constructs an offset date-time.

                                                                                                                              + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              dThe date component.
                                                                                                                              tThe time component.
                                                                                                                              offThe timezone offset.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const date_time& rhs) +

                                                                                                                              +

                                                                                                                              Prints a date_time out to a stream in RFC 3339 format.

                                                                                                                              +
                                                                                                                              std::cout << toml::date_time{ { 1987, 3, 16 }, { 10, 20, 34 } } << "\n";
                                                                                                                              +std::cout << toml::date_time{ { 1987, 3, 16 }, { 10, 20, 34 }, { -2, -30 } } << "\n";
                                                                                                                              +std::cout << toml::date_time{ { 1987, 3, 16 }, { 10, 20, 34 }, {} } << "\n";
                                                                                                                              1987-03-16T10:20:34
                                                                                                                              +1987-03-16T10:20:34-02:30
                                                                                                                              +1987-03-16T10:20:34Z
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Variable documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + optional<toml::time_offset> toml::date_time::offset +

                                                                                                                              +

                                                                                                                              The timezone offset component.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.4.0/structtoml_1_1inserter.html b/v3.4.0/structtoml_1_1inserter.html new file mode 100644 index 00000000..799fb3cc --- /dev/null +++ b/v3.4.0/structtoml_1_1inserter.html @@ -0,0 +1,133 @@ + + + + toml::inserter struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              template <typename T>
                                                                                                                              + toml::inserter struct +

                                                                                                                              +

                                                                                                                              Helper class for suppressing move-construction in single-argument array constructors.

                                                                                                                              +
                                                                                                                              // desired result: [ [ 42 ] ]
                                                                                                                              +auto bad = toml::array{ toml::array{ 42 } };
                                                                                                                              +auto good = toml::array{ toml::inserter{ toml::array{ 42 } } };
                                                                                                                              +std::cout << "bad: " << bad << "\n";
                                                                                                                              +std::cout << "good:" << good << "\n";
                                                                                                                              bad:  [ 42 ]
                                                                                                                              +good: [ [ 42 ] ]
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.4.0/structtoml_1_1source__position.html b/v3.4.0/structtoml_1_1source__position.html new file mode 100644 index 00000000..f1f96856 --- /dev/null +++ b/v3.4.0/structtoml_1_1source__position.html @@ -0,0 +1,258 @@ + + + + toml::source_position struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::source_position struct +

                                                                                                                              +

                                                                                                                              A source document line-and-column pair.

                                                                                                                              + +
                                                                                                                              auto table = toml::parse_file("config.toml"sv);
                                                                                                                              +std::cout << "The node 'description' was defined at "sv
                                                                                                                              +    << table.get("description")->source().begin()
                                                                                                                              +    << "\n";
                                                                                                                              The value 'description' was defined at line 7, column 15
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + operator bool() const explicit constexpr noexcept +
                                                                                                                              +
                                                                                                                              Returns true if both line and column numbers are non-zero.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + source_index line +
                                                                                                                              +
                                                                                                                              The line number.
                                                                                                                              +
                                                                                                                              + source_index column +
                                                                                                                              +
                                                                                                                              The column number.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const source_position& lhs, + const source_position& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(const source_position& lhs, + const source_position& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const source_position& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a source_position to a stream.
                                                                                                                              +
                                                                                                                              + auto operator<=(const source_position& lhs, + const source_position& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const source_position& lhs, + const source_position& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(const source_position& lhs, + const source_position& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(const source_position& lhs, + const source_position& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const source_position& rhs) +

                                                                                                                              +

                                                                                                                              Prints a source_position to a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe stream.
                                                                                                                              rhsThe source_position.
                                                                                                                              ReturnsThe input stream.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse("bar = 42"sv);
                                                                                                                              +
                                                                                                                              +std::cout << "The value for 'bar' was found on "sv
                                                                                                                              +    << tbl.get("bar")->source().begin()
                                                                                                                              +    << "\n";
                                                                                                                              The value for 'bar' was found on line 1, column 7
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Variable documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + source_index toml::source_position::line +

                                                                                                                              +

                                                                                                                              The line number.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + source_index toml::source_position::column +

                                                                                                                              +

                                                                                                                              The column number.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.4.0/structtoml_1_1source__region.html b/v3.4.0/structtoml_1_1source__region.html new file mode 100644 index 00000000..9969c02e --- /dev/null +++ b/v3.4.0/structtoml_1_1source__region.html @@ -0,0 +1,237 @@ + + + + toml::source_region struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::source_region struct +

                                                                                                                              +

                                                                                                                              A source document region.

                                                                                                                              + +
                                                                                                                              auto tbl = toml::parse_file("config.toml"sv);
                                                                                                                              +if (auto server = tbl.get("server"))
                                                                                                                              +{
                                                                                                                              +    std::cout << "begin: "sv << server->source().begin << "\n";
                                                                                                                              +    std::cout << "end: "sv << server->source().end << "\n";
                                                                                                                              +    std::cout << "path: "sv << *server->source().path << "\n";
                                                                                                                              +}
                                                                                                                              begin: line 3, column 1
                                                                                                                              +end: line 3, column 22
                                                                                                                              +path: config.toml
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public functions

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto wide_path() const -> optional<std::wstring> +
                                                                                                                              +
                                                                                                                              The path to the corresponding source document as a wide-string.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + source_position begin +
                                                                                                                              +
                                                                                                                              The beginning of the region (inclusive).
                                                                                                                              +
                                                                                                                              + source_position end +
                                                                                                                              +
                                                                                                                              The end of the region (exclusive).
                                                                                                                              +
                                                                                                                              + source_path_ptr path +
                                                                                                                              +
                                                                                                                              The path to the corresponding source document.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const source_region& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a source_region to a stream.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + optional<std::wstring> toml::source_region::wide_path() const +

                                                                                                                              +

                                                                                                                              The path to the corresponding source document as a wide-string.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const source_region& rhs) +

                                                                                                                              +

                                                                                                                              Prints a source_region to a stream.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Parameters
                                                                                                                              lhsThe stream.
                                                                                                                              rhsThe source_position.
                                                                                                                              ReturnsThe input stream.
                                                                                                                              +
                                                                                                                              auto tbl = toml::parse("bar = 42", "config.toml");
                                                                                                                              +
                                                                                                                              +std::cout << "The value for 'bar' was found on "sv
                                                                                                                              +    << tbl.get("bar")->source()
                                                                                                                              +    << "\n";
                                                                                                                              The value for 'bar' was found on line 1, column 7 of 'config.toml'
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Variable documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + source_path_ptr toml::source_region::path +

                                                                                                                              +

                                                                                                                              The path to the corresponding source document.

                                                                                                                              + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.4.0/structtoml_1_1time.html b/v3.4.0/structtoml_1_1time.html new file mode 100644 index 00000000..61a9fcfd --- /dev/null +++ b/v3.4.0/structtoml_1_1time.html @@ -0,0 +1,226 @@ + + + + toml::time struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::time struct +

                                                                                                                              +

                                                                                                                              A local time-of-day.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + time() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Default constructor. Does not initialize the members.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename H, typename M, typename S = uint8_t, typename NS = uint32_t>
                                                                                                                              + time(H h, + M m, + S s = S{}, + NS ns = NS{}) constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs a time from individual time component values.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              uint8_t hour +
                                                                                                                              +
                                                                                                                              The hour component, from 0 - 23.
                                                                                                                              +
                                                                                                                              uint8_t minute +
                                                                                                                              +
                                                                                                                              The minute component, from 0 - 59.
                                                                                                                              +
                                                                                                                              uint8_t second +
                                                                                                                              +
                                                                                                                              The second component, from 0 - 59.
                                                                                                                              +
                                                                                                                              uint32_t nanosecond +
                                                                                                                              +
                                                                                                                              The fractional nanoseconds component, from 0 - 999999999.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(const time& lhs, + const time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(const time& lhs, + const time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const time& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a time out to a stream as HH:MM:SS.FFFFFF (per RFC 3339).
                                                                                                                              +
                                                                                                                              + auto operator<=(const time& lhs, + const time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(const time& lhs, + const time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(const time& lhs, + const time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(const time& lhs, + const time& rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const time& rhs) +

                                                                                                                              +

                                                                                                                              Prints a time out to a stream as HH:MM:SS.FFFFFF (per RFC 3339).

                                                                                                                              +
                                                                                                                              std::cout << toml::time{ 10, 20, 34 } << "\n";
                                                                                                                              +std::cout << toml::time{ 10, 20, 34, 500000000 } << "\n";
                                                                                                                              10:20:34
                                                                                                                              +10:20:34.5
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.4.0/structtoml_1_1time__offset.html b/v3.4.0/structtoml_1_1time__offset.html new file mode 100644 index 00000000..984a1c6f --- /dev/null +++ b/v3.4.0/structtoml_1_1time__offset.html @@ -0,0 +1,266 @@ + + + + toml::time_offset struct | toml++ TOML for C++ + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + toml::time_offset struct +

                                                                                                                              +

                                                                                                                              A timezone offset.

                                                                                                                              + +
                                                                                                                              +

                                                                                                                              Constructors, destructors, conversion operators

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + time_offset() defaulted noexcept +
                                                                                                                              +
                                                                                                                              Default constructor. Does not initialize the members.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              template <typename H, typename M>
                                                                                                                              + time_offset(H h, + M m) constexpr noexcept +
                                                                                                                              +
                                                                                                                              Constructs a timezone offset from individual hour and minute totals.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Public variables

                                                                                                                              +
                                                                                                                              +
                                                                                                                              int16_t minutes +
                                                                                                                              +
                                                                                                                              Offset from UTC+0, in minutes.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Friends

                                                                                                                              +
                                                                                                                              +
                                                                                                                              + auto operator!=(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Inequality operator.
                                                                                                                              +
                                                                                                                              + auto operator<(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than operator.
                                                                                                                              +
                                                                                                                              + auto operator<<(std::ostream& lhs, + const time_offset& rhs) -> std::ostream& +
                                                                                                                              +
                                                                                                                              Prints a time_offset out to a stream as +-HH:MM or Z (per RFC 3339).
                                                                                                                              +
                                                                                                                              + auto operator<=(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Less-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              + auto operator==(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Equality operator.
                                                                                                                              +
                                                                                                                              + auto operator>(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than operator.
                                                                                                                              +
                                                                                                                              + auto operator>=(time_offset lhs, + time_offset rhs) -> bool constexpr noexcept +
                                                                                                                              +
                                                                                                                              Greater-than-or-equal-to operator.
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              Function documentation

                                                                                                                              +
                                                                                                                              +

                                                                                                                              +
                                                                                                                              + template <typename H, typename M> +
                                                                                                                              + toml::time_offset::time_offset(H h, + M m) constexpr noexcept +

                                                                                                                              +

                                                                                                                              Constructs a timezone offset from individual hour and minute totals.

                                                                                                                              + + + + + + + + + + + + + + + + + + + + + + + + + + + +
                                                                                                                              Template parameters
                                                                                                                              HAn integral type.
                                                                                                                              MAn integral type.
                                                                                                                              Parameters
                                                                                                                              hThe total hours.
                                                                                                                              mThe total minutes.
                                                                                                                              +
                                                                                                                              std::cout << toml::time_offset{ 2, 30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{ -2, 30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{ -2, -30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{ 0, 0 } << "\n";
                                                                                                                              +02:30
                                                                                                                              +-01:30
                                                                                                                              +-02:30
                                                                                                                              +Z
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +

                                                                                                                              + std::ostream& operator<<(std::ostream& lhs, + const time_offset& rhs) +

                                                                                                                              +

                                                                                                                              Prints a time_offset out to a stream as +-HH:MM or Z (per RFC 3339).

                                                                                                                              +
                                                                                                                              std::cout << toml::time_offset{ 2, 30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{ 2, -30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{} << "\n";
                                                                                                                              +std::cout << toml::time_offset{ -2, 30 } << "\n";
                                                                                                                              +std::cout << toml::time_offset{ -2, -30 } << "\n";
                                                                                                                              +02:30
                                                                                                                              ++01:30
                                                                                                                              +Z
                                                                                                                              +-01:30
                                                                                                                              +-02:30
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              +
                                                                                                                              + + + + + + + \ No newline at end of file diff --git a/v3.4.0/toml++.tagfile.xml b/v3.4.0/toml++.tagfile.xml new file mode 100644 index 00000000..bf0448d2 --- /dev/null +++ b/v3.4.0/toml++.tagfile.xml @@ -0,0 +1,9177 @@ + + + + toml::array + classtoml_1_1array.html + toml::node + + + array + classtoml_1_1array.html + a29fc707cf66a79f3c3d93dadbe3b2719 + () noexcept + + + + array + classtoml_1_1array.html + a3bd4611c96ce97d7e6991b7a4312370d + (const array &) + + + + array + classtoml_1_1array.html + ac552a63c329598d671e6531b0cef957b + (array &&other) noexcept + + + + array + classtoml_1_1array.html + acb17a58f1fbdb12aeaf8f7d1e8093e5c + (ElemType &&val, ElemTypes &&... vals) + + + array & + operator= + classtoml_1_1array.html + a37f428f585188ce70c82f1df6935f5d5 + (const array &) + + + array & + operator= + classtoml_1_1array.html + a7e5e45777e08941abb2069a5991e1f31 + (array &&rhs) noexcept + + + node_type + type + classtoml_1_1array.html + a352b6a99235216f070b5e97976663571 + () const noexcept final + + + bool + is_homogeneous + classtoml_1_1array.html + a79a1fe77c03b33ea2b9d8d0a859c93e6 + (node_type ntype) const noexcept final + + + bool + is_homogeneous + classtoml_1_1array.html + ae4e986f9fdb23090f9a0b3716a63e8bb + (node_type ntype, node *&first_nonmatch) noexcept final + + + bool + is_homogeneous + classtoml_1_1array.html + ad00610c0e18f02516de92b623dc4d0f5 + (node_type ntype, const node *&first_nonmatch) const noexcept final + + + bool + is_table + classtoml_1_1array.html + ad7ed894e54ad3aaef6d7693c26b887d9 + () const noexcept final + + + bool + is_array + classtoml_1_1array.html + a1f1e4d93f52778613d0a7bcf74a23427 + () const noexcept final + + + bool + is_array_of_tables + classtoml_1_1array.html + a87cd0dcbebcfd661a0ae387255c0605e + () const noexcept final + + + bool + is_value + classtoml_1_1array.html + acc533a7fa1ea5c68fce6f4fea5bc419c + () const noexcept final + + + bool + is_string + classtoml_1_1array.html + aeefdd01a2ce3f6bcd7aecfabd363d06b + () const noexcept final + + + bool + is_integer + classtoml_1_1array.html + a78db4190977034c4364674a2958855d4 + () const noexcept final + + + bool + is_floating_point + classtoml_1_1array.html + ab758b93eedbdc27112681f26440bee03 + () const noexcept final + + + bool + is_number + classtoml_1_1array.html + aa034144c580b3d8a4727c0cfbfebc214 + () const noexcept final + + + bool + is_boolean + classtoml_1_1array.html + abbecf0a51aa3e175bc5748ccf71063d8 + () const noexcept final + + + bool + is_date + classtoml_1_1array.html + a792dc3fd7105185415925d4f9ab3ca1d + () const noexcept final + + + bool + is_time + classtoml_1_1array.html + a2d2fc80512d08af7a934a6d02c7bf506 + () const noexcept final + + + bool + is_date_time + classtoml_1_1array.html + ae844f53a9604fb42f185a91616a72cbd + () const noexcept final + + + table * + as_table + classtoml_1_1array.html + a95985d66ecd4abf6c5822cbd0d239582 + () noexcept final + + + array * + as_array + classtoml_1_1array.html + a97b772796c962a635e8d5c50e7c03b3a + () noexcept final + + + toml::value< std::string > * + as_string + classtoml_1_1array.html + a5d4d3b502ef2e33107eb1d682b282c75 + () noexcept final + + + toml::value< int64_t > * + as_integer + classtoml_1_1array.html + a41d03d31a6ab168bc4b50046c4bbb50f + () noexcept final + + + toml::value< double > * + as_floating_point + classtoml_1_1array.html + a5e6ed524c4548fdd2131dcbb38b8c766 + () noexcept final + + + toml::value< bool > * + as_boolean + classtoml_1_1array.html + ac1989a2c4d50f8493f97c23ee22e15e6 + () noexcept final + + + toml::value< date > * + as_date + classtoml_1_1array.html + a78a9e7b1d44f90eb55403e54d6d31e2b + () noexcept final + + + toml::value< time > * + as_time + classtoml_1_1array.html + a3dedcb2261a528c59454fc9e0bb7c9fb + () noexcept final + + + toml::value< date_time > * + as_date_time + classtoml_1_1array.html + a58c350366cbbab3eb430751212ba9b18 + () noexcept final + + + const table * + as_table + classtoml_1_1array.html + ae45534b573d10c7e2e1c5624153608f9 + () const noexcept final + + + const array * + as_array + classtoml_1_1array.html + a8007db93bdeb82c8c77965ff72056f6b + () const noexcept final + + + const toml::value< std::string > * + as_string + classtoml_1_1array.html + a943378ff5912e9c732b4dee12d4bf2de + () const noexcept final + + + const toml::value< int64_t > * + as_integer + classtoml_1_1array.html + a79871c2b52557b74da8302925b5624ee + () const noexcept final + + + const toml::value< double > * + as_floating_point + classtoml_1_1array.html + a8f5736e45881203e362bcbb43ed90093 + () const noexcept final + + + const toml::value< bool > * + as_boolean + classtoml_1_1array.html + a48206827982b5cffe51662adfc3aec2b + () const noexcept final + + + const toml::value< date > * + as_date + classtoml_1_1array.html + afc3f86ca86c60deda39e69d24abcacca + () const noexcept final + + + const toml::value< time > * + as_time + classtoml_1_1array.html + a7708feaac3561b836e0789db0dfa6db4 + () const noexcept final + + + const toml::value< date_time > * + as_date_time + classtoml_1_1array.html + aa8fb689b36f44a4fa7c0ffccff20dbd9 + () const noexcept final + + + node * + get + classtoml_1_1array.html + a10664e00054ea4021fec5144b69b8792 + (size_t index) noexcept + + + const node * + get + classtoml_1_1array.html + a44db509dce6b7b77e563c822a5936abe + (size_t index) const noexcept + + + impl::wrap_node< ElemType > * + get_as + classtoml_1_1array.html + a5c2f4624498cba9e1e467b0eb2e9046e + (size_t index) noexcept + + + const impl::wrap_node< ElemType > * + get_as + classtoml_1_1array.html + ae47ca1cc4c61e94fed30aea72ca8d268 + (size_t index) const noexcept + + + node & + operator[] + classtoml_1_1array.html + a853bad0297ca4dcee57c97da2fe318e7 + (size_t index) noexcept + + + const node & + operator[] + classtoml_1_1array.html + ae9f72a1b877f2ac66327a152d55aa9c6 + (size_t index) const noexcept + + + node & + at + classtoml_1_1array.html + aeade4e0cafa3f57b4800e72baa843b1e + (size_t index) + + + const node & + at + classtoml_1_1array.html + a8a5957e22aa2d0f4f9e6feaf9bfffa55 + (size_t index) const + + + node & + front + classtoml_1_1array.html + a9c78848129a2a703c154e7cbe1a973d3 + () noexcept + + + const node & + front + classtoml_1_1array.html + a5ba3af18c63546da6f9d2ac3b5b77f64 + () const noexcept + + + node & + back + classtoml_1_1array.html + a4c58dea5e8795e4b9f8df4f1e1473204 + () noexcept + + + const node & + back + classtoml_1_1array.html + ac7652c1ab60af2ca1c7d52f0658639b4 + () const noexcept + + + bool + empty + classtoml_1_1array.html + a5d527ea6bfddad1025e90e4363c822cc + () const noexcept + + + size_t + size + classtoml_1_1array.html + af81d7b6a1257ad766a47d9276855a7c9 + () const noexcept + + + size_t + max_size + classtoml_1_1array.html + ae65a76add6d756fc7ba8f12a5aad983c + () const noexcept + + + size_t + capacity + classtoml_1_1array.html + a02b773a1ff337692e78da429030c1610 + () const noexcept + + + void + reserve + classtoml_1_1array.html + a1ba073adc52c3df5ad29cfd7e5daa1d5 + (size_t new_capacity) + + + void + shrink_to_fit + classtoml_1_1array.html + a718c2031ead428aa52912741f6d094aa + () + + + void + truncate + classtoml_1_1array.html + a6e3ac9962c706a88c1001ff83a4084f3 + (size_t new_size) + + + void + resize + classtoml_1_1array.html + ab1aca2337ffce7e583a2cf303f16259f + (size_t new_size, ElemType &&default_init_val, value_flags default_init_flags=preserve_source_value_flags) + + + iterator + erase + classtoml_1_1array.html + a22389a9ed9444fe52be10c4acbdec908 + (const_iterator pos) noexcept + + + iterator + erase + classtoml_1_1array.html + a723388860d72c9a162137d0293366fb2 + (const_iterator first, const_iterator last) noexcept + + + array & + flatten + classtoml_1_1array.html + aa2a21958705629bde15aafae9598a2ec + () & + + + array && + flatten + classtoml_1_1array.html + ad307bea17e7640c57715d67ab8a777d4 + () && + + + array & + prune + classtoml_1_1array.html + ae548cf1dc26ade60733548a00a39b175 + (bool recursive=true) &noexcept + + + array && + prune + classtoml_1_1array.html + a6fc918a151ada40c713d6855af3021c2 + (bool recursive=true) &&noexcept + + + void + pop_back + classtoml_1_1array.html + af99d72e29cef84f736d91d627b47a1dc + () noexcept + + + void + clear + classtoml_1_1array.html + adaa65bf63f29f898c27423306c165d68 + () noexcept + + + iterator + insert + classtoml_1_1array.html + a17c7e34b433ea8907186dbb1788c9d37 + (const_iterator pos, ElemType &&val, value_flags flags=preserve_source_value_flags) + + + iterator + insert + classtoml_1_1array.html + a55a9e6e742e556ea07573d29c23ce7df + (const_iterator pos, size_t count, ElemType &&val, value_flags flags=preserve_source_value_flags) + + + iterator + insert + classtoml_1_1array.html + a60a0d39bfd8721cef23e155f5504d54d + (const_iterator pos, Iter first, Iter last, value_flags flags=preserve_source_value_flags) + + + iterator + insert + classtoml_1_1array.html + a1baecd5d579afb508886572674b89781 + (const_iterator pos, std::initializer_list< ElemType > ilist, value_flags flags=preserve_source_value_flags) + + + iterator + emplace + classtoml_1_1array.html + a4110b96386b33097a255f3694ac01d4a + (const_iterator pos, Args &&... args) + + + iterator + replace + classtoml_1_1array.html + a37a8a283e6c1cbeef757b2e59489ee6c + (const_iterator pos, ElemType &&val, value_flags flags=preserve_source_value_flags) + + + void + push_back + classtoml_1_1array.html + ab7188537b351ef3a756b54b83e4b05b3 + (ElemType &&val, value_flags flags=preserve_source_value_flags) + + + decltype(auto) + emplace_back + classtoml_1_1array.html + ad1383e120e7f8d8fe54e07dab164bd6d + (Args &&... args) + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + aef68f74119416a0a6d0a62f0f7d8d4ea + (const toml::path &path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + afbd39cca3959da4a1d8e1d220b6abe83 + (const toml::path &path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + node_view< node > + operator[] + classtoml_1_1node.html + a8c3214e47f056a3a9bcdb66edd7fa97f + (const toml::path &path) noexcept + + + node_view< const node > + operator[] + classtoml_1_1node.html + a2276f2cac96c095b4e4645ca5bebe0f9 + (const toml::path &path) const noexcept + + + friend std::ostream & + operator<< + classtoml_1_1array.html + af1fae5bb4ad4da74199f0a77170c505e + (std::ostream &lhs, const array &rhs) + + + friend bool + operator== + classtoml_1_1array.html + a06cf25e3f80c98d88e041ef9823976c0 + (const array &lhs, const array &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1array.html + af06c7437a0946a9d5e093d903b59f6a4 + (const array &lhs, const array &rhs) noexcept + + + friend bool + operator== + classtoml_1_1array.html + ab87e435c5a41140e60cd2e703df96fbd + (const array &lhs, const std::initializer_list< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1array.html + a5b3c615e4ba8fd780b966f175070b554 + (const array &lhs, const std::vector< T > &rhs) noexcept + + + array_iterator + iterator + classtoml_1_1array.html + a62a18471ca7c5b06204d2e26c963f833 + + + + const_array_iterator + const_iterator + classtoml_1_1array.html + adfd38318d3390a76f073a83fd2f2aa21 + + + + iterator + begin + classtoml_1_1array.html + a8ee8179ddf1cb44fdf0b8d0700f55c2f + () noexcept + + + const_iterator + begin + classtoml_1_1array.html + a7cff1526a6d1f6157e0eab231b4757aa + () const noexcept + + + const_iterator + cbegin + classtoml_1_1array.html + a56d1cba006dccc5ad9982b58a8b2ddc1 + () const noexcept + + + iterator + end + classtoml_1_1array.html + adaf908b0cc3e8bcb1ee9ec9ec706d223 + () noexcept + + + const_iterator + end + classtoml_1_1array.html + a778b5b807ff7329f7de10237d73f29c2 + () const noexcept + + + const_iterator + cend + classtoml_1_1array.html + a50e6b032805760f3930e02923d9a84b0 + () const noexcept + + + array & + for_each + classtoml_1_1array.html + ab2e1a5b5afb21b14461298f5494a8c35 + (Func &&visitor) &noexcept(for_each_is_nothrow< Func &&, array & >::value) + + + array && + for_each + classtoml_1_1array.html + a1e04521b2c24b0b01c3c59f3d20b8839 + (Func &&visitor) &&noexcept(for_each_is_nothrow< Func &&, array && >::value) + + + const array & + for_each + classtoml_1_1array.html + a7e8ed1b3d210f5d00480e27a3855994f + (Func &&visitor) const &noexcept(for_each_is_nothrow< Func &&, const array & >::value) + + + const array && + for_each + classtoml_1_1array.html + ab2b37b3f36abadf0962411a609d7ac8f + (Func &&visitor) const &&noexcept(for_each_is_nothrow< Func &&, const array && >::value) + + + node_type + type + classtoml_1_1array.html + a352b6a99235216f070b5e97976663571 + () const noexcept final + + + bool + is_homogeneous + classtoml_1_1array.html + a79a1fe77c03b33ea2b9d8d0a859c93e6 + (node_type ntype) const noexcept final + + + bool + is_homogeneous + classtoml_1_1array.html + ae4e986f9fdb23090f9a0b3716a63e8bb + (node_type ntype, node *&first_nonmatch) noexcept final + + + bool + is_homogeneous + classtoml_1_1array.html + ad00610c0e18f02516de92b623dc4d0f5 + (node_type ntype, const node *&first_nonmatch) const noexcept final + + + bool + is_table + classtoml_1_1array.html + ad7ed894e54ad3aaef6d7693c26b887d9 + () const noexcept final + + + bool + is_array + classtoml_1_1array.html + a1f1e4d93f52778613d0a7bcf74a23427 + () const noexcept final + + + bool + is_array_of_tables + classtoml_1_1array.html + a87cd0dcbebcfd661a0ae387255c0605e + () const noexcept final + + + bool + is_value + classtoml_1_1array.html + acc533a7fa1ea5c68fce6f4fea5bc419c + () const noexcept final + + + bool + is_string + classtoml_1_1array.html + aeefdd01a2ce3f6bcd7aecfabd363d06b + () const noexcept final + + + bool + is_integer + classtoml_1_1array.html + a78db4190977034c4364674a2958855d4 + () const noexcept final + + + bool + is_floating_point + classtoml_1_1array.html + ab758b93eedbdc27112681f26440bee03 + () const noexcept final + + + bool + is_number + classtoml_1_1array.html + aa034144c580b3d8a4727c0cfbfebc214 + () const noexcept final + + + bool + is_boolean + classtoml_1_1array.html + abbecf0a51aa3e175bc5748ccf71063d8 + () const noexcept final + + + bool + is_date + classtoml_1_1array.html + a792dc3fd7105185415925d4f9ab3ca1d + () const noexcept final + + + bool + is_time + classtoml_1_1array.html + a2d2fc80512d08af7a934a6d02c7bf506 + () const noexcept final + + + bool + is_date_time + classtoml_1_1array.html + ae844f53a9604fb42f185a91616a72cbd + () const noexcept final + + + table * + as_table + classtoml_1_1array.html + a95985d66ecd4abf6c5822cbd0d239582 + () noexcept final + + + array * + as_array + classtoml_1_1array.html + a97b772796c962a635e8d5c50e7c03b3a + () noexcept final + + + toml::value< std::string > * + as_string + classtoml_1_1array.html + a5d4d3b502ef2e33107eb1d682b282c75 + () noexcept final + + + toml::value< int64_t > * + as_integer + classtoml_1_1array.html + a41d03d31a6ab168bc4b50046c4bbb50f + () noexcept final + + + toml::value< double > * + as_floating_point + classtoml_1_1array.html + a5e6ed524c4548fdd2131dcbb38b8c766 + () noexcept final + + + toml::value< bool > * + as_boolean + classtoml_1_1array.html + ac1989a2c4d50f8493f97c23ee22e15e6 + () noexcept final + + + toml::value< date > * + as_date + classtoml_1_1array.html + a78a9e7b1d44f90eb55403e54d6d31e2b + () noexcept final + + + toml::value< time > * + as_time + classtoml_1_1array.html + a3dedcb2261a528c59454fc9e0bb7c9fb + () noexcept final + + + toml::value< date_time > * + as_date_time + classtoml_1_1array.html + a58c350366cbbab3eb430751212ba9b18 + () noexcept final + + + const table * + as_table + classtoml_1_1array.html + ae45534b573d10c7e2e1c5624153608f9 + () const noexcept final + + + const array * + as_array + classtoml_1_1array.html + a8007db93bdeb82c8c77965ff72056f6b + () const noexcept final + + + const toml::value< std::string > * + as_string + classtoml_1_1array.html + a943378ff5912e9c732b4dee12d4bf2de + () const noexcept final + + + const toml::value< int64_t > * + as_integer + classtoml_1_1array.html + a79871c2b52557b74da8302925b5624ee + () const noexcept final + + + const toml::value< double > * + as_floating_point + classtoml_1_1array.html + a8f5736e45881203e362bcbb43ed90093 + () const noexcept final + + + const toml::value< bool > * + as_boolean + classtoml_1_1array.html + a48206827982b5cffe51662adfc3aec2b + () const noexcept final + + + const toml::value< date > * + as_date + classtoml_1_1array.html + afc3f86ca86c60deda39e69d24abcacca + () const noexcept final + + + const toml::value< time > * + as_time + classtoml_1_1array.html + a7708feaac3561b836e0789db0dfa6db4 + () const noexcept final + + + const toml::value< date_time > * + as_date_time + classtoml_1_1array.html + aa8fb689b36f44a4fa7c0ffccff20dbd9 + () const noexcept final + + + node * + get + classtoml_1_1array.html + a10664e00054ea4021fec5144b69b8792 + (size_t index) noexcept + + + const node * + get + classtoml_1_1array.html + a44db509dce6b7b77e563c822a5936abe + (size_t index) const noexcept + + + impl::wrap_node< ElemType > * + get_as + classtoml_1_1array.html + a5c2f4624498cba9e1e467b0eb2e9046e + (size_t index) noexcept + + + const impl::wrap_node< ElemType > * + get_as + classtoml_1_1array.html + ae47ca1cc4c61e94fed30aea72ca8d268 + (size_t index) const noexcept + + + node & + operator[] + classtoml_1_1array.html + a853bad0297ca4dcee57c97da2fe318e7 + (size_t index) noexcept + + + const node & + operator[] + classtoml_1_1array.html + ae9f72a1b877f2ac66327a152d55aa9c6 + (size_t index) const noexcept + + + node & + at + classtoml_1_1array.html + aeade4e0cafa3f57b4800e72baa843b1e + (size_t index) + + + const node & + at + classtoml_1_1array.html + a8a5957e22aa2d0f4f9e6feaf9bfffa55 + (size_t index) const + + + node & + front + classtoml_1_1array.html + a9c78848129a2a703c154e7cbe1a973d3 + () noexcept + + + const node & + front + classtoml_1_1array.html + a5ba3af18c63546da6f9d2ac3b5b77f64 + () const noexcept + + + node & + back + classtoml_1_1array.html + a4c58dea5e8795e4b9f8df4f1e1473204 + () noexcept + + + const node & + back + classtoml_1_1array.html + ac7652c1ab60af2ca1c7d52f0658639b4 + () const noexcept + + + bool + empty + classtoml_1_1array.html + a5d527ea6bfddad1025e90e4363c822cc + () const noexcept + + + size_t + size + classtoml_1_1array.html + af81d7b6a1257ad766a47d9276855a7c9 + () const noexcept + + + size_t + max_size + classtoml_1_1array.html + ae65a76add6d756fc7ba8f12a5aad983c + () const noexcept + + + size_t + capacity + classtoml_1_1array.html + a02b773a1ff337692e78da429030c1610 + () const noexcept + + + void + reserve + classtoml_1_1array.html + a1ba073adc52c3df5ad29cfd7e5daa1d5 + (size_t new_capacity) + + + void + shrink_to_fit + classtoml_1_1array.html + a718c2031ead428aa52912741f6d094aa + () + + + void + truncate + classtoml_1_1array.html + a6e3ac9962c706a88c1001ff83a4084f3 + (size_t new_size) + + + void + resize + classtoml_1_1array.html + ab1aca2337ffce7e583a2cf303f16259f + (size_t new_size, ElemType &&default_init_val, value_flags default_init_flags=preserve_source_value_flags) + + + iterator + erase + classtoml_1_1array.html + a22389a9ed9444fe52be10c4acbdec908 + (const_iterator pos) noexcept + + + iterator + erase + classtoml_1_1array.html + a723388860d72c9a162137d0293366fb2 + (const_iterator first, const_iterator last) noexcept + + + array & + flatten + classtoml_1_1array.html + aa2a21958705629bde15aafae9598a2ec + () & + + + array && + flatten + classtoml_1_1array.html + ad307bea17e7640c57715d67ab8a777d4 + () && + + + array & + prune + classtoml_1_1array.html + ae548cf1dc26ade60733548a00a39b175 + (bool recursive=true) &noexcept + + + array && + prune + classtoml_1_1array.html + a6fc918a151ada40c713d6855af3021c2 + (bool recursive=true) &&noexcept + + + void + pop_back + classtoml_1_1array.html + af99d72e29cef84f736d91d627b47a1dc + () noexcept + + + void + clear + classtoml_1_1array.html + adaa65bf63f29f898c27423306c165d68 + () noexcept + + + iterator + insert + classtoml_1_1array.html + a17c7e34b433ea8907186dbb1788c9d37 + (const_iterator pos, ElemType &&val, value_flags flags=preserve_source_value_flags) + + + iterator + insert + classtoml_1_1array.html + a55a9e6e742e556ea07573d29c23ce7df + (const_iterator pos, size_t count, ElemType &&val, value_flags flags=preserve_source_value_flags) + + + iterator + insert + classtoml_1_1array.html + a60a0d39bfd8721cef23e155f5504d54d + (const_iterator pos, Iter first, Iter last, value_flags flags=preserve_source_value_flags) + + + iterator + insert + classtoml_1_1array.html + a1baecd5d579afb508886572674b89781 + (const_iterator pos, std::initializer_list< ElemType > ilist, value_flags flags=preserve_source_value_flags) + + + iterator + emplace + classtoml_1_1array.html + a4110b96386b33097a255f3694ac01d4a + (const_iterator pos, Args &&... args) + + + iterator + replace + classtoml_1_1array.html + a37a8a283e6c1cbeef757b2e59489ee6c + (const_iterator pos, ElemType &&val, value_flags flags=preserve_source_value_flags) + + + void + push_back + classtoml_1_1array.html + ab7188537b351ef3a756b54b83e4b05b3 + (ElemType &&val, value_flags flags=preserve_source_value_flags) + + + decltype(auto) + emplace_back + classtoml_1_1array.html + ad1383e120e7f8d8fe54e07dab164bd6d + (Args &&... args) + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + aef68f74119416a0a6d0a62f0f7d8d4ea + (const toml::path &path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + afbd39cca3959da4a1d8e1d220b6abe83 + (const toml::path &path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + node_view< node > + operator[] + classtoml_1_1node.html + a8c3214e47f056a3a9bcdb66edd7fa97f + (const toml::path &path) noexcept + + + node_view< const node > + operator[] + classtoml_1_1node.html + a2276f2cac96c095b4e4645ca5bebe0f9 + (const toml::path &path) const noexcept + + + friend bool + operator== + classtoml_1_1array.html + a06cf25e3f80c98d88e041ef9823976c0 + (const array &lhs, const array &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1array.html + af06c7437a0946a9d5e093d903b59f6a4 + (const array &lhs, const array &rhs) noexcept + + + friend bool + operator== + classtoml_1_1array.html + ab87e435c5a41140e60cd2e703df96fbd + (const array &lhs, const std::initializer_list< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1array.html + a5b3c615e4ba8fd780b966f175070b554 + (const array &lhs, const std::vector< T > &rhs) noexcept + + + + toml::date + structtoml_1_1date.html + + + date + structtoml_1_1date.html + a5cbb79ab52538ec7a74022cf4fcfb129 + () noexcept=default + + + constexpr + date + structtoml_1_1date.html + a6025b77738bf7ed2db704cc85297e74d + (Y y, M m, D d) noexcept + + + uint16_t + year + structtoml_1_1date.html + ad1dc522b115c69dc908540b1c6ff792b + + + + uint8_t + month + structtoml_1_1date.html + a0528c722d0a81741a95f6e3a1116614e + + + + uint8_t + day + structtoml_1_1date.html + a8ec7a7238b8edd3341b450a7b43ec011 + + + + constexpr friend bool + operator== + structtoml_1_1date.html + af76134298f28a36f104515fa6ba018b0 + (const date &lhs, const date &rhs) noexcept + + + constexpr friend bool + operator!= + structtoml_1_1date.html + a5e1b63040c6d403b8e0a717c77d9509d + (const date &lhs, const date &rhs) noexcept + + + constexpr friend bool + operator< + structtoml_1_1date.html + a800189899a4daf5b8cdf1c5b252b772d + (const date &lhs, const date &rhs) noexcept + + + constexpr friend bool + operator<= + structtoml_1_1date.html + a0add90c8bea1fdc5ff50cbbeb5e169fc + (const date &lhs, const date &rhs) noexcept + + + constexpr friend bool + operator> + structtoml_1_1date.html + a1861ff6d5850f8148ce002c75b2ab952 + (const date &lhs, const date &rhs) noexcept + + + constexpr friend bool + operator>= + structtoml_1_1date.html + a8f74ab67a378a52e28478d5f768e4152 + (const date &lhs, const date &rhs) noexcept + + + friend std::ostream & + operator<< + structtoml_1_1date.html + aa24fddba6149a26f1dbeefe036126316 + (std::ostream &lhs, const date &rhs) + + + + toml::date_time + structtoml_1_1date__time.html + + + date_time + structtoml_1_1date__time.html + a2c9ee1c5c94a6623e9cac5db65289d1f + () noexcept=default + + + constexpr + date_time + structtoml_1_1date__time.html + a8b084d38079cf71db0d0ac8465928dc2 + (const toml::date &d, const toml::time &t) noexcept + + + constexpr + date_time + structtoml_1_1date__time.html + a5394c8e6690f59e627f92b614b06be58 + (const toml::date &d) noexcept + + + constexpr + date_time + structtoml_1_1date__time.html + a73df51041eee08b984d38462ba3fdda4 + (const toml::time &t) noexcept + + + constexpr + date_time + structtoml_1_1date__time.html + aacba153f96e9637d536add5159bad99a + (const toml::date &d, const toml::time &t, const toml::time_offset &off) noexcept + + + constexpr bool + is_local + structtoml_1_1date__time.html + af0d6119984645eb015f2fad0ef487bbc + () const noexcept + + + toml::date + date + structtoml_1_1date__time.html + a89f398585f373d1e7bd59fe440212074 + + + + toml::time + time + structtoml_1_1date__time.html + a18d5e772db4f61635643cda390c2b720 + + + + optional< toml::time_offset > + offset + structtoml_1_1date__time.html + af8596013f522b94a88d2caf69e90a1f5 + + + + constexpr friend bool + operator== + structtoml_1_1date__time.html + a885cbe902aeadacb0953230ade9d8b9a + (const date_time &lhs, const date_time &rhs) noexcept + + + constexpr friend bool + operator!= + structtoml_1_1date__time.html + a9ae0e032ffe90928c47b40bd8155dea3 + (const date_time &lhs, const date_time &rhs) noexcept + + + constexpr friend bool + operator< + structtoml_1_1date__time.html + a4f67803fdc02fb5549ba213a9273a63b + (const date_time &lhs, const date_time &rhs) noexcept + + + constexpr friend bool + operator<= + structtoml_1_1date__time.html + a7b2f0261ae38ef6dbb6de0fb35fbbf3b + (const date_time &lhs, const date_time &rhs) noexcept + + + constexpr friend bool + operator> + structtoml_1_1date__time.html + a1bceb05028f33a829d61ffc768eab78a + (const date_time &lhs, const date_time &rhs) noexcept + + + constexpr friend bool + operator>= + structtoml_1_1date__time.html + a361fb1904f477e0a1f7acaa3cdd14abf + (const date_time &lhs, const date_time &rhs) noexcept + + + friend std::ostream & + operator<< + structtoml_1_1date__time.html + a5a090cb9dfa0d6a3e74603ba702bbddc + (std::ostream &lhs, const date_time &rhs) + + + + toml::inserter + structtoml_1_1inserter.html + + + + toml::json_formatter + classtoml_1_1json__formatter.html + + + json_formatter + classtoml_1_1json__formatter.html + ade267ecca82e3bbac3d1392abab91be9 + (const toml::node &source, format_flags flags=default_flags) noexcept + + + + json_formatter + classtoml_1_1json__formatter.html + a51785aa8ef373a9136e896fafabd53be + (const toml::parse_result &result, format_flags flags=default_flags) noexcept + + + static constexpr format_flags + default_flags + classtoml_1_1json__formatter.html + a4541a4662894ce8936f6f2c3ab90fe2e + + + + friend std::ostream & + operator<< + classtoml_1_1json__formatter.html + a2b88bc230c589c1fad25ffd8df96b74e + (std::ostream &lhs, json_formatter &rhs) + + + friend std::ostream & + operator<< + classtoml_1_1json__formatter.html + a5eefe4e5ca640b12fbb09fd521eab335 + (std::ostream &lhs, json_formatter &&rhs) + + + + toml::key + classtoml_1_1key.html + + + key + classtoml_1_1key.html + ac978efd3b48ec0a5c14f08618e4dbe23 + () noexcept=default + + + + key + classtoml_1_1key.html + a5119f122c15687a2f0f81b270a627de2 + (std::string_view k, source_region &&src={}) + + + + key + classtoml_1_1key.html + a0718eb26f4d9c1a4c0fb928efb0d6f81 + (std::string_view k, const source_region &src) + + + + key + classtoml_1_1key.html + a788b1bbeaf636dccc4a78f832bf123e0 + (std::string &&k, source_region &&src={}) noexcept + + + + key + classtoml_1_1key.html + ab86ff590f222d57b8f4630901298d8da + (std::string &&k, const source_region &src) noexcept + + + + key + classtoml_1_1key.html + a981f5ee2fbd822d47d0b347c5df55f11 + (const char *k, source_region &&src={}) + + + + key + classtoml_1_1key.html + ad5f26b37172e34a8c70e848ad7911710 + (const char *k, const source_region &src) + + + + key + classtoml_1_1key.html + a67cfed717c84773ab3fe6ec1b7936fa7 + (std::wstring_view k, source_region &&src={}) + + + + key + classtoml_1_1key.html + aba2cb69db8cae7cbc60899a0ee7618d3 + (std::wstring_view k, const source_region &src) + + + std::string_view + str + classtoml_1_1key.html + a0ca779e816081627f78965683182d4dc + () const noexcept + + + + operator std::string_view + classtoml_1_1key.html + a0f580806c0894ea820c533a9f6e0fa91 + () const noexcept + + + bool + empty + classtoml_1_1key.html + a2baa48f26dac4a10a8328706f9386417 + () const noexcept + + + const char * + data + classtoml_1_1key.html + a49f230dc58174f399f49100115ee088f + () const noexcept + + + size_t + length + classtoml_1_1key.html + a5ffa3226fa66f1be190178572a87a000 + () const noexcept + + + const source_region & + source + classtoml_1_1key.html + a82a81d4a4e4d502b661ee2ba10810bea + () const noexcept + + + friend std::ostream & + operator<< + classtoml_1_1key.html + a78eb7afc69ecd78f4f6ded062f2f7ea7 + (std::ostream &lhs, const key &rhs) + + + friend bool + operator== + classtoml_1_1key.html + aa1d636ad061ad2c8e33c629e112bba5e + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1key.html + a1255e940048a362bda11ee240b3f1ffe + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator< + classtoml_1_1key.html + a7a6f49b1bdf3e234f7598481a4afd5db + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1key.html + ae300be177925b12b73568e194c1444ae + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator> + classtoml_1_1key.html + ae51dcf0f86bed0f6f5ce24d326c0badc + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1key.html + a3c20053f6eae90f946535a95225f522a + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator== + classtoml_1_1key.html + a545b27567960385af1c8ae669029d7dd + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator!= + classtoml_1_1key.html + a24ea2ab9799ab7fec679f2dae3afccf2 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator< + classtoml_1_1key.html + a5578fc46610d6f6e684fbffdf3f61a44 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator<= + classtoml_1_1key.html + a9c59103b835fb600dbb6c808f8c4f8a8 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator> + classtoml_1_1key.html + ad48d1d36a11a9434bc339987838b08f6 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator>= + classtoml_1_1key.html + a61e19637671ad5c5856eafd5753e9b65 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator== + classtoml_1_1key.html + aed4a71da8d0ffb75d847ab2c26948a1c + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1key.html + a165b2057b0144350b1c291ffb0956122 + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator< + classtoml_1_1key.html + a1bacd712822950e9594fd288a236c9cb + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1key.html + a780d9a226184919f080acf0b0a676400 + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator> + classtoml_1_1key.html + aa85755cf51a2ee6d616aa03a8de8b4b0 + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1key.html + aa89096b9f6b364702858f2dc6734987a + (std::string_view lhs, const key &rhs) noexcept + + + const char * + const_iterator + classtoml_1_1key.html + a38a33d5010936195ac2083e428165512 + + + + const_iterator + iterator + classtoml_1_1key.html + a40c42bc323383db54972b5752b9ad4dd + + + + const_iterator + begin + classtoml_1_1key.html + ab1691956be4ffe1c604e8e66acdc237e + () const noexcept + + + const_iterator + end + classtoml_1_1key.html + a9b37a10b4aff1e6e7902301789f579c8 + () const noexcept + + + std::string_view + str + classtoml_1_1key.html + a0ca779e816081627f78965683182d4dc + () const noexcept + + + + operator std::string_view + classtoml_1_1key.html + a0f580806c0894ea820c533a9f6e0fa91 + () const noexcept + + + bool + empty + classtoml_1_1key.html + a2baa48f26dac4a10a8328706f9386417 + () const noexcept + + + const char * + data + classtoml_1_1key.html + a49f230dc58174f399f49100115ee088f + () const noexcept + + + size_t + length + classtoml_1_1key.html + a5ffa3226fa66f1be190178572a87a000 + () const noexcept + + + const source_region & + source + classtoml_1_1key.html + a82a81d4a4e4d502b661ee2ba10810bea + () const noexcept + + + friend bool + operator== + classtoml_1_1key.html + aa1d636ad061ad2c8e33c629e112bba5e + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1key.html + a1255e940048a362bda11ee240b3f1ffe + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator< + classtoml_1_1key.html + a7a6f49b1bdf3e234f7598481a4afd5db + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1key.html + ae300be177925b12b73568e194c1444ae + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator> + classtoml_1_1key.html + ae51dcf0f86bed0f6f5ce24d326c0badc + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1key.html + a3c20053f6eae90f946535a95225f522a + (const key &lhs, const key &rhs) noexcept + + + friend bool + operator== + classtoml_1_1key.html + a545b27567960385af1c8ae669029d7dd + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator!= + classtoml_1_1key.html + a24ea2ab9799ab7fec679f2dae3afccf2 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator< + classtoml_1_1key.html + a5578fc46610d6f6e684fbffdf3f61a44 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator<= + classtoml_1_1key.html + a9c59103b835fb600dbb6c808f8c4f8a8 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator> + classtoml_1_1key.html + ad48d1d36a11a9434bc339987838b08f6 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator>= + classtoml_1_1key.html + a61e19637671ad5c5856eafd5753e9b65 + (const key &lhs, std::string_view rhs) noexcept + + + friend bool + operator== + classtoml_1_1key.html + aed4a71da8d0ffb75d847ab2c26948a1c + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1key.html + a165b2057b0144350b1c291ffb0956122 + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator< + classtoml_1_1key.html + a1bacd712822950e9594fd288a236c9cb + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1key.html + a780d9a226184919f080acf0b0a676400 + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator> + classtoml_1_1key.html + aa85755cf51a2ee6d616aa03a8de8b4b0 + (std::string_view lhs, const key &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1key.html + aa89096b9f6b364702858f2dc6734987a + (std::string_view lhs, const key &rhs) noexcept + + + + toml::node + classtoml_1_1node.html + + virtual bool + is_homogeneous + classtoml_1_1node.html + a68de6772e259ef122c00b0a9c7b63516 + (node_type ntype, node *&first_nonmatch) noexcept=0 + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a834e10ece19d04b4d774d5f224d50b8f + (node_type ntype, const node *&first_nonmatch) const noexcept=0 + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a5d9191dc545ecded3bc8f7706c63edad + (node_type ntype) const noexcept=0 + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + virtual node_type + type + classtoml_1_1node.html + a10f389035ce13abb00a1191358af6334 + () const noexcept=0 + + + virtual bool + is_table + classtoml_1_1node.html + a50a2501af7e42b0fab060206dde7a99e + () const noexcept=0 + + + virtual bool + is_array + classtoml_1_1node.html + accce7655b0cc340591a755412fde2ed7 + () const noexcept=0 + + + virtual bool + is_array_of_tables + classtoml_1_1node.html + aa09263a05ef361ad233e710308fce690 + () const noexcept=0 + + + virtual bool + is_value + classtoml_1_1node.html + aeddf9eebbd4ece799e5675e2d9d59e4a + () const noexcept=0 + + + virtual bool + is_string + classtoml_1_1node.html + aa95180487162e844129031842d8a9580 + () const noexcept=0 + + + virtual bool + is_integer + classtoml_1_1node.html + ac5390ac64f018947edc75802a53505a5 + () const noexcept=0 + + + virtual bool + is_floating_point + classtoml_1_1node.html + ad8cdb68a69bdc13cda7d4f7663e57847 + () const noexcept=0 + + + virtual bool + is_number + classtoml_1_1node.html + afcc263be60c33b3f92646b5cfa07393e + () const noexcept=0 + + + virtual bool + is_boolean + classtoml_1_1node.html + a422f765df7ee04fa13254adcda29ae8d + () const noexcept=0 + + + virtual bool + is_date + classtoml_1_1node.html + a1c86fb0bd8e241c4768108988a59332a + () const noexcept=0 + + + virtual bool + is_time + classtoml_1_1node.html + a9266c340ccc94b3349704e91bf12d42d + () const noexcept=0 + + + virtual bool + is_date_time + classtoml_1_1node.html + a900f7589762e01c91fb5b07a2c8e9202 + () const noexcept=0 + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + virtual table * + as_table + classtoml_1_1node.html + ac0ca09368b80436100a1eb042daccacc + () noexcept=0 + + + virtual array * + as_array + classtoml_1_1node.html + a43bc08c435e4fbf5ebbcf34f902a6377 + () noexcept=0 + + + virtual toml::value< std::string > * + as_string + classtoml_1_1node.html + a8560597586915efad21f288f591c23cd + () noexcept=0 + + + virtual toml::value< int64_t > * + as_integer + classtoml_1_1node.html + a9e1419c3f99eda7767d114095b1ad793 + () noexcept=0 + + + virtual toml::value< double > * + as_floating_point + classtoml_1_1node.html + a61d3f2c50952a1c989f82b54c5c2eeda + () noexcept=0 + + + virtual toml::value< bool > * + as_boolean + classtoml_1_1node.html + aea93e54eb94c6cb48d240766983fa493 + () noexcept=0 + + + virtual toml::value< date > * + as_date + classtoml_1_1node.html + adcf92e730609341bb1e3c0ae1d12c36f + () noexcept=0 + + + virtual toml::value< time > * + as_time + classtoml_1_1node.html + a2d88fef8e892aae05c3e9886fdef7dce + () noexcept=0 + + + virtual toml::value< date_time > * + as_date_time + classtoml_1_1node.html + ae1312e66ac95fc1cf6ae12f48e000b2a + () noexcept=0 + + + virtual const table * + as_table + classtoml_1_1node.html + aa167e4d8d6e6db784affe8490e178c8b + () const noexcept=0 + + + virtual const array * + as_array + classtoml_1_1node.html + a7ed34b94f3999b03db45fd5e0830637d + () const noexcept=0 + + + virtual const toml::value< std::string > * + as_string + classtoml_1_1node.html + a47c55af38414fdb32075c378b3405bfa + () const noexcept=0 + + + virtual const toml::value< int64_t > * + as_integer + classtoml_1_1node.html + a43bea93af60b57ecc98efaf50dccfe9b + () const noexcept=0 + + + virtual const toml::value< double > * + as_floating_point + classtoml_1_1node.html + a4ceaa3a398fa76c134c902ec1c4778aa + () const noexcept=0 + + + virtual const toml::value< bool > * + as_boolean + classtoml_1_1node.html + a45dd3436280deeb307127278f816e8e9 + () const noexcept=0 + + + virtual const toml::value< date > * + as_date + classtoml_1_1node.html + ac15b9b4e6aa05ca616bac37610af27fc + () const noexcept=0 + + + virtual const toml::value< time > * + as_time + classtoml_1_1node.html + a7ebf75d2978ae1ea32daff4c063217e7 + () const noexcept=0 + + + virtual const toml::value< date_time > * + as_date_time + classtoml_1_1node.html + a7d7b9d4defe5ffc3f1398715f5e325b3 + () const noexcept=0 + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + aef68f74119416a0a6d0a62f0f7d8d4ea + (const toml::path &path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + afbd39cca3959da4a1d8e1d220b6abe83 + (const toml::path &path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + node_view< node > + operator[] + classtoml_1_1node.html + a8c3214e47f056a3a9bcdb66edd7fa97f + (const toml::path &path) noexcept + + + node_view< const node > + operator[] + classtoml_1_1node.html + a2276f2cac96c095b4e4645ca5bebe0f9 + (const toml::path &path) const noexcept + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a68de6772e259ef122c00b0a9c7b63516 + (node_type ntype, node *&first_nonmatch) noexcept=0 + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a834e10ece19d04b4d774d5f224d50b8f + (node_type ntype, const node *&first_nonmatch) const noexcept=0 + + + virtual bool + is_homogeneous + classtoml_1_1node.html + a5d9191dc545ecded3bc8f7706c63edad + (node_type ntype) const noexcept=0 + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + virtual node_type + type + classtoml_1_1node.html + a10f389035ce13abb00a1191358af6334 + () const noexcept=0 + + + virtual bool + is_table + classtoml_1_1node.html + a50a2501af7e42b0fab060206dde7a99e + () const noexcept=0 + + + virtual bool + is_array + classtoml_1_1node.html + accce7655b0cc340591a755412fde2ed7 + () const noexcept=0 + + + virtual bool + is_array_of_tables + classtoml_1_1node.html + aa09263a05ef361ad233e710308fce690 + () const noexcept=0 + + + virtual bool + is_value + classtoml_1_1node.html + aeddf9eebbd4ece799e5675e2d9d59e4a + () const noexcept=0 + + + virtual bool + is_string + classtoml_1_1node.html + aa95180487162e844129031842d8a9580 + () const noexcept=0 + + + virtual bool + is_integer + classtoml_1_1node.html + ac5390ac64f018947edc75802a53505a5 + () const noexcept=0 + + + virtual bool + is_floating_point + classtoml_1_1node.html + ad8cdb68a69bdc13cda7d4f7663e57847 + () const noexcept=0 + + + virtual bool + is_number + classtoml_1_1node.html + afcc263be60c33b3f92646b5cfa07393e + () const noexcept=0 + + + virtual bool + is_boolean + classtoml_1_1node.html + a422f765df7ee04fa13254adcda29ae8d + () const noexcept=0 + + + virtual bool + is_date + classtoml_1_1node.html + a1c86fb0bd8e241c4768108988a59332a + () const noexcept=0 + + + virtual bool + is_time + classtoml_1_1node.html + a9266c340ccc94b3349704e91bf12d42d + () const noexcept=0 + + + virtual bool + is_date_time + classtoml_1_1node.html + a900f7589762e01c91fb5b07a2c8e9202 + () const noexcept=0 + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + virtual table * + as_table + classtoml_1_1node.html + ac0ca09368b80436100a1eb042daccacc + () noexcept=0 + + + virtual array * + as_array + classtoml_1_1node.html + a43bc08c435e4fbf5ebbcf34f902a6377 + () noexcept=0 + + + virtual toml::value< std::string > * + as_string + classtoml_1_1node.html + a8560597586915efad21f288f591c23cd + () noexcept=0 + + + virtual toml::value< int64_t > * + as_integer + classtoml_1_1node.html + a9e1419c3f99eda7767d114095b1ad793 + () noexcept=0 + + + virtual toml::value< double > * + as_floating_point + classtoml_1_1node.html + a61d3f2c50952a1c989f82b54c5c2eeda + () noexcept=0 + + + virtual toml::value< bool > * + as_boolean + classtoml_1_1node.html + aea93e54eb94c6cb48d240766983fa493 + () noexcept=0 + + + virtual toml::value< date > * + as_date + classtoml_1_1node.html + adcf92e730609341bb1e3c0ae1d12c36f + () noexcept=0 + + + virtual toml::value< time > * + as_time + classtoml_1_1node.html + a2d88fef8e892aae05c3e9886fdef7dce + () noexcept=0 + + + virtual toml::value< date_time > * + as_date_time + classtoml_1_1node.html + ae1312e66ac95fc1cf6ae12f48e000b2a + () noexcept=0 + + + virtual const table * + as_table + classtoml_1_1node.html + aa167e4d8d6e6db784affe8490e178c8b + () const noexcept=0 + + + virtual const array * + as_array + classtoml_1_1node.html + a7ed34b94f3999b03db45fd5e0830637d + () const noexcept=0 + + + virtual const toml::value< std::string > * + as_string + classtoml_1_1node.html + a47c55af38414fdb32075c378b3405bfa + () const noexcept=0 + + + virtual const toml::value< int64_t > * + as_integer + classtoml_1_1node.html + a43bea93af60b57ecc98efaf50dccfe9b + () const noexcept=0 + + + virtual const toml::value< double > * + as_floating_point + classtoml_1_1node.html + a4ceaa3a398fa76c134c902ec1c4778aa + () const noexcept=0 + + + virtual const toml::value< bool > * + as_boolean + classtoml_1_1node.html + a45dd3436280deeb307127278f816e8e9 + () const noexcept=0 + + + virtual const toml::value< date > * + as_date + classtoml_1_1node.html + ac15b9b4e6aa05ca616bac37610af27fc + () const noexcept=0 + + + virtual const toml::value< time > * + as_time + classtoml_1_1node.html + a7ebf75d2978ae1ea32daff4c063217e7 + () const noexcept=0 + + + virtual const toml::value< date_time > * + as_date_time + classtoml_1_1node.html + a7d7b9d4defe5ffc3f1398715f5e325b3 + () const noexcept=0 + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + aef68f74119416a0a6d0a62f0f7d8d4ea + (const toml::path &path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + afbd39cca3959da4a1d8e1d220b6abe83 + (const toml::path &path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + node_view< node > + operator[] + classtoml_1_1node.html + a8c3214e47f056a3a9bcdb66edd7fa97f + (const toml::path &path) noexcept + + + node_view< const node > + operator[] + classtoml_1_1node.html + a2276f2cac96c095b4e4645ca5bebe0f9 + (const toml::path &path) const noexcept + + + + toml::node_view + classtoml_1_1node__view.html + + + ViewedType + viewed_type + classtoml_1_1node__view.html + a1550f4e57532fd03b6c3e9d87805c03a + + + + + node_view + classtoml_1_1node__view.html + a0d8bf511db11b67081bea35c25e4ca9e + () noexcept=default + + + + node_view + classtoml_1_1node__view.html + a199ca0c01e27a74b2ad6dbe554113fb8 + (viewed_type *node) noexcept + + + + node_view + classtoml_1_1node__view.html + af40ced8902e81e354af44a033f05d682 + (viewed_type &node) noexcept + + + + node_view + classtoml_1_1node__view.html + a6f2a4c199237385a61741ab30a64b500 + (const node_view &) noexcept=default + + + + node_view + classtoml_1_1node__view.html + a79091432e79c07c4bb8700f44adfb8d6 + (node_view &&) noexcept=default + + + node_view & + operator= + classtoml_1_1node__view.html + afa455c0337a6fe4d1ca533e10750ba9e + (const node_view &) &noexcept=default + + + node_view & + operator= + classtoml_1_1node__view.html + a3dd8195e3971ebb2110b812783cff136 + (node_view &&) &noexcept=default + + + + operator bool + classtoml_1_1node__view.html + ab8ee0ffcb999601a9b0247c099aa9250 + () const noexcept + + + viewed_type * + node + classtoml_1_1node__view.html + afb42ba6fdddfb407bd37b697a407246d + () const noexcept + + + node_type + type + classtoml_1_1node__view.html + a2483cf1a8314661919b9066ce62c9621 + () const noexcept + + + bool + is_table + classtoml_1_1node__view.html + a70b567ea582c472fe95a89b5b842cee6 + () const noexcept + + + bool + is_array + classtoml_1_1node__view.html + a879d945d2880fc216085d7deb087ad38 + () const noexcept + + + bool + is_value + classtoml_1_1node__view.html + aa58f8de47be5f53738b1a04d7e9d05af + () const noexcept + + + bool + is_string + classtoml_1_1node__view.html + a79b47268155d955b8e2c027b0c2ae983 + () const noexcept + + + bool + is_integer + classtoml_1_1node__view.html + ab9c835ddf017f250d84fa5d5736e8520 + () const noexcept + + + bool + is_floating_point + classtoml_1_1node__view.html + a43ea3eed7b0f133fa7d752a9322c758e + () const noexcept + + + bool + is_number + classtoml_1_1node__view.html + a107732370c62402b1101a78e7382fd8b + () const noexcept + + + bool + is_boolean + classtoml_1_1node__view.html + aa7ee0d1f396e1283c4a11d07b9400897 + () const noexcept + + + bool + is_date + classtoml_1_1node__view.html + a4dc7cf8a57db73fa799a939f7acd549d + () const noexcept + + + bool + is_time + classtoml_1_1node__view.html + a98a6bc33e3ba573c37a069126acf0b8c + () const noexcept + + + bool + is_date_time + classtoml_1_1node__view.html + a5a380f773ae291c942a03e45a88c94b0 + () const noexcept + + + bool + is_array_of_tables + classtoml_1_1node__view.html + a6cc459be36698ec5a9ac0d00b4480eae + () const noexcept + + + bool + is + classtoml_1_1node__view.html + a21d7c55a33aa1c868dde5cbaa7e54ec2 + () const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + a2a2902064421f401e80ea687cef536da + (node_type ntype, viewed_type *&first_nonmatch) const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + afe0abd51e0e108b306be2a3ee9561cca + (node_type ntype) const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + a29c82d83b1d64f016eb42f95fd37e346 + () const noexcept + + + auto * + as + classtoml_1_1node__view.html + a5cd619f292f91fc9d417c61905ea8204 + () const noexcept + + + auto * + as_table + classtoml_1_1node__view.html + a5b73b7eeaa97666ebee3d604171a5576 + () const noexcept + + + auto * + as_array + classtoml_1_1node__view.html + a8593d229d139b05dc81d5d2d97ce3a1f + () const noexcept + + + auto * + as_string + classtoml_1_1node__view.html + a33c4dd8fb9498f6de6fb06714b508d17 + () const noexcept + + + auto * + as_integer + classtoml_1_1node__view.html + ad21750582ec6303e0b257b132ec4409d + () const noexcept + + + auto * + as_floating_point + classtoml_1_1node__view.html + a926821efb73ad7292e3f14841c54871b + () const noexcept + + + auto * + as_boolean + classtoml_1_1node__view.html + a9fec898a7fa88ddbb396fe3b2a81c945 + () const noexcept + + + auto * + as_date + classtoml_1_1node__view.html + a94a7cf14d6ca777de56abd5cdbe8eece + () const noexcept + + + auto * + as_time + classtoml_1_1node__view.html + a94087a35223d51ca76f22a361031bd7e + () const noexcept + + + auto * + as_date_time + classtoml_1_1node__view.html + a5bcb3ac0edcc516efda53fd022057282 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node__view.html + a2d558e7799bc4e24adda096446eb384d + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node__view.html + abb51a912462a258379b968c4074f8324 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node__view.html + a314e5d666dcda3493ff9aa2c0816f53c + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node__view.html + aec5c764293a7eeb20009a484b34d7c3a + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node__view.html + aa5f84bfab779c71a07b04ca0b2db863f + (Func &&visitor) const noexcept(visit_is_nothrow< Func && >) + + + node_view + operator[] + classtoml_1_1node__view.html + a2dde12894f70530d80de45a03eae78fa + (std::string_view key) const noexcept + + + node_view + operator[] + classtoml_1_1node__view.html + a44b94290029477305f0b6720d72bf965 + (const toml::path &path) const noexcept + + + node_view + at_path + classtoml_1_1node__view.html + a59c5432fb77b50ef22098e17d4f956d5 + (std::string_view path) const noexcept + + + node_view + at_path + classtoml_1_1node__view.html + ab265c6f0304647bcd8074ad081f2bf17 + (const toml::path &path) const noexcept + + + node_view + operator[] + classtoml_1_1node__view.html + a35021e65758dc0be505916532b69a7d8 + (std::wstring_view key) const + + + node_view + at_path + classtoml_1_1node__view.html + a157c1eafb7bdf8f33398106017d1b20c + (std::wstring_view path) const + + + node_view + operator[] + classtoml_1_1node__view.html + a5d13b026efcd31812415ead30eeb69db + (size_t index) const noexcept + + + friend std::ostream & + operator<< + classtoml_1_1node__view.html + a170109f0b77888f54b2fcdb8fee0ab90 + (std::ostream &os, const node_view &nv) + + + friend bool + operator== + classtoml_1_1node__view.html + a191820d030035d564fe09f5eb251b927 + (const node_view &lhs, const node_view< T > &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1node__view.html + a3dc82b95849d7e6bd89b5496fe96beaa + (const node_view &lhs, const node_view< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a754bdba78869afe6bccb4b51e0a77e45 + (const node_view &lhs, const table &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a3b39aedbada6221a4e3857b0f0235843 + (const node_view &lhs, const array &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + ad9fd96826fcee43cd1ea1ccf6e22c895 + (const node_view &lhs, const toml::value< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a4dba3ed7356704669e4175fa7c8f5c34 + (const node_view &lhs, const T &rhs) noexcept(!impl::is_wide_string< T >) + + + friend bool + operator== + classtoml_1_1node__view.html + abe826c97f2b451ee287ecf37f46517fb + (const node_view &lhs, const std::initializer_list< T > &rhs) noexcept(!impl::is_wide_string< T >) + + + friend bool + operator== + classtoml_1_1node__view.html + ad4b4144f8033c78e5410f701e5ae7e30 + (const node_view &lhs, const std::vector< T > &rhs) noexcept(!impl::is_wide_string< T >) + + + friend bool + operator== + classtoml_1_1node__view.html + a191820d030035d564fe09f5eb251b927 + (const node_view &lhs, const node_view< T > &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1node__view.html + a3dc82b95849d7e6bd89b5496fe96beaa + (const node_view &lhs, const node_view< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a754bdba78869afe6bccb4b51e0a77e45 + (const node_view &lhs, const table &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a3b39aedbada6221a4e3857b0f0235843 + (const node_view &lhs, const array &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + ad9fd96826fcee43cd1ea1ccf6e22c895 + (const node_view &lhs, const toml::value< T > &rhs) noexcept + + + friend bool + operator== + classtoml_1_1node__view.html + a4dba3ed7356704669e4175fa7c8f5c34 + (const node_view &lhs, const T &rhs) noexcept(!impl::is_wide_string< T >) + + + friend bool + operator== + classtoml_1_1node__view.html + abe826c97f2b451ee287ecf37f46517fb + (const node_view &lhs, const std::initializer_list< T > &rhs) noexcept(!impl::is_wide_string< T >) + + + friend bool + operator== + classtoml_1_1node__view.html + ad4b4144f8033c78e5410f701e5ae7e30 + (const node_view &lhs, const std::vector< T > &rhs) noexcept(!impl::is_wide_string< T >) + + + node_type + type + classtoml_1_1node__view.html + a2483cf1a8314661919b9066ce62c9621 + () const noexcept + + + bool + is_table + classtoml_1_1node__view.html + a70b567ea582c472fe95a89b5b842cee6 + () const noexcept + + + bool + is_array + classtoml_1_1node__view.html + a879d945d2880fc216085d7deb087ad38 + () const noexcept + + + bool + is_value + classtoml_1_1node__view.html + aa58f8de47be5f53738b1a04d7e9d05af + () const noexcept + + + bool + is_string + classtoml_1_1node__view.html + a79b47268155d955b8e2c027b0c2ae983 + () const noexcept + + + bool + is_integer + classtoml_1_1node__view.html + ab9c835ddf017f250d84fa5d5736e8520 + () const noexcept + + + bool + is_floating_point + classtoml_1_1node__view.html + a43ea3eed7b0f133fa7d752a9322c758e + () const noexcept + + + bool + is_number + classtoml_1_1node__view.html + a107732370c62402b1101a78e7382fd8b + () const noexcept + + + bool + is_boolean + classtoml_1_1node__view.html + aa7ee0d1f396e1283c4a11d07b9400897 + () const noexcept + + + bool + is_date + classtoml_1_1node__view.html + a4dc7cf8a57db73fa799a939f7acd549d + () const noexcept + + + bool + is_time + classtoml_1_1node__view.html + a98a6bc33e3ba573c37a069126acf0b8c + () const noexcept + + + bool + is_date_time + classtoml_1_1node__view.html + a5a380f773ae291c942a03e45a88c94b0 + () const noexcept + + + bool + is_array_of_tables + classtoml_1_1node__view.html + a6cc459be36698ec5a9ac0d00b4480eae + () const noexcept + + + bool + is + classtoml_1_1node__view.html + a21d7c55a33aa1c868dde5cbaa7e54ec2 + () const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + a2a2902064421f401e80ea687cef536da + (node_type ntype, viewed_type *&first_nonmatch) const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + afe0abd51e0e108b306be2a3ee9561cca + (node_type ntype) const noexcept + + + bool + is_homogeneous + classtoml_1_1node__view.html + a29c82d83b1d64f016eb42f95fd37e346 + () const noexcept + + + auto * + as + classtoml_1_1node__view.html + a5cd619f292f91fc9d417c61905ea8204 + () const noexcept + + + auto * + as_table + classtoml_1_1node__view.html + a5b73b7eeaa97666ebee3d604171a5576 + () const noexcept + + + auto * + as_array + classtoml_1_1node__view.html + a8593d229d139b05dc81d5d2d97ce3a1f + () const noexcept + + + auto * + as_string + classtoml_1_1node__view.html + a33c4dd8fb9498f6de6fb06714b508d17 + () const noexcept + + + auto * + as_integer + classtoml_1_1node__view.html + ad21750582ec6303e0b257b132ec4409d + () const noexcept + + + auto * + as_floating_point + classtoml_1_1node__view.html + a926821efb73ad7292e3f14841c54871b + () const noexcept + + + auto * + as_boolean + classtoml_1_1node__view.html + a9fec898a7fa88ddbb396fe3b2a81c945 + () const noexcept + + + auto * + as_date + classtoml_1_1node__view.html + a94a7cf14d6ca777de56abd5cdbe8eece + () const noexcept + + + auto * + as_time + classtoml_1_1node__view.html + a94087a35223d51ca76f22a361031bd7e + () const noexcept + + + auto * + as_date_time + classtoml_1_1node__view.html + a5bcb3ac0edcc516efda53fd022057282 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node__view.html + a2d558e7799bc4e24adda096446eb384d + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node__view.html + abb51a912462a258379b968c4074f8324 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node__view.html + a314e5d666dcda3493ff9aa2c0816f53c + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node__view.html + aec5c764293a7eeb20009a484b34d7c3a + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node__view.html + aa5f84bfab779c71a07b04ca0b2db863f + (Func &&visitor) const noexcept(visit_is_nothrow< Func && >) + + + node_view + operator[] + classtoml_1_1node__view.html + a2dde12894f70530d80de45a03eae78fa + (std::string_view key) const noexcept + + + node_view + operator[] + classtoml_1_1node__view.html + a44b94290029477305f0b6720d72bf965 + (const toml::path &path) const noexcept + + + node_view + at_path + classtoml_1_1node__view.html + a59c5432fb77b50ef22098e17d4f956d5 + (std::string_view path) const noexcept + + + node_view + at_path + classtoml_1_1node__view.html + ab265c6f0304647bcd8074ad081f2bf17 + (const toml::path &path) const noexcept + + + node_view + operator[] + classtoml_1_1node__view.html + a35021e65758dc0be505916532b69a7d8 + (std::wstring_view key) const + + + node_view + at_path + classtoml_1_1node__view.html + a157c1eafb7bdf8f33398106017d1b20c + (std::wstring_view path) const + + + node_view + operator[] + classtoml_1_1node__view.html + a5d13b026efcd31812415ead30eeb69db + (size_t index) const noexcept + + + + toml::parse_error + classtoml_1_1parse__error.html + + std::string_view + description + classtoml_1_1parse__error.html + a5582e9d66f8aa3f6ef442c0a04d5282f + () const noexcept + + + const source_region & + source + classtoml_1_1parse__error.html + a8168b4941305654cf4ba8fc96efd0514 + () const noexcept + + + friend std::ostream & + operator<< + classtoml_1_1parse__error.html + a90796878877b2a028354f643be725cf6 + (std::ostream &lhs, const parse_error &rhs) + + + + toml::parse_result + classtoml_1_1parse__result.html + + + parse_result + classtoml_1_1parse__result.html + a49f926286dae7ed5a6298f5a3656548b + () noexcept + + + + parse_result + classtoml_1_1parse__result.html + a058b76f39fb5a971585538f2d4098ba5 + (parse_result &&res) noexcept + + + parse_result & + operator= + classtoml_1_1parse__result.html + aa4c2c770a8d214f9d508582233ff1d84 + (parse_result &&rhs) noexcept + + + + ~parse_result + classtoml_1_1parse__result.html + ad9e22f09854af4c36860d61e0c0f25b1 + () noexcept + + + bool + succeeded + classtoml_1_1parse__result.html + ab5bfcd6ed385016395029bd69ad78a3c + () const noexcept + + + bool + failed + classtoml_1_1parse__result.html + a9097bc552007537f840602ceca00e99b + () const noexcept + + + + operator bool + classtoml_1_1parse__result.html + af66ea78a6dd881521ce865a372298e12 + () const noexcept + + + toml::table & + table + classtoml_1_1parse__result.html + a47d2ead20ae9d1681210c63319a6a162 + () &noexcept + + + toml::table && + table + classtoml_1_1parse__result.html + a77b470b66dd401a0a929006dd788b882 + () &&noexcept + + + const toml::table & + table + classtoml_1_1parse__result.html + a993f5d59c4b10f87138f8abb8a16d51d + () const &noexcept + + + + operator toml::table & + classtoml_1_1parse__result.html + a5e14e22d4d68b27c11711a3319dc6bf9 + () noexcept + + + + operator toml::table && + classtoml_1_1parse__result.html + a8dca1600886954b38b99a4a4f9cb77c4 + () noexcept + + + + operator const toml::table & + classtoml_1_1parse__result.html + a9d059289edaf6c7fb71916b21a2f9c9f + () const noexcept + + + parse_error & + error + classtoml_1_1parse__result.html + aefbb9aafdf00fa1ac979962d22e12e68 + () &noexcept + + + parse_error && + error + classtoml_1_1parse__result.html + ab07914228f9f7436628c99df454f177d + () &&noexcept + + + const parse_error & + error + classtoml_1_1parse__result.html + a9a5929b01df9a7f7f986b8431cefd2b8 + () const &noexcept + + + + operator parse_error & + classtoml_1_1parse__result.html + abc8a693cb538441b5974eff38c716669 + () noexcept + + + + operator parse_error && + classtoml_1_1parse__result.html + a9f70aa665d84aaf5f936dd27f6c95c4a + () noexcept + + + + operator const parse_error & + classtoml_1_1parse__result.html + a43df64e02443b2abfd9d2c86c5e4c30a + () const noexcept + + + node_view< node > + at_path + classtoml_1_1parse__result.html + a09972ac3195147c36fcb40386c863a35 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1parse__result.html + a1296ae08b7d147c6b83f1ba07fc4186f + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1parse__result.html + aebf8e6383263bf51e1145949250ca779 + (const toml::path &path) noexcept + + + node_view< const node > + at_path + classtoml_1_1parse__result.html + a57deb2b5e41a3fd89af32f6a8092a4c1 + (const toml::path &path) const noexcept + + + node_view< node > + at_path + classtoml_1_1parse__result.html + a1d945519896bd0095b4ed6cbb9215774 + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1parse__result.html + a9f9d6bd799058036b11d8de03b43bb57 + (std::wstring_view path) const + + + node_view< node > + operator[] + classtoml_1_1parse__result.html + a29af8ed25f2bb21266b9dd2004c38f2c + (const toml::path &path) noexcept + + + node_view< const node > + operator[] + classtoml_1_1parse__result.html + a84997148a9f0113e39233da93844c6d1 + (const toml::path &path) const noexcept + + + node_view< node > + operator[] + classtoml_1_1parse__result.html + a8825eaef011c7dbb5c1d1e46584e90bc + (std::string_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1parse__result.html + a1d91207197c22f396acba5d46995d8ab + (std::string_view key) const noexcept + + + node_view< node > + operator[] + classtoml_1_1parse__result.html + a67f55af8782d160d14026af394b2954b + (std::wstring_view key) + + + node_view< const node > + operator[] + classtoml_1_1parse__result.html + a025653d2720d17884461814ae3473367 + (std::wstring_view key) const + + + friend std::ostream & + operator<< + classtoml_1_1parse__result.html + ad4eaa8dc3cc144a912a63d9f95331572 + (std::ostream &os, const parse_result &result) + + + table_iterator + iterator + classtoml_1_1parse__result.html + aae503c11e9f9162de5cbef5e2c9f4863 + + + + const_table_iterator + const_iterator + classtoml_1_1parse__result.html + abf92ffb48c1f4d0f129f4032708d4ab0 + + + + table_iterator + begin + classtoml_1_1parse__result.html + a3f641e942f1518dffad6fcc7dc13893d + () noexcept + + + const_table_iterator + begin + classtoml_1_1parse__result.html + a910f13933a0547a2920404287829781f + () const noexcept + + + const_table_iterator + cbegin + classtoml_1_1parse__result.html + af58212d8a367e5c1d38eb5d58708754b + () const noexcept + + + table_iterator + end + classtoml_1_1parse__result.html + a336d398e329f08195d714ff02fdffca6 + () noexcept + + + const_table_iterator + end + classtoml_1_1parse__result.html + a154d32bca3ea50dc5030372675a85a65 + () const noexcept + + + const_table_iterator + cend + classtoml_1_1parse__result.html + afa4f821ad60ceb06327cec6b42b05071 + () const noexcept + + + bool + succeeded + classtoml_1_1parse__result.html + ab5bfcd6ed385016395029bd69ad78a3c + () const noexcept + + + bool + failed + classtoml_1_1parse__result.html + a9097bc552007537f840602ceca00e99b + () const noexcept + + + + operator bool + classtoml_1_1parse__result.html + af66ea78a6dd881521ce865a372298e12 + () const noexcept + + + toml::table & + table + classtoml_1_1parse__result.html + a47d2ead20ae9d1681210c63319a6a162 + () &noexcept + + + toml::table && + table + classtoml_1_1parse__result.html + a77b470b66dd401a0a929006dd788b882 + () &&noexcept + + + const toml::table & + table + classtoml_1_1parse__result.html + a993f5d59c4b10f87138f8abb8a16d51d + () const &noexcept + + + + operator toml::table & + classtoml_1_1parse__result.html + a5e14e22d4d68b27c11711a3319dc6bf9 + () noexcept + + + + operator toml::table && + classtoml_1_1parse__result.html + a8dca1600886954b38b99a4a4f9cb77c4 + () noexcept + + + + operator const toml::table & + classtoml_1_1parse__result.html + a9d059289edaf6c7fb71916b21a2f9c9f + () const noexcept + + + parse_error & + error + classtoml_1_1parse__result.html + aefbb9aafdf00fa1ac979962d22e12e68 + () &noexcept + + + parse_error && + error + classtoml_1_1parse__result.html + ab07914228f9f7436628c99df454f177d + () &&noexcept + + + const parse_error & + error + classtoml_1_1parse__result.html + a9a5929b01df9a7f7f986b8431cefd2b8 + () const &noexcept + + + + operator parse_error & + classtoml_1_1parse__result.html + abc8a693cb538441b5974eff38c716669 + () noexcept + + + + operator parse_error && + classtoml_1_1parse__result.html + a9f70aa665d84aaf5f936dd27f6c95c4a + () noexcept + + + + operator const parse_error & + classtoml_1_1parse__result.html + a43df64e02443b2abfd9d2c86c5e4c30a + () const noexcept + + + node_view< node > + at_path + classtoml_1_1parse__result.html + a09972ac3195147c36fcb40386c863a35 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1parse__result.html + a1296ae08b7d147c6b83f1ba07fc4186f + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1parse__result.html + aebf8e6383263bf51e1145949250ca779 + (const toml::path &path) noexcept + + + node_view< const node > + at_path + classtoml_1_1parse__result.html + a57deb2b5e41a3fd89af32f6a8092a4c1 + (const toml::path &path) const noexcept + + + node_view< node > + at_path + classtoml_1_1parse__result.html + a1d945519896bd0095b4ed6cbb9215774 + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1parse__result.html + a9f9d6bd799058036b11d8de03b43bb57 + (std::wstring_view path) const + + + node_view< node > + operator[] + classtoml_1_1parse__result.html + a29af8ed25f2bb21266b9dd2004c38f2c + (const toml::path &path) noexcept + + + node_view< const node > + operator[] + classtoml_1_1parse__result.html + a84997148a9f0113e39233da93844c6d1 + (const toml::path &path) const noexcept + + + node_view< node > + operator[] + classtoml_1_1parse__result.html + a8825eaef011c7dbb5c1d1e46584e90bc + (std::string_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1parse__result.html + a1d91207197c22f396acba5d46995d8ab + (std::string_view key) const noexcept + + + node_view< node > + operator[] + classtoml_1_1parse__result.html + a67f55af8782d160d14026af394b2954b + (std::wstring_view key) + + + node_view< const node > + operator[] + classtoml_1_1parse__result.html + a025653d2720d17884461814ae3473367 + (std::wstring_view key) const + + + + toml::path + classtoml_1_1path.html + + + path + classtoml_1_1path.html + accc6964f93bc7990f38263894d4daae6 + () noexcept=default + + + + path + classtoml_1_1path.html + aabc43d93056c759d389085b32935ec2a + (std::string_view) + + + + path + classtoml_1_1path.html + a4f340e37cfb32ca1fdfebf24e5b842b4 + (std::wstring_view) + + + + ~path + classtoml_1_1path.html + ad585b73db97202e2b4841a64773046e5 + () noexcept=default + + + + path + classtoml_1_1path.html + a3b120d3a25c2f3caffaba984ecf19bdc + (const path &)=default + + + + path + classtoml_1_1path.html + a4b65042b43757e2d509d1563f4ee5342 + (path &&) noexcept=default + + + size_t + size + classtoml_1_1path.html + a129b1539ef880b97468f26ac53538120 + () const noexcept + + + + operator bool + classtoml_1_1path.html + ac482e0b0187449abdbaf74830e0f1e48 + () const noexcept + + + bool + empty + classtoml_1_1path.html + af22c11324f36da827d4256b904d6e421 + () const noexcept + + + path_component & + operator[] + classtoml_1_1path.html + ae5dce1e849fac73d89169795e53e15f3 + (size_t index) noexcept + + + const path_component & + operator[] + classtoml_1_1path.html + aa15b77d275df1147844843404b3def4b + (size_t index) const noexcept + + + path & + operator= + classtoml_1_1path.html + a660ab69db8a42b622bbf623d58397da4 + (const path &)=default + + + path & + operator= + classtoml_1_1path.html + a630751521383d7072a580a9b8e1e3f4f + (path &&) noexcept=default + + + path & + operator= + classtoml_1_1path.html + af5da17b2697b6d93ed6a111b7a05f569 + (std::string_view) + + + path & + operator= + classtoml_1_1path.html + a50ed97223baadcbf26f4c2311394c04b + (std::wstring_view) + + + path & + assign + classtoml_1_1path.html + a7cb81f8977d4499d0b4e17ac2965cdcc + (const path &p) + + + path & + assign + classtoml_1_1path.html + ae3110f90fa002bb2d5046a575811a57f + (path &&p) noexcept + + + path & + assign + classtoml_1_1path.html + ae08245751676ffd3261540e9d9a4ce16 + (std::string_view str) + + + path & + assign + classtoml_1_1path.html + adcbcf8f53945d889d525a9562e380308 + (std::wstring_view str) + + + path & + operator+= + classtoml_1_1path.html + aabc9213e26b1db7d87fbfc504e39695f + (const path &) + + + path & + operator+= + classtoml_1_1path.html + a4eeaed05f49c2b9017bef230754f3777 + (path &&) + + + path & + operator+= + classtoml_1_1path.html + a71085a959e83687873f72aeffe03a242 + (std::string_view) + + + path & + operator+= + classtoml_1_1path.html + a834f7fe3bfb77ca19faccf5394c4b381 + (std::wstring_view) + + + path & + append + classtoml_1_1path.html + a224e1f74cc7773354062d5d69ec0a90e + (const path &p) + + + path & + append + classtoml_1_1path.html + a05d52919fcca2c2e058a52e4fe6e07f8 + (path &&p) + + + path & + append + classtoml_1_1path.html + add3d5c222320fab26fd5cadd9a610e04 + (std::string_view str) + + + path & + append + classtoml_1_1path.html + ae4be853daa76de724446f8aa2bff4b0f + (std::wstring_view str) + + + path & + prepend + classtoml_1_1path.html + acf3f8ebc882216590047e0fd9ca679e2 + (const path &) + + + path & + prepend + classtoml_1_1path.html + ac0ea4613a8ce311699284d22753a966c + (path &&) + + + path & + prepend + classtoml_1_1path.html + a97cca814a51b425e1baf310d5672fbe4 + (std::string_view) + + + path & + prepend + classtoml_1_1path.html + aa30721d1f0b21c4d42176063dd7ad08a + (std::wstring_view) + + + void + clear + classtoml_1_1path.html + a109a0d82839904cd0808388023305dc4 + () noexcept + + + path & + truncate + classtoml_1_1path.html + aa4140e7e34e06546d509335037d1101b + (size_t n) + + + path + truncated + classtoml_1_1path.html + a2f4f4b86e0a06edd27668dc12410e86b + (size_t n) const + + + path + parent + classtoml_1_1path.html + a0efb28707c4366481ca6e549c1d31a78 + () const + + + path + leaf + classtoml_1_1path.html + ace0a076c96fb0b46828de5d4f59ade5d + (size_t n=1) const + + + path + subpath + classtoml_1_1path.html + afc5f7494ca4cd2a574619d7ffb080cd3 + (const_iterator start, const_iterator end) const + + + path + subpath + classtoml_1_1path.html + aa7e62837fc83f9a78e942c5f4105b8f0 + (size_t start, size_t length) const + + + friend path + operator+ + classtoml_1_1path.html + a8595d795b316e2ec04e2257cecd2aa7c + (const path &lhs, const path &rhs) + + + friend path + operator+ + classtoml_1_1path.html + aa752dbb500cd4fa6efe4195266852ada + (const path &lhs, std::string_view rhs) + + + friend path + operator+ + classtoml_1_1path.html + a238f3a1d147825f4596718983ff4eea2 + (std::string_view lhs, const path &rhs) + + + friend path + operator+ + classtoml_1_1path.html + af6cb0b10895f5308e1b02aec607cb5a0 + (const path &lhs, std::wstring_view rhs) + + + friend path + operator+ + classtoml_1_1path.html + ae4c30c186c418ed4e7c9cc0ce1c2d167 + (std::wstring_view lhs, const path &rhs) + + + friend bool + operator== + classtoml_1_1path.html + a5d23cf873bac38cf71970fa3710a8cc2 + (const path &lhs, const path &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1path.html + a7c09a0a727d62a8a0526df213bf609f2 + (const path &lhs, const path &rhs) noexcept + + + friend bool + operator== + classtoml_1_1path.html + a85f0a0111e2b80bebe29d4ce0085e4a6 + (const path &lhs, std::string_view rhs) + + + friend bool + operator== + classtoml_1_1path.html + acaa57e919274df170a42fb906fe2b5a4 + (std::string_view lhs, const path &rhs) + + + friend bool + operator!= + classtoml_1_1path.html + a4aac6128cf3096aad26b0b0a96c2146b + (const path &lhs, std::string_view rhs) + + + friend bool + operator!= + classtoml_1_1path.html + ac52129303944b45af80b81ad7661f0b9 + (std::string_view lhs, const path &rhs) + + + friend bool + operator== + classtoml_1_1path.html + a87379c0582c782cff4740608e0343158 + (const path &lhs, std::wstring_view rhs) + + + friend bool + operator== + classtoml_1_1path.html + a2149371c079844c9891a92fa74a89d38 + (std::wstring_view lhs, const path &rhs) + + + friend bool + operator!= + classtoml_1_1path.html + a6151f164638727d9c4df34087ec43044 + (const path &lhs, std::wstring_view rhs) + + + friend bool + operator!= + classtoml_1_1path.html + a6c525194daf7a573eae71f4b9e33ee58 + (std::wstring_view lhs, const path &rhs) + + + std::vector< path_component >::iterator + iterator + classtoml_1_1path.html + ad752d8838221c179af93c94d8a7ed3d2 + + + + std::vector< path_component >::const_iterator + const_iterator + classtoml_1_1path.html + aaed31ecb434c644dc316042b744a6a59 + + + + iterator + begin + classtoml_1_1path.html + a4d44a1165c0b5dc1b3171db952b56afd + () noexcept + + + iterator + end + classtoml_1_1path.html + a884ed05a1f4ad2a2d4fe9133eb72a391 + () noexcept + + + const_iterator + begin + classtoml_1_1path.html + ad757a451dd6902f26a8d2ad3c3f15194 + () const noexcept + + + const_iterator + end + classtoml_1_1path.html + add0dbda00d37c1838b55de73f31c2dc6 + () const noexcept + + + const_iterator + cbegin + classtoml_1_1path.html + adc73ea43ee4542041c58186691f665e8 + () const noexcept + + + const_iterator + cend + classtoml_1_1path.html + aae5ffcde5edfbe8ae33cadafdac34bfa + () const noexcept + + + path & + operator= + classtoml_1_1path.html + a660ab69db8a42b622bbf623d58397da4 + (const path &)=default + + + path & + operator= + classtoml_1_1path.html + a630751521383d7072a580a9b8e1e3f4f + (path &&) noexcept=default + + + path & + operator= + classtoml_1_1path.html + af5da17b2697b6d93ed6a111b7a05f569 + (std::string_view) + + + path & + operator= + classtoml_1_1path.html + a50ed97223baadcbf26f4c2311394c04b + (std::wstring_view) + + + path & + assign + classtoml_1_1path.html + a7cb81f8977d4499d0b4e17ac2965cdcc + (const path &p) + + + path & + assign + classtoml_1_1path.html + ae3110f90fa002bb2d5046a575811a57f + (path &&p) noexcept + + + path & + assign + classtoml_1_1path.html + ae08245751676ffd3261540e9d9a4ce16 + (std::string_view str) + + + path & + assign + classtoml_1_1path.html + adcbcf8f53945d889d525a9562e380308 + (std::wstring_view str) + + + path & + operator+= + classtoml_1_1path.html + aabc9213e26b1db7d87fbfc504e39695f + (const path &) + + + path & + operator+= + classtoml_1_1path.html + a4eeaed05f49c2b9017bef230754f3777 + (path &&) + + + path & + operator+= + classtoml_1_1path.html + a71085a959e83687873f72aeffe03a242 + (std::string_view) + + + path & + operator+= + classtoml_1_1path.html + a834f7fe3bfb77ca19faccf5394c4b381 + (std::wstring_view) + + + path & + append + classtoml_1_1path.html + a224e1f74cc7773354062d5d69ec0a90e + (const path &p) + + + path & + append + classtoml_1_1path.html + a05d52919fcca2c2e058a52e4fe6e07f8 + (path &&p) + + + path & + append + classtoml_1_1path.html + add3d5c222320fab26fd5cadd9a610e04 + (std::string_view str) + + + path & + append + classtoml_1_1path.html + ae4be853daa76de724446f8aa2bff4b0f + (std::wstring_view str) + + + path & + prepend + classtoml_1_1path.html + acf3f8ebc882216590047e0fd9ca679e2 + (const path &) + + + path & + prepend + classtoml_1_1path.html + ac0ea4613a8ce311699284d22753a966c + (path &&) + + + path & + prepend + classtoml_1_1path.html + a97cca814a51b425e1baf310d5672fbe4 + (std::string_view) + + + path & + prepend + classtoml_1_1path.html + aa30721d1f0b21c4d42176063dd7ad08a + (std::wstring_view) + + + std::string + str + classtoml_1_1path.html + a8d70d707cbd38ffc03fcb3b6f81069fa + () const + + + + operator std::string + classtoml_1_1path.html + a48e8847229969e912855c71a8c59c094 + () const + + + std::wstring + wide_str + classtoml_1_1path.html + a0a824034b0ef08cb2e497af21858a574 + () const + + + + operator std::wstring + classtoml_1_1path.html + ac77a8dffca78bd3091b7db123837097b + () const + + + friend std::ostream & + operator<< + classtoml_1_1path.html + a0f19c68fa53ab75540f2ebf28088bd68 + (std::ostream &os, const path &rhs) + + + void + clear + classtoml_1_1path.html + a109a0d82839904cd0808388023305dc4 + () noexcept + + + path & + truncate + classtoml_1_1path.html + aa4140e7e34e06546d509335037d1101b + (size_t n) + + + path + truncated + classtoml_1_1path.html + a2f4f4b86e0a06edd27668dc12410e86b + (size_t n) const + + + path + parent + classtoml_1_1path.html + a0efb28707c4366481ca6e549c1d31a78 + () const + + + path + leaf + classtoml_1_1path.html + ace0a076c96fb0b46828de5d4f59ade5d + (size_t n=1) const + + + path + subpath + classtoml_1_1path.html + afc5f7494ca4cd2a574619d7ffb080cd3 + (const_iterator start, const_iterator end) const + + + path + subpath + classtoml_1_1path.html + aa7e62837fc83f9a78e942c5f4105b8f0 + (size_t start, size_t length) const + + + friend path + operator+ + classtoml_1_1path.html + a8595d795b316e2ec04e2257cecd2aa7c + (const path &lhs, const path &rhs) + + + friend path + operator+ + classtoml_1_1path.html + aa752dbb500cd4fa6efe4195266852ada + (const path &lhs, std::string_view rhs) + + + friend path + operator+ + classtoml_1_1path.html + a238f3a1d147825f4596718983ff4eea2 + (std::string_view lhs, const path &rhs) + + + friend path + operator+ + classtoml_1_1path.html + af6cb0b10895f5308e1b02aec607cb5a0 + (const path &lhs, std::wstring_view rhs) + + + friend path + operator+ + classtoml_1_1path.html + ae4c30c186c418ed4e7c9cc0ce1c2d167 + (std::wstring_view lhs, const path &rhs) + + + friend bool + operator== + classtoml_1_1path.html + a5d23cf873bac38cf71970fa3710a8cc2 + (const path &lhs, const path &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1path.html + a7c09a0a727d62a8a0526df213bf609f2 + (const path &lhs, const path &rhs) noexcept + + + friend bool + operator== + classtoml_1_1path.html + a85f0a0111e2b80bebe29d4ce0085e4a6 + (const path &lhs, std::string_view rhs) + + + friend bool + operator== + classtoml_1_1path.html + acaa57e919274df170a42fb906fe2b5a4 + (std::string_view lhs, const path &rhs) + + + friend bool + operator!= + classtoml_1_1path.html + a4aac6128cf3096aad26b0b0a96c2146b + (const path &lhs, std::string_view rhs) + + + friend bool + operator!= + classtoml_1_1path.html + ac52129303944b45af80b81ad7661f0b9 + (std::string_view lhs, const path &rhs) + + + friend bool + operator== + classtoml_1_1path.html + a87379c0582c782cff4740608e0343158 + (const path &lhs, std::wstring_view rhs) + + + friend bool + operator== + classtoml_1_1path.html + a2149371c079844c9891a92fa74a89d38 + (std::wstring_view lhs, const path &rhs) + + + friend bool + operator!= + classtoml_1_1path.html + a6151f164638727d9c4df34087ec43044 + (const path &lhs, std::wstring_view rhs) + + + friend bool + operator!= + classtoml_1_1path.html + a6c525194daf7a573eae71f4b9e33ee58 + (std::wstring_view lhs, const path &rhs) + + + + toml::path_component + classtoml_1_1path__component.html + + + path_component + classtoml_1_1path__component.html + a71021caeadfba986add66776fde75afc + () + + + + path_component + classtoml_1_1path__component.html + ae8588444d8e20eedda3c7c9de020211d + (size_t index) noexcept + + + + path_component + classtoml_1_1path__component.html + a0a43eb66501060d7904e92ce83992231 + (std::string_view key) + + + + path_component + classtoml_1_1path__component.html + ae5cabcb9ca01c6fe1a523ebaf27b8203 + (std::wstring_view key) + + + + path_component + classtoml_1_1path__component.html + a7b6ed29a247bfb453e67e84c4000ad32 + (const path_component &pc) + + + + path_component + classtoml_1_1path__component.html + a8510261dadffa958e0dd334fc442bff2 + (path_component &&pc) noexcept + + + path_component & + operator= + classtoml_1_1path__component.html + aa32a4eef434a839c7379e5c9a734be42 + (const path_component &rhs) + + + path_component & + operator= + classtoml_1_1path__component.html + a2a9f790c3f54919bbeb6617d27df8dbf + (path_component &&rhs) noexcept + + + path_component & + operator= + classtoml_1_1path__component.html + a8a1c7128de9bde5c4e17037a827fe050 + (size_t new_index) noexcept + + + path_component & + operator= + classtoml_1_1path__component.html + a6f6d6747a56a2480608654f682816df2 + (std::string_view new_key) + + + path_component & + operator= + classtoml_1_1path__component.html + a16ae3aa3861f989a6aa6ec7d5f7533f6 + (std::wstring_view new_key) + + + + ~path_component + classtoml_1_1path__component.html + a9023bc344bbf001fb54661491d52ed21 + () noexcept + + + path_component_type + type + classtoml_1_1path__component.html + a59858d261f3e4e9e67d83835163312d5 + () const noexcept + + + size_t + index + classtoml_1_1path__component.html + aa2c540242b230123321196a87267fd58 + () const noexcept + + + + operator size_t + classtoml_1_1path__component.html + a0776d976060500ceba2491dbcffa04e8 + () const noexcept + + + const std::string & + key + classtoml_1_1path__component.html + a222d79d89d6fdf075e948aa2a91ae375 + () const noexcept + + + + operator const std::string & + classtoml_1_1path__component.html + aa6f05d78ce148082e85ac7f648ef1b6a + () const noexcept + + + friend bool + operator== + classtoml_1_1path__component.html + a9aef313f246e34a691c7e7475a62f3dd + (const path_component &lhs, const path_component &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1path__component.html + a6ebe7d221b72eff60b9570c9e87aaa9a + (const path_component &lhs, const path_component &rhs) noexcept + + + size_t + index + classtoml_1_1path__component.html + aa2c540242b230123321196a87267fd58 + () const noexcept + + + + operator size_t + classtoml_1_1path__component.html + a0776d976060500ceba2491dbcffa04e8 + () const noexcept + + + const std::string & + key + classtoml_1_1path__component.html + a222d79d89d6fdf075e948aa2a91ae375 + () const noexcept + + + + operator const std::string & + classtoml_1_1path__component.html + aa6f05d78ce148082e85ac7f648ef1b6a + () const noexcept + + + friend bool + operator== + classtoml_1_1path__component.html + a9aef313f246e34a691c7e7475a62f3dd + (const path_component &lhs, const path_component &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1path__component.html + a6ebe7d221b72eff60b9570c9e87aaa9a + (const path_component &lhs, const path_component &rhs) noexcept + + + + toml::source_position + structtoml_1_1source__position.html + + constexpr + operator bool + structtoml_1_1source__position.html + accba2f34a07d8b453b8f2f6baf2d73cf + () const noexcept + + + source_index + line + structtoml_1_1source__position.html + ab21cac59798d70e25fe97ac7433763cc + + + + source_index + column + structtoml_1_1source__position.html + a1ca6d0db40c69d2784703011f7cf5434 + + + + constexpr friend bool + operator== + structtoml_1_1source__position.html + a2661adb822c0291c5328d9d00e4b9a8f + (const source_position &lhs, const source_position &rhs) noexcept + + + constexpr friend bool + operator!= + structtoml_1_1source__position.html + a90fec8fa1014a1358a362f9171cdb073 + (const source_position &lhs, const source_position &rhs) noexcept + + + constexpr friend bool + operator< + structtoml_1_1source__position.html + a771714902fb113445597a1fd2a24e8cd + (const source_position &lhs, const source_position &rhs) noexcept + + + constexpr friend bool + operator<= + structtoml_1_1source__position.html + abb7d47c85374301ec48e7c5f3ee1c71a + (const source_position &lhs, const source_position &rhs) noexcept + + + constexpr friend bool + operator> + structtoml_1_1source__position.html + a6050abda53e8d371cf328179ef70a1f7 + (const source_position &lhs, const source_position &rhs) noexcept + + + constexpr friend bool + operator>= + structtoml_1_1source__position.html + a14386eeea63b71de792b8a752ee5d4df + (const source_position &lhs, const source_position &rhs) noexcept + + + friend std::ostream & + operator<< + structtoml_1_1source__position.html + a40b4b23ccd23a205a2c2298853066aba + (std::ostream &lhs, const source_position &rhs) + + + + toml::source_region + structtoml_1_1source__region.html + + optional< std::wstring > + wide_path + structtoml_1_1source__region.html + a8e9110cd42e834f95e9a12c59909c1c0 + () const + + + source_position + begin + structtoml_1_1source__region.html + ab36a5db15201864a13fb628f331196d0 + + + + source_position + end + structtoml_1_1source__region.html + a054940b42dcf83391697ec2b8690531d + + + + source_path_ptr + path + structtoml_1_1source__region.html + a25fc23f579edb8afc0818c013c5ac5d7 + + + + friend std::ostream & + operator<< + structtoml_1_1source__region.html + a9de8ac24a607abd098bb4179520f3734 + (std::ostream &lhs, const source_region &rhs) + + + + toml::table + classtoml_1_1table.html + toml::node + + + table + classtoml_1_1table.html + a823f0d3385d2d8d8320a72f78c677a35 + () noexcept + + + + table + classtoml_1_1table.html + a8c06941e05e31602d46f26ba84d14b23 + (const table &) + + + + table + classtoml_1_1table.html + ab47a76ab242afa13f1a74e5e2bcded44 + (table &&other) noexcept + + + + table + classtoml_1_1table.html + a7fdc52c0aa1bd67ae6738f029787bc2f + (std::initializer_list< impl::table_init_pair > kvps) + + + table & + operator= + classtoml_1_1table.html + ac4bdf5ade95ac5afa472ae1219b8b89d + (const table &) + + + table & + operator= + classtoml_1_1table.html + a5c5fd0e11db828ab264eccc96dfdd619 + (table &&rhs) noexcept + + + node_type + type + classtoml_1_1table.html + a03d15150652176b1714b70fb035cdeb0 + () const noexcept final + + + bool + is_homogeneous + classtoml_1_1table.html + abe1cc42533dc108b2062de2666471faa + (node_type ntype) const noexcept final + + + bool + is_homogeneous + classtoml_1_1table.html + af1a2f48edbb3afa9363c392595830846 + (node_type ntype, node *&first_nonmatch) noexcept final + + + bool + is_homogeneous + classtoml_1_1table.html + a8a0a8d4e44883a2467798dad07ddcb43 + (node_type ntype, const node *&first_nonmatch) const noexcept final + + + bool + is_table + classtoml_1_1table.html + a2cdfa1fd3e9d5c64cb5d4089a1d4344e + () const noexcept final + + + bool + is_array + classtoml_1_1table.html + a56d186a17d8e24bfa90fa6578e7b3872 + () const noexcept final + + + bool + is_array_of_tables + classtoml_1_1table.html + a52e6d4f667e464a49ac4928c8ed31fec + () const noexcept final + + + bool + is_value + classtoml_1_1table.html + aae222bf8089461dd4954311d1e403386 + () const noexcept final + + + bool + is_string + classtoml_1_1table.html + a6bf5f3666709891c5c6beba70835604a + () const noexcept final + + + bool + is_integer + classtoml_1_1table.html + a1a8b05c8de343cff20b47189d309862b + () const noexcept final + + + bool + is_floating_point + classtoml_1_1table.html + a6eafaab181b8ce2632b5c0556941fb76 + () const noexcept final + + + bool + is_number + classtoml_1_1table.html + a89392000e892868540f0513f4be45ba2 + () const noexcept final + + + bool + is_boolean + classtoml_1_1table.html + a60c4177e5d411c2f8be30f0b99b68189 + () const noexcept final + + + bool + is_date + classtoml_1_1table.html + a3052f7b2bce6add8ef50ea77c59338c4 + () const noexcept final + + + bool + is_time + classtoml_1_1table.html + a1fc645d975ce2b07348e1e9f8029d0c1 + () const noexcept final + + + bool + is_date_time + classtoml_1_1table.html + a38d82efe9d6fc89b5140e5abdde9127d + () const noexcept final + + + table * + as_table + classtoml_1_1table.html + af9cb47ecee9c13ded1308b64902f8a5c + () noexcept final + + + array * + as_array + classtoml_1_1table.html + a673bdcac9903b7da00c5893f6d7fe8e0 + () noexcept final + + + toml::value< std::string > * + as_string + classtoml_1_1table.html + aa8e3920bff569dee33fe8e34ffb6361d + () noexcept final + + + toml::value< int64_t > * + as_integer + classtoml_1_1table.html + a5b86281620ba34efabf7e3c4bef9675b + () noexcept final + + + toml::value< double > * + as_floating_point + classtoml_1_1table.html + ac3b5e969c4aaeebc3c36d514c3b54d5f + () noexcept final + + + toml::value< bool > * + as_boolean + classtoml_1_1table.html + a0cd6412f40c200939645028417d789cf + () noexcept final + + + toml::value< date > * + as_date + classtoml_1_1table.html + a1b5f7025e387eb10f16d4b3a763db501 + () noexcept final + + + toml::value< time > * + as_time + classtoml_1_1table.html + a980f61149308e193282b8f5bfaeda284 + () noexcept final + + + toml::value< date_time > * + as_date_time + classtoml_1_1table.html + a6a33617f7d6d95ef676ce0cb098d2970 + () noexcept final + + + const table * + as_table + classtoml_1_1table.html + a84fc8b87acc1f9f86384d375893f5d3c + () const noexcept final + + + const array * + as_array + classtoml_1_1table.html + af2dda58dc42b782b0c36a2367d948957 + () const noexcept final + + + const toml::value< std::string > * + as_string + classtoml_1_1table.html + aa8ab32e1b60f5b3b0bf9539076c89acc + () const noexcept final + + + const toml::value< int64_t > * + as_integer + classtoml_1_1table.html + a98c296e8a635190bab97e886c83f2648 + () const noexcept final + + + const toml::value< double > * + as_floating_point + classtoml_1_1table.html + aaf302e3edd84df4c31765ffb15aed0f2 + () const noexcept final + + + const toml::value< bool > * + as_boolean + classtoml_1_1table.html + abc2f126a04989073083065662df9e72b + () const noexcept final + + + const toml::value< date > * + as_date + classtoml_1_1table.html + a5759fb6852495964827f9982e9c8ce12 + () const noexcept final + + + const toml::value< time > * + as_time + classtoml_1_1table.html + a19e3aa65fd09b2f36d98627c432638b1 + () const noexcept final + + + const toml::value< date_time > * + as_date_time + classtoml_1_1table.html + a2fd53fcb036c335021e3ad098cf4d883 + () const noexcept final + + + bool + is_inline + classtoml_1_1table.html + a53be1b93aa90608ed378323df835a2f3 + () const noexcept + + + void + is_inline + classtoml_1_1table.html + a8e797a683ff2bacd14d7e7461ecd2780 + (bool val) noexcept + + + node * + get + classtoml_1_1table.html + ae6811ea7c692ac71880693e225c66aed + (std::string_view key) noexcept + + + const node * + get + classtoml_1_1table.html + a43afae4f760f715c69b0b8aa0a7ef071 + (std::string_view key) const noexcept + + + node * + get + classtoml_1_1table.html + a637ff9b8eb2880a1084f01b7b0725b12 + (std::wstring_view key) + + + const node * + get + classtoml_1_1table.html + add0f0c51c63d385f881022cab988744c + (std::wstring_view key) const + + + impl::wrap_node< T > * + get_as + classtoml_1_1table.html + afb960c9b2ea8066f917d22d348758513 + (std::string_view key) noexcept + + + const impl::wrap_node< T > * + get_as + classtoml_1_1table.html + aa21b91ee2ed48b24bf684b762f01c684 + (std::string_view key) const noexcept + + + impl::wrap_node< T > * + get_as + classtoml_1_1table.html + a32bfcd190cb9a8e06f381097a23d0b66 + (std::wstring_view key) + + + const impl::wrap_node< T > * + get_as + classtoml_1_1table.html + a0099ccf5df2f15ca17309c1897cb5e61 + (std::wstring_view key) const + + + node & + at + classtoml_1_1table.html + ae1e3925fca9b027958934a5c015c6c98 + (std::string_view key) + + + const node & + at + classtoml_1_1table.html + acadf9153fcdc5019add35426044f369e + (std::string_view key) const + + + node & + at + classtoml_1_1table.html + aef4d6369cf64a56322b96f1a15f761c6 + (std::wstring_view key) + + + const node & + at + classtoml_1_1table.html + ae8429bf4d0d3dd15b82344b575ec2a15 + (std::wstring_view key) const + + + bool + empty + classtoml_1_1table.html + a554f495f6f2ebc993be1bd0379447051 + () const noexcept + + + size_t + size + classtoml_1_1table.html + ad7c4105854cc817bf6e781fa7fb1b6d6 + () const noexcept + + + iterator + lower_bound + classtoml_1_1table.html + acc5180d0f3b1a78f45962f246a5d9605 + (std::string_view key) noexcept + + + const_iterator + lower_bound + classtoml_1_1table.html + a3b678ac60d00790308b96f5e51da4274 + (std::string_view key) const noexcept + + + iterator + lower_bound + classtoml_1_1table.html + aaaffca1b5d53d7b72d2f29c14f06d75e + (std::wstring_view key) + + + const_iterator + lower_bound + classtoml_1_1table.html + a2799383d484028ef5f466f8d1d34f315 + (std::wstring_view key) const + + + iterator + find + classtoml_1_1table.html + a087ecb9d9fd4562d79f83341f0c643c0 + (std::string_view key) noexcept + + + const_iterator + find + classtoml_1_1table.html + a65a894481bab5dd2bd00690931ed2692 + (std::string_view key) const noexcept + + + bool + contains + classtoml_1_1table.html + aacf6efa6e7865211f7a1283f79a88ee0 + (std::string_view key) const noexcept + + + iterator + find + classtoml_1_1table.html + ab1f12a827212d23ee0895fda92a5113c + (std::wstring_view key) + + + const_iterator + find + classtoml_1_1table.html + a25f8f4a8c4672042d75b810856bd676f + (std::wstring_view key) const + + + bool + contains + classtoml_1_1table.html + a7bec8d45353adeac918668a9fc5cb6a2 + (std::wstring_view key) const + + + iterator + erase + classtoml_1_1table.html + a1a90984876ccdd03aaa9e0f9801a839f + (iterator pos) noexcept + + + iterator + erase + classtoml_1_1table.html + a4dafb4ae116d92add973e5f27f880a9d + (const_iterator pos) noexcept + + + iterator + erase + classtoml_1_1table.html + a59f4dd9e42b73c9c1ec43134bef7e113 + (const_iterator begin, const_iterator end) noexcept + + + size_t + erase + classtoml_1_1table.html + ac6064df3f6f23b022884390a9963c1bc + (std::string_view key) noexcept + + + size_t + erase + classtoml_1_1table.html + add732807ee5e8fde81ceaa33acbaa7c6 + (std::wstring_view key) + + + table & + prune + classtoml_1_1table.html + a7f4d1d90dcea74d84f70db7e2d70c78a + (bool recursive=true) &noexcept + + + table && + prune + classtoml_1_1table.html + a14a59eed720b4d01840e290f82bb87b5 + (bool recursive=true) &&noexcept + + + void + clear + classtoml_1_1table.html + aa710f85c588a1b00c3192d1553de4eef + () noexcept + + + iterator + emplace_hint + classtoml_1_1table.html + a0d2378b5d13432bf8e325c388c650189 + (const_iterator hint, KeyType &&key, ValueArgs &&... args) + + + std::pair< iterator, bool > + insert + classtoml_1_1table.html + aed4c994aec5209b69d54d19f306b31bc + (KeyType &&key, ValueType &&val, value_flags flags=preserve_source_value_flags) + + + void + insert + classtoml_1_1table.html + a331eb6de04d95c3f76bf64e6f84d4ad6 + (Iter begin, Iter end, value_flags flags=preserve_source_value_flags) + + + std::pair< iterator, bool > + insert_or_assign + classtoml_1_1table.html + aa160b71ed6bc6fc638b19b5d9a8ef569 + (KeyType &&key, ValueType &&val, value_flags flags=preserve_source_value_flags) + + + std::pair< iterator, bool > + emplace + classtoml_1_1table.html + a485d7763c578d716b4f22abb1db3c975 + (KeyType &&key, ValueArgs &&... args) + + + node_view< node > + operator[] + classtoml_1_1table.html + a6d8386049f630c8551597a2180479c7c + (std::string_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1table.html + a9b13a19ddfcd2f76685f57587d28701c + (std::string_view key) const noexcept + + + node_view< node > + operator[] + classtoml_1_1table.html + a706215b69aefbcc303e2882341c766eb + (std::wstring_view key) + + + node_view< const node > + operator[] + classtoml_1_1table.html + a5c4132e9936b1d6b0d9f2ccda7417fd7 + (std::wstring_view key) const + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + aef68f74119416a0a6d0a62f0f7d8d4ea + (const toml::path &path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + afbd39cca3959da4a1d8e1d220b6abe83 + (const toml::path &path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + node_view< node > + operator[] + classtoml_1_1node.html + a8c3214e47f056a3a9bcdb66edd7fa97f + (const toml::path &path) noexcept + + + node_view< const node > + operator[] + classtoml_1_1node.html + a2276f2cac96c095b4e4645ca5bebe0f9 + (const toml::path &path) const noexcept + + + friend std::ostream & + operator<< + classtoml_1_1table.html + a3d8aefefc9701472d2a314a43deba6d2 + (std::ostream &lhs, const table &rhs) + + + friend bool + operator== + classtoml_1_1table.html + af8ebaed8105e5de2098992764f2d534a + (const table &lhs, const table &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1table.html + abdeb5d9d9fc23c031c78e544c6196ea6 + (const table &lhs, const table &rhs) noexcept + + + toml::table_iterator + iterator + classtoml_1_1table.html + a87e055bad435d5332dc496c518733a4d + + + + toml::const_table_iterator + const_iterator + classtoml_1_1table.html + a68fea8ca9b1018f9675fd346b9f4512e + + + + iterator + begin + classtoml_1_1table.html + a334f050427eb20c8530254f4cd6dddf3 + () noexcept + + + const_iterator + begin + classtoml_1_1table.html + a3352f9954e03087b6f596ae23283bd3c + () const noexcept + + + const_iterator + cbegin + classtoml_1_1table.html + a15a5f8bd6d194fcbe925a24e5b73b1fb + () const noexcept + + + iterator + end + classtoml_1_1table.html + a96da67654c5ca131cfec2e3c07aa2730 + () noexcept + + + const_iterator + end + classtoml_1_1table.html + a40c72e81de1da66b7083cad11442cb05 + () const noexcept + + + const_iterator + cend + classtoml_1_1table.html + a311451209f990931ea25828c6091714f + () const noexcept + + + table & + for_each + classtoml_1_1table.html + a67fd24ac51d4ba8f5e1df54c5a5d30aa + (Func &&visitor) &noexcept(for_each_is_nothrow< Func &&, table & >::value) + + + table && + for_each + classtoml_1_1table.html + ae55e8d274a9e9fb79e167d8d1afcaf96 + (Func &&visitor) &&noexcept(for_each_is_nothrow< Func &&, table && >::value) + + + const table & + for_each + classtoml_1_1table.html + ac27c78af74855b9a75b38b177a7e7181 + (Func &&visitor) const &noexcept(for_each_is_nothrow< Func &&, const table & >::value) + + + const table && + for_each + classtoml_1_1table.html + a7e86095758aa39070138c2b0c7bd0a61 + (Func &&visitor) const &&noexcept(for_each_is_nothrow< Func &&, const table && >::value) + + + node_type + type + classtoml_1_1table.html + a03d15150652176b1714b70fb035cdeb0 + () const noexcept final + + + bool + is_homogeneous + classtoml_1_1table.html + abe1cc42533dc108b2062de2666471faa + (node_type ntype) const noexcept final + + + bool + is_homogeneous + classtoml_1_1table.html + af1a2f48edbb3afa9363c392595830846 + (node_type ntype, node *&first_nonmatch) noexcept final + + + bool + is_homogeneous + classtoml_1_1table.html + a8a0a8d4e44883a2467798dad07ddcb43 + (node_type ntype, const node *&first_nonmatch) const noexcept final + + + bool + is_table + classtoml_1_1table.html + a2cdfa1fd3e9d5c64cb5d4089a1d4344e + () const noexcept final + + + bool + is_array + classtoml_1_1table.html + a56d186a17d8e24bfa90fa6578e7b3872 + () const noexcept final + + + bool + is_array_of_tables + classtoml_1_1table.html + a52e6d4f667e464a49ac4928c8ed31fec + () const noexcept final + + + bool + is_value + classtoml_1_1table.html + aae222bf8089461dd4954311d1e403386 + () const noexcept final + + + bool + is_string + classtoml_1_1table.html + a6bf5f3666709891c5c6beba70835604a + () const noexcept final + + + bool + is_integer + classtoml_1_1table.html + a1a8b05c8de343cff20b47189d309862b + () const noexcept final + + + bool + is_floating_point + classtoml_1_1table.html + a6eafaab181b8ce2632b5c0556941fb76 + () const noexcept final + + + bool + is_number + classtoml_1_1table.html + a89392000e892868540f0513f4be45ba2 + () const noexcept final + + + bool + is_boolean + classtoml_1_1table.html + a60c4177e5d411c2f8be30f0b99b68189 + () const noexcept final + + + bool + is_date + classtoml_1_1table.html + a3052f7b2bce6add8ef50ea77c59338c4 + () const noexcept final + + + bool + is_time + classtoml_1_1table.html + a1fc645d975ce2b07348e1e9f8029d0c1 + () const noexcept final + + + bool + is_date_time + classtoml_1_1table.html + a38d82efe9d6fc89b5140e5abdde9127d + () const noexcept final + + + table * + as_table + classtoml_1_1table.html + af9cb47ecee9c13ded1308b64902f8a5c + () noexcept final + + + array * + as_array + classtoml_1_1table.html + a673bdcac9903b7da00c5893f6d7fe8e0 + () noexcept final + + + toml::value< std::string > * + as_string + classtoml_1_1table.html + aa8e3920bff569dee33fe8e34ffb6361d + () noexcept final + + + toml::value< int64_t > * + as_integer + classtoml_1_1table.html + a5b86281620ba34efabf7e3c4bef9675b + () noexcept final + + + toml::value< double > * + as_floating_point + classtoml_1_1table.html + ac3b5e969c4aaeebc3c36d514c3b54d5f + () noexcept final + + + toml::value< bool > * + as_boolean + classtoml_1_1table.html + a0cd6412f40c200939645028417d789cf + () noexcept final + + + toml::value< date > * + as_date + classtoml_1_1table.html + a1b5f7025e387eb10f16d4b3a763db501 + () noexcept final + + + toml::value< time > * + as_time + classtoml_1_1table.html + a980f61149308e193282b8f5bfaeda284 + () noexcept final + + + toml::value< date_time > * + as_date_time + classtoml_1_1table.html + a6a33617f7d6d95ef676ce0cb098d2970 + () noexcept final + + + const table * + as_table + classtoml_1_1table.html + a84fc8b87acc1f9f86384d375893f5d3c + () const noexcept final + + + const array * + as_array + classtoml_1_1table.html + af2dda58dc42b782b0c36a2367d948957 + () const noexcept final + + + const toml::value< std::string > * + as_string + classtoml_1_1table.html + aa8ab32e1b60f5b3b0bf9539076c89acc + () const noexcept final + + + const toml::value< int64_t > * + as_integer + classtoml_1_1table.html + a98c296e8a635190bab97e886c83f2648 + () const noexcept final + + + const toml::value< double > * + as_floating_point + classtoml_1_1table.html + aaf302e3edd84df4c31765ffb15aed0f2 + () const noexcept final + + + const toml::value< bool > * + as_boolean + classtoml_1_1table.html + abc2f126a04989073083065662df9e72b + () const noexcept final + + + const toml::value< date > * + as_date + classtoml_1_1table.html + a5759fb6852495964827f9982e9c8ce12 + () const noexcept final + + + const toml::value< time > * + as_time + classtoml_1_1table.html + a19e3aa65fd09b2f36d98627c432638b1 + () const noexcept final + + + const toml::value< date_time > * + as_date_time + classtoml_1_1table.html + a2fd53fcb036c335021e3ad098cf4d883 + () const noexcept final + + + bool + is_inline + classtoml_1_1table.html + a53be1b93aa90608ed378323df835a2f3 + () const noexcept + + + void + is_inline + classtoml_1_1table.html + a8e797a683ff2bacd14d7e7461ecd2780 + (bool val) noexcept + + + node * + get + classtoml_1_1table.html + ae6811ea7c692ac71880693e225c66aed + (std::string_view key) noexcept + + + const node * + get + classtoml_1_1table.html + a43afae4f760f715c69b0b8aa0a7ef071 + (std::string_view key) const noexcept + + + node * + get + classtoml_1_1table.html + a637ff9b8eb2880a1084f01b7b0725b12 + (std::wstring_view key) + + + const node * + get + classtoml_1_1table.html + add0f0c51c63d385f881022cab988744c + (std::wstring_view key) const + + + impl::wrap_node< T > * + get_as + classtoml_1_1table.html + afb960c9b2ea8066f917d22d348758513 + (std::string_view key) noexcept + + + const impl::wrap_node< T > * + get_as + classtoml_1_1table.html + aa21b91ee2ed48b24bf684b762f01c684 + (std::string_view key) const noexcept + + + impl::wrap_node< T > * + get_as + classtoml_1_1table.html + a32bfcd190cb9a8e06f381097a23d0b66 + (std::wstring_view key) + + + const impl::wrap_node< T > * + get_as + classtoml_1_1table.html + a0099ccf5df2f15ca17309c1897cb5e61 + (std::wstring_view key) const + + + node & + at + classtoml_1_1table.html + ae1e3925fca9b027958934a5c015c6c98 + (std::string_view key) + + + const node & + at + classtoml_1_1table.html + acadf9153fcdc5019add35426044f369e + (std::string_view key) const + + + node & + at + classtoml_1_1table.html + aef4d6369cf64a56322b96f1a15f761c6 + (std::wstring_view key) + + + const node & + at + classtoml_1_1table.html + ae8429bf4d0d3dd15b82344b575ec2a15 + (std::wstring_view key) const + + + bool + empty + classtoml_1_1table.html + a554f495f6f2ebc993be1bd0379447051 + () const noexcept + + + size_t + size + classtoml_1_1table.html + ad7c4105854cc817bf6e781fa7fb1b6d6 + () const noexcept + + + iterator + lower_bound + classtoml_1_1table.html + acc5180d0f3b1a78f45962f246a5d9605 + (std::string_view key) noexcept + + + const_iterator + lower_bound + classtoml_1_1table.html + a3b678ac60d00790308b96f5e51da4274 + (std::string_view key) const noexcept + + + iterator + lower_bound + classtoml_1_1table.html + aaaffca1b5d53d7b72d2f29c14f06d75e + (std::wstring_view key) + + + const_iterator + lower_bound + classtoml_1_1table.html + a2799383d484028ef5f466f8d1d34f315 + (std::wstring_view key) const + + + iterator + find + classtoml_1_1table.html + a087ecb9d9fd4562d79f83341f0c643c0 + (std::string_view key) noexcept + + + const_iterator + find + classtoml_1_1table.html + a65a894481bab5dd2bd00690931ed2692 + (std::string_view key) const noexcept + + + bool + contains + classtoml_1_1table.html + aacf6efa6e7865211f7a1283f79a88ee0 + (std::string_view key) const noexcept + + + iterator + find + classtoml_1_1table.html + ab1f12a827212d23ee0895fda92a5113c + (std::wstring_view key) + + + const_iterator + find + classtoml_1_1table.html + a25f8f4a8c4672042d75b810856bd676f + (std::wstring_view key) const + + + bool + contains + classtoml_1_1table.html + a7bec8d45353adeac918668a9fc5cb6a2 + (std::wstring_view key) const + + + iterator + erase + classtoml_1_1table.html + a1a90984876ccdd03aaa9e0f9801a839f + (iterator pos) noexcept + + + iterator + erase + classtoml_1_1table.html + a4dafb4ae116d92add973e5f27f880a9d + (const_iterator pos) noexcept + + + iterator + erase + classtoml_1_1table.html + a59f4dd9e42b73c9c1ec43134bef7e113 + (const_iterator begin, const_iterator end) noexcept + + + size_t + erase + classtoml_1_1table.html + ac6064df3f6f23b022884390a9963c1bc + (std::string_view key) noexcept + + + size_t + erase + classtoml_1_1table.html + add732807ee5e8fde81ceaa33acbaa7c6 + (std::wstring_view key) + + + table & + prune + classtoml_1_1table.html + a7f4d1d90dcea74d84f70db7e2d70c78a + (bool recursive=true) &noexcept + + + table && + prune + classtoml_1_1table.html + a14a59eed720b4d01840e290f82bb87b5 + (bool recursive=true) &&noexcept + + + void + clear + classtoml_1_1table.html + aa710f85c588a1b00c3192d1553de4eef + () noexcept + + + iterator + emplace_hint + classtoml_1_1table.html + a0d2378b5d13432bf8e325c388c650189 + (const_iterator hint, KeyType &&key, ValueArgs &&... args) + + + std::pair< iterator, bool > + insert + classtoml_1_1table.html + aed4c994aec5209b69d54d19f306b31bc + (KeyType &&key, ValueType &&val, value_flags flags=preserve_source_value_flags) + + + void + insert + classtoml_1_1table.html + a331eb6de04d95c3f76bf64e6f84d4ad6 + (Iter begin, Iter end, value_flags flags=preserve_source_value_flags) + + + std::pair< iterator, bool > + insert_or_assign + classtoml_1_1table.html + aa160b71ed6bc6fc638b19b5d9a8ef569 + (KeyType &&key, ValueType &&val, value_flags flags=preserve_source_value_flags) + + + std::pair< iterator, bool > + emplace + classtoml_1_1table.html + a485d7763c578d716b4f22abb1db3c975 + (KeyType &&key, ValueArgs &&... args) + + + node_view< node > + operator[] + classtoml_1_1table.html + a6d8386049f630c8551597a2180479c7c + (std::string_view key) noexcept + + + node_view< const node > + operator[] + classtoml_1_1table.html + a9b13a19ddfcd2f76685f57587d28701c + (std::string_view key) const noexcept + + + node_view< node > + operator[] + classtoml_1_1table.html + a706215b69aefbcc303e2882341c766eb + (std::wstring_view key) + + + node_view< const node > + operator[] + classtoml_1_1table.html + a5c4132e9936b1d6b0d9f2ccda7417fd7 + (std::wstring_view key) const + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + aef68f74119416a0a6d0a62f0f7d8d4ea + (const toml::path &path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + afbd39cca3959da4a1d8e1d220b6abe83 + (const toml::path &path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + node_view< node > + operator[] + classtoml_1_1node.html + a8c3214e47f056a3a9bcdb66edd7fa97f + (const toml::path &path) noexcept + + + node_view< const node > + operator[] + classtoml_1_1node.html + a2276f2cac96c095b4e4645ca5bebe0f9 + (const toml::path &path) const noexcept + + + friend bool + operator== + classtoml_1_1table.html + af8ebaed8105e5de2098992764f2d534a + (const table &lhs, const table &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1table.html + abdeb5d9d9fc23c031c78e544c6196ea6 + (const table &lhs, const table &rhs) noexcept + + + + toml::time + structtoml_1_1time.html + + + time + structtoml_1_1time.html + a460d6626a20b992f38c676bf5ee62a20 + () noexcept=default + + + constexpr + time + structtoml_1_1time.html + acaec3dc6784706c57cc712ab403123e6 + (H h, M m, S s=S{}, NS ns=NS{}) noexcept + + + uint8_t + hour + structtoml_1_1time.html + a18f32a58846d333f9e866b725b7b7ae4 + + + + uint8_t + minute + structtoml_1_1time.html + a02de4fe041dfa9535eb4df60d86f7fb4 + + + + uint8_t + second + structtoml_1_1time.html + a8ae0ab849a761543207ca86a2e1d0fdf + + + + uint32_t + nanosecond + structtoml_1_1time.html + a3e9c60650ccd21f1e47132b777547185 + + + + constexpr friend bool + operator== + structtoml_1_1time.html + aa88d156f8ea405513e00702b3c88de2f + (const time &lhs, const time &rhs) noexcept + + + constexpr friend bool + operator!= + structtoml_1_1time.html + a76766a077e105960758caa4a9cbfd25b + (const time &lhs, const time &rhs) noexcept + + + constexpr friend bool + operator< + structtoml_1_1time.html + a220d5428532dc59f1846f29159430be8 + (const time &lhs, const time &rhs) noexcept + + + constexpr friend bool + operator<= + structtoml_1_1time.html + a459d4906732bd6c6129de62f1c601a60 + (const time &lhs, const time &rhs) noexcept + + + constexpr friend bool + operator> + structtoml_1_1time.html + a8564e5d443652ec48b50acedee1ab64c + (const time &lhs, const time &rhs) noexcept + + + constexpr friend bool + operator>= + structtoml_1_1time.html + ae551c63caf265a78d5a73c797ee538f5 + (const time &lhs, const time &rhs) noexcept + + + friend std::ostream & + operator<< + structtoml_1_1time.html + aad81b91942de3b3f2d54656c8a686ee7 + (std::ostream &lhs, const time &rhs) + + + + toml::time_offset + structtoml_1_1time__offset.html + + + time_offset + structtoml_1_1time__offset.html + a49af2cb136f213443f15e108657f5f0e + () noexcept=default + + + constexpr + time_offset + structtoml_1_1time__offset.html + a9e963488f164473ee9af35ddf7d4f93e + (H h, M m) noexcept + + + int16_t + minutes + structtoml_1_1time__offset.html + a2f4cd0259300e318defc0c5efde592dd + + + + constexpr friend bool + operator== + structtoml_1_1time__offset.html + ad9423ee067d0a4c0ba39deb2679a07f6 + (time_offset lhs, time_offset rhs) noexcept + + + constexpr friend bool + operator!= + structtoml_1_1time__offset.html + a77e5bb056ffcd6a91b1740333f23b806 + (time_offset lhs, time_offset rhs) noexcept + + + constexpr friend bool + operator< + structtoml_1_1time__offset.html + afe1582662b6922546524d14c1588cf9d + (time_offset lhs, time_offset rhs) noexcept + + + constexpr friend bool + operator<= + structtoml_1_1time__offset.html + a4a0886d9ad65963a4e812576ba0c6928 + (time_offset lhs, time_offset rhs) noexcept + + + constexpr friend bool + operator> + structtoml_1_1time__offset.html + aa5270a5c11af2a9344d2c20911643429 + (time_offset lhs, time_offset rhs) noexcept + + + constexpr friend bool + operator>= + structtoml_1_1time__offset.html + a0146123daf63c677b2559aaf9bda1338 + (time_offset lhs, time_offset rhs) noexcept + + + friend std::ostream & + operator<< + structtoml_1_1time__offset.html + ac87df01b4e60bd303d75712470517451 + (std::ostream &lhs, const time_offset &rhs) + + + + toml::toml_formatter + classtoml_1_1toml__formatter.html + + + toml_formatter + classtoml_1_1toml__formatter.html + a8110aaa1057d7633428f6795ac14983a + (const toml::node &source, format_flags flags=default_flags) noexcept + + + + toml_formatter + classtoml_1_1toml__formatter.html + a3af0ca99139edbd30845a5cd7d2c0137 + (const toml::parse_result &result, format_flags flags=default_flags) noexcept + + + static constexpr format_flags + default_flags + classtoml_1_1toml__formatter.html + a0aa00006896f1b23e8bb2ec1a6842845 + + + + friend std::ostream & + operator<< + classtoml_1_1toml__formatter.html + a50815f484095776407f34b1694bbf73e + (std::ostream &lhs, toml_formatter &rhs) + + + friend std::ostream & + operator<< + classtoml_1_1toml__formatter.html + af02b5eabe1e84be843255c7cf02e8dda + (std::ostream &lhs, toml_formatter &&rhs) + + + + toml::value + classtoml_1_1value.html + + toml::node + + ValueType + value_type + classtoml_1_1value.html + ad87b8c7ec465c424b861aba2d4cd5526 + + + + POXY_IMPLEMENTATION_DETAIL_IMPL + value_arg + classtoml_1_1value.html + ac1316850f0671bab2505d126570e3660 + + + + + value + classtoml_1_1value.html + ab7aa8ba30bd6ead7db1e9cadbff39e22 + (Args &&... args) noexcept(noexcept(value_type(impl::native_value_maker< value_type, std::decay_t< Args >... >::make(static_cast< Args && >(args)...)))) + + + + value + classtoml_1_1value.html + a62ace5d37c6cf09fdc589efa5e0a0905 + (const value &other) noexcept + + + + value + classtoml_1_1value.html + a65e6e8fa27455d83ad3ada020e11cf91 + (const value &other, value_flags flags) noexcept + + + + value + classtoml_1_1value.html + adfb0250a9769fea9d585609db77bc64a + (value &&other) noexcept + + + + value + classtoml_1_1value.html + a5f6f5a83b2dc3f5842f7fd5fbc0e4f59 + (value &&other, value_flags flags) noexcept + + + value & + operator= + classtoml_1_1value.html + a339731a8213b5e0993b5547067fde1f7 + (const value &rhs) noexcept + + + value & + operator= + classtoml_1_1value.html + a958da7aae3ff90094e348ebceaa4aa5d + (value &&rhs) noexcept + + + value & + operator= + classtoml_1_1value.html + a08950deffd1a5568154d58d27517c973 + (value_arg rhs) noexcept + + + node_type + type + classtoml_1_1value.html + a69ed0d45e2de5929fea3375cd68960eb + () const noexcept final + + + bool + is_homogeneous + classtoml_1_1value.html + a66f31db0fe4aa1a65fff1ce3bb8be1eb + (node_type ntype) const noexcept final + + + bool + is_homogeneous + classtoml_1_1value.html + a5097925569d4e2f581907dc692aefe02 + (node_type ntype, node *&first_nonmatch) noexcept final + + + bool + is_homogeneous + classtoml_1_1value.html + a40d4ea2ff0d393245fc31dfc6a0f27fb + (node_type ntype, const node *&first_nonmatch) const noexcept final + + + bool + is_table + classtoml_1_1value.html + a4169ed284f3a6d31e838f117dc2f3df0 + () const noexcept final + + + bool + is_array + classtoml_1_1value.html + a160b4dd33afd4d8c02b1a4c7bc48f17f + () const noexcept final + + + bool + is_array_of_tables + classtoml_1_1value.html + a6676776ebf94891825c658432252cab0 + () const noexcept final + + + bool + is_value + classtoml_1_1value.html + a5d1d988a74ab5c6e6cae9706891083f3 + () const noexcept final + + + bool + is_string + classtoml_1_1value.html + a98d477b7ee151d7fc68c49ea7c52a314 + () const noexcept final + + + bool + is_integer + classtoml_1_1value.html + ad5b1844c180a0fb2de06ed4cdbb259a4 + () const noexcept final + + + bool + is_floating_point + classtoml_1_1value.html + aa5b3aac577c60b24f31550f8b7add69f + () const noexcept final + + + bool + is_number + classtoml_1_1value.html + ad40ad64d9a8f0256e550a9226dbed121 + () const noexcept final + + + bool + is_boolean + classtoml_1_1value.html + a6816cd2fbae35e21990d3d5616da595a + () const noexcept final + + + bool + is_date + classtoml_1_1value.html + a47ebc97c4b51999c81eb053d453ac916 + () const noexcept final + + + bool + is_time + classtoml_1_1value.html + a9a1a2e0a15181c6677d14a2812e34878 + () const noexcept final + + + bool + is_date_time + classtoml_1_1value.html + a1e8fb6a37f65fff99a631ade34ab6db4 + () const noexcept final + + + table * + as_table + classtoml_1_1value.html + a684976e4e2ea671e7bd21c39a4f73575 + () noexcept final + + + array * + as_array + classtoml_1_1value.html + a5e2f5338ace567ec7bc755885b793c01 + () noexcept final + + + value< std::string > * + as_string + classtoml_1_1value.html + a9a7177395eb559e2ed2c117832dace2a + () noexcept final + + + value< int64_t > * + as_integer + classtoml_1_1value.html + a170f66cced91fc2886c22df7d45f8f73 + () noexcept final + + + value< double > * + as_floating_point + classtoml_1_1value.html + ab95947fa235b163c138d925425035059 + () noexcept final + + + value< bool > * + as_boolean + classtoml_1_1value.html + ab06706bf668f496a6d24d6891b34b464 + () noexcept final + + + value< date > * + as_date + classtoml_1_1value.html + afd03f397e42e97c8c3e045c4b19b609e + () noexcept final + + + value< time > * + as_time + classtoml_1_1value.html + a4314057128266b74095454cca743a27d + () noexcept final + + + value< date_time > * + as_date_time + classtoml_1_1value.html + a49cf272fa0f71b73938df7ddffcc8b1c + () noexcept final + + + const table * + as_table + classtoml_1_1value.html + a8b5c3b02c365287e9b563dbe11c7172c + () const noexcept final + + + const array * + as_array + classtoml_1_1value.html + a5d7017fd9eec74756496960956a92d6a + () const noexcept final + + + const value< std::string > * + as_string + classtoml_1_1value.html + a316fa5b1b2764447c8d51c38071f79c1 + () const noexcept final + + + const value< int64_t > * + as_integer + classtoml_1_1value.html + aac0acf026dfb903349ce49321153f55d + () const noexcept final + + + const value< double > * + as_floating_point + classtoml_1_1value.html + af2a3d05b2ef1ff57291d3d4c660b86d6 + () const noexcept final + + + const value< bool > * + as_boolean + classtoml_1_1value.html + a3a81671d39b75363ba7c2b3fd6b7644a + () const noexcept final + + + const value< date > * + as_date + classtoml_1_1value.html + a40247e128f2ffdb5386ee41b2a84b52d + () const noexcept final + + + const value< time > * + as_time + classtoml_1_1value.html + a725874485bb19ade041deb8869bff6d5 + () const noexcept final + + + const value< date_time > * + as_date_time + classtoml_1_1value.html + ad297cd1ba10960e125e5a0c75ea51ff4 + () const noexcept final + + + value_type & + get + classtoml_1_1value.html + af607a8347e5918b35fcfb11e8f7d4398 + () &noexcept + + + value_type && + get + classtoml_1_1value.html + a0b4ea781b83a3c164df24129d0e73341 + () &&noexcept + + + const value_type & + get + classtoml_1_1value.html + a3a0ec9ea9604d68ba9a9a4692868f8d8 + () const &noexcept + + + const value_type && + get + classtoml_1_1value.html + ae3bb95e7af4622ded16328b827a6089d + () const &&noexcept + + + value_type & + operator* + classtoml_1_1value.html + a054c1fb796a4e560d4afb27019bb1aef + () &noexcept + + + value_type && + operator* + classtoml_1_1value.html + a64ad94a1086eedde1a94f12f020498d2 + () &&noexcept + + + const value_type & + operator* + classtoml_1_1value.html + a15e56286d17f11a4d567eaddb36368f8 + () const &noexcept + + + const value_type && + operator* + classtoml_1_1value.html + a752f50ec7dac91b579e48db6a15f388e + () const &&noexcept + + + + operator value_type & + classtoml_1_1value.html + adaf04b51fea2bdc3da39fbf63c240b3b + () &noexcept + + + + operator value_type && + classtoml_1_1value.html + ad5d4a1c818d7004bc4c42219edf84dd9 + () &&noexcept + + + + operator const value_type & + classtoml_1_1value.html + aeaa7f385c753bc7f11f0758d8ae325b6 + () const &noexcept + + + + operator const value_type && + classtoml_1_1value.html + aef9bb783e7c8ba475838742b7cfc3178 + () &&noexcept + + + value_type * + operator-> + classtoml_1_1value.html + a79983137e697848cb82a95b265b03d4d + () noexcept + + + const value_type * + operator-> + classtoml_1_1value.html + a23ab1c59bf4ec4bc19b6fa3fcf399171 + () const noexcept + + + value_flags + flags + classtoml_1_1value.html + a1a213908a7297491a07e647967897fcb + () const noexcept + + + value & + flags + classtoml_1_1value.html + a4311828058d75bfaa2c01c3395d09385 + (value_flags new_flags) noexcept + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + aef68f74119416a0a6d0a62f0f7d8d4ea + (const toml::path &path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + afbd39cca3959da4a1d8e1d220b6abe83 + (const toml::path &path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + node_view< node > + operator[] + classtoml_1_1node.html + a8c3214e47f056a3a9bcdb66edd7fa97f + (const toml::path &path) noexcept + + + node_view< const node > + operator[] + classtoml_1_1node.html + a2276f2cac96c095b4e4645ca5bebe0f9 + (const toml::path &path) const noexcept + + + friend std::ostream & + operator<< + classtoml_1_1value.html + ae160ab8204a4ed57dac2ad6c5aebb683 + (std::ostream &lhs, const value &rhs) + + + friend bool + operator== + classtoml_1_1value.html + a0b90e4f85ecaf2c81e4ba8b42aa5ce34 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a1771aa33bd2d425b542d0b9d0e90866d + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a6bbe09942bd6046fa94addb911940491 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + a7d02565c608c663afc8f3d2102639740 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + a2f37f69d3e477c0c2e2ba16f6919815e + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + ace8c00e345c69ee93e5d2bd2df694340 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + af200f2be4273ed0923743f4b918f86e6 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a80417b5055072f20d3a6985d1b78af21 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a727e2acd21edf04a144918d174706ba6 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator== + classtoml_1_1value.html + a2fa446100047d052d0cca2c1f3f60085 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1value.html + a872e565adfbcd201f2ab1e3103699758 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a7fdc4f87f9ec3efb896cc3e09694328b + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + ac6af15f59d537d95d1afe887b12b697e + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + ab95d07a7f48e44baefbacbf5f6072837 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a0ebdea821d98546de4b686f450506637 + (const value &lhs, const value< T > &rhs) noexcept + + + node_type + type + classtoml_1_1value.html + a69ed0d45e2de5929fea3375cd68960eb + () const noexcept final + + + bool + is_homogeneous + classtoml_1_1value.html + a66f31db0fe4aa1a65fff1ce3bb8be1eb + (node_type ntype) const noexcept final + + + bool + is_homogeneous + classtoml_1_1value.html + a5097925569d4e2f581907dc692aefe02 + (node_type ntype, node *&first_nonmatch) noexcept final + + + bool + is_homogeneous + classtoml_1_1value.html + a40d4ea2ff0d393245fc31dfc6a0f27fb + (node_type ntype, const node *&first_nonmatch) const noexcept final + + + bool + is_table + classtoml_1_1value.html + a4169ed284f3a6d31e838f117dc2f3df0 + () const noexcept final + + + bool + is_array + classtoml_1_1value.html + a160b4dd33afd4d8c02b1a4c7bc48f17f + () const noexcept final + + + bool + is_array_of_tables + classtoml_1_1value.html + a6676776ebf94891825c658432252cab0 + () const noexcept final + + + bool + is_value + classtoml_1_1value.html + a5d1d988a74ab5c6e6cae9706891083f3 + () const noexcept final + + + bool + is_string + classtoml_1_1value.html + a98d477b7ee151d7fc68c49ea7c52a314 + () const noexcept final + + + bool + is_integer + classtoml_1_1value.html + ad5b1844c180a0fb2de06ed4cdbb259a4 + () const noexcept final + + + bool + is_floating_point + classtoml_1_1value.html + aa5b3aac577c60b24f31550f8b7add69f + () const noexcept final + + + bool + is_number + classtoml_1_1value.html + ad40ad64d9a8f0256e550a9226dbed121 + () const noexcept final + + + bool + is_boolean + classtoml_1_1value.html + a6816cd2fbae35e21990d3d5616da595a + () const noexcept final + + + bool + is_date + classtoml_1_1value.html + a47ebc97c4b51999c81eb053d453ac916 + () const noexcept final + + + bool + is_time + classtoml_1_1value.html + a9a1a2e0a15181c6677d14a2812e34878 + () const noexcept final + + + bool + is_date_time + classtoml_1_1value.html + a1e8fb6a37f65fff99a631ade34ab6db4 + () const noexcept final + + + table * + as_table + classtoml_1_1value.html + a684976e4e2ea671e7bd21c39a4f73575 + () noexcept final + + + array * + as_array + classtoml_1_1value.html + a5e2f5338ace567ec7bc755885b793c01 + () noexcept final + + + value< std::string > * + as_string + classtoml_1_1value.html + a9a7177395eb559e2ed2c117832dace2a + () noexcept final + + + value< int64_t > * + as_integer + classtoml_1_1value.html + a170f66cced91fc2886c22df7d45f8f73 + () noexcept final + + + value< double > * + as_floating_point + classtoml_1_1value.html + ab95947fa235b163c138d925425035059 + () noexcept final + + + value< bool > * + as_boolean + classtoml_1_1value.html + ab06706bf668f496a6d24d6891b34b464 + () noexcept final + + + value< date > * + as_date + classtoml_1_1value.html + afd03f397e42e97c8c3e045c4b19b609e + () noexcept final + + + value< time > * + as_time + classtoml_1_1value.html + a4314057128266b74095454cca743a27d + () noexcept final + + + value< date_time > * + as_date_time + classtoml_1_1value.html + a49cf272fa0f71b73938df7ddffcc8b1c + () noexcept final + + + const table * + as_table + classtoml_1_1value.html + a8b5c3b02c365287e9b563dbe11c7172c + () const noexcept final + + + const array * + as_array + classtoml_1_1value.html + a5d7017fd9eec74756496960956a92d6a + () const noexcept final + + + const value< std::string > * + as_string + classtoml_1_1value.html + a316fa5b1b2764447c8d51c38071f79c1 + () const noexcept final + + + const value< int64_t > * + as_integer + classtoml_1_1value.html + aac0acf026dfb903349ce49321153f55d + () const noexcept final + + + const value< double > * + as_floating_point + classtoml_1_1value.html + af2a3d05b2ef1ff57291d3d4c660b86d6 + () const noexcept final + + + const value< bool > * + as_boolean + classtoml_1_1value.html + a3a81671d39b75363ba7c2b3fd6b7644a + () const noexcept final + + + const value< date > * + as_date + classtoml_1_1value.html + a40247e128f2ffdb5386ee41b2a84b52d + () const noexcept final + + + const value< time > * + as_time + classtoml_1_1value.html + a725874485bb19ade041deb8869bff6d5 + () const noexcept final + + + const value< date_time > * + as_date_time + classtoml_1_1value.html + ad297cd1ba10960e125e5a0c75ea51ff4 + () const noexcept final + + + value_type & + get + classtoml_1_1value.html + af607a8347e5918b35fcfb11e8f7d4398 + () &noexcept + + + value_type && + get + classtoml_1_1value.html + a0b4ea781b83a3c164df24129d0e73341 + () &&noexcept + + + const value_type & + get + classtoml_1_1value.html + a3a0ec9ea9604d68ba9a9a4692868f8d8 + () const &noexcept + + + const value_type && + get + classtoml_1_1value.html + ae3bb95e7af4622ded16328b827a6089d + () const &&noexcept + + + value_type & + operator* + classtoml_1_1value.html + a054c1fb796a4e560d4afb27019bb1aef + () &noexcept + + + value_type && + operator* + classtoml_1_1value.html + a64ad94a1086eedde1a94f12f020498d2 + () &&noexcept + + + const value_type & + operator* + classtoml_1_1value.html + a15e56286d17f11a4d567eaddb36368f8 + () const &noexcept + + + const value_type && + operator* + classtoml_1_1value.html + a752f50ec7dac91b579e48db6a15f388e + () const &&noexcept + + + + operator value_type & + classtoml_1_1value.html + adaf04b51fea2bdc3da39fbf63c240b3b + () &noexcept + + + + operator value_type && + classtoml_1_1value.html + ad5d4a1c818d7004bc4c42219edf84dd9 + () &&noexcept + + + + operator const value_type & + classtoml_1_1value.html + aeaa7f385c753bc7f11f0758d8ae325b6 + () const &noexcept + + + + operator const value_type && + classtoml_1_1value.html + aef9bb783e7c8ba475838742b7cfc3178 + () &&noexcept + + + value_type * + operator-> + classtoml_1_1value.html + a79983137e697848cb82a95b265b03d4d + () noexcept + + + const value_type * + operator-> + classtoml_1_1value.html + a23ab1c59bf4ec4bc19b6fa3fcf399171 + () const noexcept + + + value_flags + flags + classtoml_1_1value.html + a1a213908a7297491a07e647967897fcb + () const noexcept + + + value & + flags + classtoml_1_1value.html + a4311828058d75bfaa2c01c3395d09385 + (value_flags new_flags) noexcept + + + bool + is_homogeneous + classtoml_1_1node.html + a7d2b7360a2ea44282890e1ded3d3946a + () const noexcept + + + bool + is + classtoml_1_1node.html + a03e1bbe1a0640953b7105fe40c733118 + () const noexcept + + + impl::wrap_node< T > * + as + classtoml_1_1node.html + aa818a12fc0212e5e416b38fcf103f899 + () noexcept + + + const impl::wrap_node< T > * + as + classtoml_1_1node.html + a21d7481eabdf0eaedb91ddeefa950cc1 + () const noexcept + + + optional< T > + value_exact + classtoml_1_1node.html + a1fd6d582bdadae6b104440aec7b6e383 + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + optional< T > + value + classtoml_1_1node.html + a0b717d136b8a8b6f142a56056a570fed + () const noexcept(impl::value_retrieval_is_nothrow< T >) + + + auto + value_or + classtoml_1_1node.html + ad1c332ae403fade90216726105419efc + (T &&default_value) const noexcept(impl::value_retrieval_is_nothrow< T >) + + + decltype(auto) + ref + classtoml_1_1node.html + a58fde40ef0b172d36bf293c251b25130 + () &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + aca651e7fe7f377fe958b20678d08ef14 + () &&noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a9794ed57d952d8293ed3278a11e54ca2 + () const &noexcept + + + decltype(auto) + ref + classtoml_1_1node.html + a937af29dc15ef8e1af7950d925341cc3 + () const &&noexcept + + + const source_region & + source + classtoml_1_1node.html + aa378fa343dab7d7bdb4073570dba5fdc + () const noexcept + + + decltype(auto) + visit + classtoml_1_1node.html + ad47390f3832260db7bf06cd282598240 + (Func &&visitor) &noexcept(visit_is_nothrow< Func &&, node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + a371a03c4b91cfbb8d9ee785c1eacf836 + (Func &&visitor) &&noexcept(visit_is_nothrow< Func &&, node && >) + + + decltype(auto) + visit + classtoml_1_1node.html + ad4a42e50f923b0fe1efff0a6719dab90 + (Func &&visitor) const &noexcept(visit_is_nothrow< Func &&, const node & >) + + + decltype(auto) + visit + classtoml_1_1node.html + ac387cb04111addc0c291ecdd6f299666 + (Func &&visitor) const &&noexcept(visit_is_nothrow< Func &&, const node && >) + + + + operator node_view< node > + classtoml_1_1node.html + a04d800d6ec9342d2ee2a364f05317573 + () noexcept + + + + operator node_view< const node > + classtoml_1_1node.html + ac7d6979c7246d7faee8ca48aadfcee68 + () const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a20a0cfac8f31649544db5d9eead609f9 + (std::string_view path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + acf55d2ffe0c31b6a8507fb1265444be2 + (std::string_view path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + aef68f74119416a0a6d0a62f0f7d8d4ea + (const toml::path &path) noexcept + + + node_view< const node > + at_path + classtoml_1_1node.html + afbd39cca3959da4a1d8e1d220b6abe83 + (const toml::path &path) const noexcept + + + node_view< node > + at_path + classtoml_1_1node.html + a9b4d952e01bd2fafe7c307d61d4a247f + (std::wstring_view path) + + + node_view< const node > + at_path + classtoml_1_1node.html + aca7e24cd0070ce226defd71eb501c4cd + (std::wstring_view path) const + + + node_view< node > + operator[] + classtoml_1_1node.html + a8c3214e47f056a3a9bcdb66edd7fa97f + (const toml::path &path) noexcept + + + node_view< const node > + operator[] + classtoml_1_1node.html + a2276f2cac96c095b4e4645ca5bebe0f9 + (const toml::path &path) const noexcept + + + friend bool + operator== + classtoml_1_1value.html + a0b90e4f85ecaf2c81e4ba8b42aa5ce34 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a1771aa33bd2d425b542d0b9d0e90866d + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a6bbe09942bd6046fa94addb911940491 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + a7d02565c608c663afc8f3d2102639740 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + a2f37f69d3e477c0c2e2ba16f6919815e + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + ace8c00e345c69ee93e5d2bd2df694340 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + af200f2be4273ed0923743f4b918f86e6 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a80417b5055072f20d3a6985d1b78af21 + (const value &lhs, value_arg rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a727e2acd21edf04a144918d174706ba6 + (value_arg lhs, const value &rhs) noexcept + + + friend bool + operator== + classtoml_1_1value.html + a2fa446100047d052d0cca2c1f3f60085 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator!= + classtoml_1_1value.html + a872e565adfbcd201f2ab1e3103699758 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator< + classtoml_1_1value.html + a7fdc4f87f9ec3efb896cc3e09694328b + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator<= + classtoml_1_1value.html + ac6af15f59d537d95d1afe887b12b697e + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator> + classtoml_1_1value.html + ab95d07a7f48e44baefbacbf5f6072837 + (const value &lhs, const value< T > &rhs) noexcept + + + friend bool + operator>= + classtoml_1_1value.html + a0ebdea821d98546de4b686f450506637 + (const value &lhs, const value< T > &rhs) noexcept + + + + toml::yaml_formatter + classtoml_1_1yaml__formatter.html + + + yaml_formatter + classtoml_1_1yaml__formatter.html + a0089cdd517d9f6641ed10c8ddb5b1c11 + (const toml::node &source, format_flags flags=default_flags) noexcept + + + + yaml_formatter + classtoml_1_1yaml__formatter.html + a2eb50c4983f7ec26a417befeface23bf + (const toml::parse_result &result, format_flags flags=default_flags) noexcept + + + static constexpr format_flags + default_flags + classtoml_1_1yaml__formatter.html + af161f0a6c794945e85b210ee85cb78e9 + + + + friend std::ostream & + operator<< + classtoml_1_1yaml__formatter.html + a10b0c89256eb2ab4ea2b4e23f8ad8eff + (std::ostream &lhs, yaml_formatter &rhs) + + + friend std::ostream & + operator<< + classtoml_1_1yaml__formatter.html + a50d463617bccb66a9cdf01390321bd47 + (std::ostream &lhs, yaml_formatter &&rhs) + + + + toml + namespacetoml.html + toml::literals + toml::array + toml::date + toml::time + toml::time_offset + toml::date_time + toml::inserter + toml::json_formatter + toml::key + toml::node + toml::node_view + toml::parse_error + toml::parse_result + toml::path_component + toml::path + toml::source_position + toml::source_region + toml::table + toml::toml_formatter + toml::value + toml::yaml_formatter + + POXY_IMPLEMENTATION_DETAIL_IMPL + array_iterator + namespacetoml.html + ac7e383cde1b8d61dba45292b2b0fcb69 + + + + POXY_IMPLEMENTATION_DETAIL_IMPL + const_array_iterator + namespacetoml.html + aeba9fe3a193c8b641a1fb3a2096d7c13 + + + + toml_formatter + default_formatter + namespacetoml.html + a2b87b5d257f54773683328031f453e76 + + + + POXY_IMPLEMENTATION_DETAIL_IMPL + inserted_type_of + namespacetoml.html + aef1f0bbcdd3686e268f4b81d9da701be + + + + uint32_t + source_index + namespacetoml.html + afb852fa22a8b3ea9d200d645b9d5c308 + + + + std::shared_ptr< const std::string > + source_path_ptr + namespacetoml.html + ac6cf446b480546ae1f71f5b86442368d + + + + std::optional< T > + optional + namespacetoml.html + af34a9fb3305e419784104609e6bbb7ac + + + + POXY_IMPLEMENTATION_DETAIL_IMPL + table_iterator + namespacetoml.html + a19243ec6febf1bb834ea9e366405e317 + + + + POXY_IMPLEMENTATION_DETAIL_IMPL + const_table_iterator + namespacetoml.html + a4bccd753f54404e0097457514177fcbb + + + + + node_type + namespacetoml.html + abac3e84bbf1f2c90717fca107055f48d + + none + table + array + string + integer + floating_point + boolean + date + time + date_time + + + + value_flags + namespacetoml.html + a73eba6a34e7c7c4a4d311100800e1bb5 + + none + format_as_binary + format_as_octal + format_as_hexadecimal + + + + format_flags + namespacetoml.html + a2102aa80bc57783d96180f36e1f64f6a + + none + quote_dates_and_times + quote_infinities_and_nans + allow_literal_strings + allow_multi_line_strings + allow_real_tabs_in_strings + allow_unicode_strings + allow_binary_integers + allow_octal_integers + allow_hexadecimal_integers + indent_sub_tables + indent_array_elements + indentation + relaxed_float_precision + terse_key_value_pairs + + + + path_component_type + namespacetoml.html + a05daf3902d4363b06fb467a3292c0bc5 + + key + array_index + + + node_view< node > + at_path + namespacetoml.html + a034ab5f50d46f89dcaf871a788d56be9 + (node &root, std::string_view path) noexcept + + + node_view< const node > + at_path + namespacetoml.html + acecea9874ff621405e1c3f38433ba56d + (const node &root, std::string_view path) noexcept + + + node_view< node > + at_path + namespacetoml.html + a6355193bb51dc19b1f1509c6dac46b23 + (node &root, std::wstring_view path) + + + node_view< const node > + at_path + namespacetoml.html + aef2c5186913edbd8daf4a3d525fa5333 + (const node &root, std::wstring_view path) + + + std::basic_ostream< Char > & + operator<< + namespacetoml.html + aba6195d5e83ab18f30c9a211384e2c1a + (std::basic_ostream< Char > &lhs, node_type rhs) + + + parse_result + parse + namespacetoml.html + ada8654fb4ceef15c20fc1d5e0cc734dd + (std::string_view doc, std::string_view source_path={}) + + + parse_result + parse + namespacetoml.html + a20fa3e08d72759083fb17c772a357043 + (std::string_view doc, std::string &&source_path) + + + parse_result + parse_file + namespacetoml.html + a8dbc58dad43c3b66f4476a7131f5741a + (std::string_view file_path) + + + parse_result + parse + namespacetoml.html + ae9ee4300ddfbd72b7237283ab8d97618 + (std::u8string_view doc, std::string_view source_path={}) + + + parse_result + parse + namespacetoml.html + a02a2724564149ad8439c0457357308b8 + (std::u8string_view doc, std::string &&source_path) + + + parse_result + parse_file + namespacetoml.html + acdbabd4b771d221fe98b0053d848d69d + (std::u8string_view file_path) + + + parse_result + parse + namespacetoml.html + a01565f26a7982d162949bac3b554a334 + (std::string_view doc, std::wstring_view source_path) + + + parse_result + parse + namespacetoml.html + ac7767943620762c22b6341dc6682cc2d + (std::istream &doc, std::wstring_view source_path) + + + parse_result + parse_file + namespacetoml.html + ad425af491341206589ca6acc37c3b19e + (std::wstring_view file_path) + + + parse_result + parse + namespacetoml.html + a38852451309f406db281f17334ea8dfe + (std::u8string_view doc, std::wstring_view source_path) + + + parse_result + parse + namespacetoml.html + a2ee84ffccded737ab40afcb8122d8277 + (std::istream &doc, std::string_view source_path={}) + + + parse_result + parse + namespacetoml.html + a8079e71bd86722701ca91828c6709305 + (std::istream &doc, std::string &&source_path) + + + node_view< node > + at_path + namespacetoml.html + a5a5b291fdf3ecb9ad8bef4d6e689c402 + (node &root, const toml::path &path) noexcept + + + node_view< const node > + at_path + namespacetoml.html + aaf452c3c4696e20eeabd11669db66a9e + (const node &root, const toml::path &path) noexcept + + + constexpr value_flags + preserve_source_value_flags + namespacetoml.html + a32f700b152e15c357801e905d626a4fb + + + + constexpr bool + is_table + namespacetoml.html + ad11c8c8a8286d6931e40658679aa7ddb + + + + constexpr bool + is_array + namespacetoml.html + a2251b703f3ec4d1a3036c82ead3d69cc + + + + constexpr bool + is_container + namespacetoml.html + ad6c6e1677e1cc564d40efa89af2514a2 + + + + constexpr bool + is_string + namespacetoml.html + aea14621807afe92a840d82c7139cde07 + + + + constexpr bool + is_integer + namespacetoml.html + a513bdc4a19071f0be70e92bb6cb1a1a3 + + + + constexpr bool + is_floating_point + namespacetoml.html + a1aaaa0e264cdd4f43518571f2f61ac36 + + + + constexpr bool + is_number + namespacetoml.html + a64ce7ed6974d2b17823565bc67c40873 + + + + constexpr bool + is_boolean + namespacetoml.html + a8e79820651cc9a835082cf9abd47d885 + + + + constexpr bool + is_date + namespacetoml.html + a3c5daa4563e3aff2b5e6460aa97d28df + + + + constexpr bool + is_time + namespacetoml.html + a87aee32768a32bb838150421e4e3cf97 + + + + constexpr bool + is_date_time + namespacetoml.html + a3285caf012789a607851026f9827a33d + + + + constexpr bool + is_chronological + namespacetoml.html + a7f8764060ca7dccb7e829f67d82c0485 + + + + constexpr bool + is_value + namespacetoml.html + a0d9cd265e448130b95305ccd68d2f508 + + + + constexpr bool + is_node + namespacetoml.html + a4e4126f63ba560963de095cd9bee0704 + + + + constexpr bool + is_node_view + namespacetoml.html + ab5b06dac8c1e0de9e06411917e10b618 + + + + constexpr bool + is_key + namespacetoml.html + a7b8ef907d9629d139a30d874b345b195 + + + + constexpr bool + is_key_or_convertible + namespacetoml.html + a052fafde71907ef3a8590ef7ec2455d8 + + + + + toml::literals + namespacetoml_1_1literals.html + + parse_result + operator""_toml + namespacetoml_1_1literals.html + a401530e560c2dc540729af01e10b2a74 + (const char *str, size_t len) + + + parse_result + operator""_toml + namespacetoml_1_1literals.html + abb2307d66538d0d43dd074040f83224c + (const char8_t *str, size_t len) + + + path + operator""_tpath + namespacetoml_1_1literals.html + ad406c84d960dd5bda91564f738f67d47 + (const char *str, size_t len) + + + + configuration + Library Configuration + group__configuration.html + + #define + TOML_CONFIG_HEADER + group__configuration.html + ga09204feb4a3ff5534623c2bd052dcec0 + + + + #define + TOML_HEADER_ONLY + group__configuration.html + ga8219bfd7e75587516385b6022b28abc2 + + + + #define + TOML_HEADER_ONLY + group__configuration.html + ga8219bfd7e75587516385b6022b28abc2 + + + + #define + TOML_IMPLEMENTATION + group__configuration.html + ga27ee69835a1ddff9dbaf3015b4b08a11 + + + + #define + TOML_EXPORTED_CLASS + group__configuration.html + ga3d7aebf91431575688d573f09a17559a + + + + #define + TOML_EXPORTED_MEMBER_FUNCTION + group__configuration.html + gadf515bb7a6b8ce6b14bf86c8961a63cb + + + + #define + TOML_EXPORTED_STATIC_FUNCTION + group__configuration.html + ga8436c6f378c73f3446a3b6f1e2c5e81c + + + + #define + TOML_EXPORTED_FREE_FUNCTION + group__configuration.html + gac40a454cde06de4e76df3d6d460a3544 + + + + #define + TOML_ENABLE_UNRELEASED_FEATURES + group__configuration.html + ga1110ff7d189a7738b9109d120f568b6b + + + + #define + TOML_ENABLE_PARSER + group__configuration.html + ga121912d75d4624de6ab6854e41d8a852 + + + + #define + TOML_ENABLE_FORMATTERS + group__configuration.html + ga9fc77582d9de77f59d2ddc9ae1f748ca + + + + #define + TOML_ENABLE_WINDOWS_COMPAT + group__configuration.html + ga94867db67c98e0e9d4fbb70690951fbf + + + + #define + TOML_OPTIONAL_TYPE + group__configuration.html + ga9c2c03f867eb6d76a5f65b06eeb1186e + + + + #define + TOML_EXCEPTIONS + group__configuration.html + ga93097ecd88ca4bca393f60a78bda643b + + + + #define + TOML_CALLCONV + group__configuration.html + ga2bfc7ae4747f15378d92249aadce019e + + + + #define + TOML_SMALL_FLOAT_TYPE + group__configuration.html + ga11a3368da40938a6b5cfd898320706f7 + + + + #define + TOML_ASSERT + group__configuration.html + ga8c407a8f6fe52a795db35be3f00393f8 + (expr) + + + #define + TOML_SMALL_INT_TYPE + group__configuration.html + ga0722fa2c57da6360c7f2ba08c60e1a81 + + + + #define + TOML_ENABLE_FLOAT16 + group__configuration.html + ga56ab81041897681ac38ceba52a380b97 + + + + + poxy_changelog + Changelog + poxy_changelog.html + + + index + toml++ + index.html + mainpage-features + mainpage-api-documentation + mainpage-example + mainpage-example-parsing-files + mainpage-example-parsing-strings + mainpage-example-parsing-without-exceptions + mainpage-example-custom-error-formatting + mainpage-example-manipulations + mainpage-example-serialization + mainpage-example-speed-up-compilation + mainpage-adding-lib + mainpage-adding-lib-old-school + mainpage-adding-lib-conan + mainpage-adding-lib-dds + mainpage-adding-lib-meson + mainpage-adding-lib-tipi + mainpage-adding-lib-vcpkg + mainpage-adding-lib-cmake-fetch-content + mainpage-adding-lib-git-submodules + mainpage-adding-lib-other + mainpage-adding-lib-python + mainpage-configuration + mainpage-contributing + mainpage-license + mainpage-contact + +